JSPM

  • Created
  • Published
  • Downloads 2876
  • Score
    100M100P100Q114411F
  • License MIT

A construct for working with RDS SQL servers

Package Exports

  • @matthewbonig/rds-tools
  • @matthewbonig/rds-tools/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@matthewbonig/rds-tools) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

RDS Tools


cdk-constructs: Developer Preview

The APIs of higher level constructs in this module are in developer preview before they become stable. We will only make breaking changes to address unforeseen API issues. Therefore, these APIs are not subject to Semantic Versioning, and breaking changes will be announced in release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.


There are multiple versions of this library published. You should be using the v0.X.X versions for now. There are versions published that match the CDK version they depend on, but don't use those.

This is a collection of CDK constructs you can use with RDS.

Developer Preview

DatabaseScript

Provides a Custom Resource and backing Lambda Function that will run a given script against a given database.

const databaseInstance = new DatabaseInstance(stack, 'test-database', {
  engine: DatabaseInstanceEngine.sqlServerWeb({ version: SqlServerEngineVersion.VER_15_00_4043_16_V1 }),
  vpc: vpc,
});


const databaseScript = new DatabaseScript(stack2, 'test', {
  databaseInstance,
  script: 'SELECT 1',
})

// Allow the script to connect to the database
databaseInstance.connections.allowDefaultPortFrom(databaseScript);

// Make sure the script runs after the database is created
databaseScript.node.addDependency(databaseInstance);

DatabaseUser

There was once a construct called DatabaseUser. However, it is better to use the standard code from the CDK directly:

const myUserSecret = new rds.DatabaseSecret(this, 'MyUserSecret', {
  username: 'myuser',
  masterSecret: instance.secret,
  excludeCharacters: '{}[]()\'"/\\', // defaults to the set " %+~`#$&*()|[]{}:;<>?!'/@\"\\"
});     
const myUserSecretAttached = myUserSecret.attach(instance); // Adds DB connections information in the secret
instance.addRotationMultiUser('MyUser', { // Add rotation using the multi user scheme
  secret: myUserSecretAttached,
});