Skip to content

Commit

Permalink
Added requested language changes
Browse files Browse the repository at this point in the history
  • Loading branch information
5herlocked committed Jun 20, 2024
1 parent 1fab32f commit 8d169df
Showing 1 changed file with 28 additions and 25 deletions.
53 changes: 28 additions & 25 deletions docs/resource-providers/rds-providers.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
# Relational Database Service Resource Providers

The relational database resource provider specifically tightly couples the lifetime of the RDS
Resources created with that of the EKS Cluster. It should only be used with a so-called management
cluster that governs the platform.
The relational database resource provider tightly couples the lifetime of the RDS resources with the cluster in the
blueprints. It should only be used in production with the centralized/management cluster pattern.

To prevent accidental deletion of data while rebuilding EKS clusters, the default retention policy
assigned to the RDS instances and clusters is `RetainPolicy.SNAPSHOT` which ensures that while
the cluster and database is being deleted, it is first backed-up and then deleted.
To prevent accidental deletion of data while rebuilding EKS clusters, the default retention policy assigned to the RDS
instances and clusters is `RetainPolicy.SNAPSHOT` which ensures that while the cluster and database is being deleted, it
is first backed-up and then deleted.

In the management cluster pattern, this resource provider is like resources provisioned with ACK
or Crossplane. Removal of the resource from the management cluster by default will drop such
resources as well.
In the management cluster pattern, this resource provider is like resources provisioned with ACK or Crossplane. Removal
of the resource from the management cluster by default will drop such resources as well.

### CreateRDSInstanceProvider

Creates an RDS Instance and make it available to the blueprint constructs with the provided name.

This method creates an RDS Instance with the database engine of your choice and in the VPC
included in the resource context or creates a VPC for you.
This method creates an RDS Instance with the database engine of your choice and in the VPC included in the resource
context or creates a VPC for you.

The `rdsProps` transparently exposes the underlying RDS Instance properties and will accept and pass them upstream to
the RDS instance method creating the database.

The `rdsProps` transparently exposes the underlying RDS Instance properties and will accept and
pass them upstream to the RDS instance method creating the database.
Example implementation without providing a custom VPC:

Example Implementation without providing a custom VPC:
```typescript
const stack = blueprints.EksBlueprint.builder()
.resourceProvider(
Expand All @@ -43,7 +43,8 @@ const stack = blueprints.EksBlueprint.builder()
.build(app, 'rds-instance-no-vpc');
```

Example Implementation while providing a custom VPC:
Example implementation while providing a custom VPC:

```typescript
const stack = blueprints.EksBlueprint.builder()
.resourceProvider(
Expand Down Expand Up @@ -74,23 +75,24 @@ const stack = blueprints.EksBlueprint.builder()
```

### CreateAuroraClusterProvider
Creates an RDS Aurora Cluster and makes it available to the blueprint constructs with the provided name.

This method creates an RDS Cluster with the database engine of your choice and in the VPC
included in the resource context or creates a VPC for you.
Creates an RDS Aurora Cluster and makes it available to the blueprint constructs with the provided name. This method
creates an RDS Cluster with the database engine of your choice and in the VPC included in the resource context or
creates a VPC for you.

The `rdsProps` transparently exposes the underlying RDS Cluster properties and will accept and
pass them upstream to the RDS cluster method creating the database.
We recommend using either Aurora Serverless or creating specific reader and writer instances.
The `rdsProps` transparently exposes the underlying RDS Cluster properties and will accept and pass them upstream to the
RDS cluster method creating the database. We recommend using either Aurora Serverless or creating specific reader and
writer instances.

Example implementation without providing a custom VPC:

Example Implementation without providing a custom VPC:
```typescript
const stack = blueprints.EksBlueprint.builder()
.resourceProvider(
GlobalResources.Rds,
new CreateAuroraClusterProvider({
clusterEngine: DatabaseClusterEngine.auroraPostgres(
{ version: AuroraPostgresEngineVersion.VER_14_6 }
{version: AuroraPostgresEngineVersion.VER_14_6}
),
name: "aurora-cluster-no-vpc"
})
Expand All @@ -100,7 +102,8 @@ const stack = blueprints.EksBlueprint.builder()
.build(app, 'aurora-cluster-no-vpc');
```

Example Implementation while providing a custom VPC:
Example implementation while providing a custom VPC:

```typescript
const stack = blueprints.EksBlueprint.builder()
.resourceProvider(
Expand All @@ -115,7 +118,7 @@ const stack = blueprints.EksBlueprint.builder()
GlobalResources.Rds,
new CreateAuroraClusterProvider({
clusterEngine: DatabaseClusterEngine.auroraPostgres(
{ version: AuroraPostgresEngineVersion.VER_14_6 }
{version: AuroraPostgresEngineVersion.VER_14_6}
),
name: "aurora-cluster-w-vpc"
})
Expand Down

0 comments on commit 8d169df

Please sign in to comment.