@gammarers/aws-rds-database-auto-running-protection-stack
v2.7.2
Published
This construct is aws rds database or cluster auto running to stop.
Readme
AWS RDS Database Auto Running Protection Stack
This constructor stack includes a function to automatically stop a database or cluster that will automatically start in 7 days.
[!WARNING] v2.1.0: Stack props add option resourceNamingOption default ResourceNamingType.DEFAULT is cdk generated name if you want to maintain compatibility with versions below
v2.1.0, please include the following settings (ResourceNamingType.AUTO).new RDSDatabaseAutoRunningProtectionStack(app, 'RDSDatabaseAutoRunningProtectionStack', { stackName: 'rds-database-auto-running-protection-stack', targetResource: { tagKey: 'AutoRunningProtection', tagValues: ['YES'], }, resourceNamingOption: { type: RDSDatabaseAutoRunningProtectionStackResourceNamingType.AUTO, // HERE }, });
Resources
This construct creating resource list.
- StepFunctions(StateMachine)
- IAM Role (StepFunctions)
- IAM Policy (StepFunctions)
- EventBridge
- IAM Role (EventBridge)
Install
TypeScript
install by npm
npm install @gammarers/aws-rds-database-auto-running-protection-stackinstall by yarn
yarn add @gammarers/aws-rds-database-auto-running-protection-stackinstall by pnpm
pnpm add @gammarers/aws-rds-database-auto-running-protection-stackinstall by bun
bun add @gammarers/aws-rds-database-auto-running-protection-stackPython
pip install gammarers.aws-rds-database-auto-running-protection-stackC# / .NET
dotnet add package Gammarers.CDK.AWS.RDSDatabaseAutoRunningProtectionStackExample
Code
import { RDSDatabaseAutoRunningProtectionStack } from '@gammarers/aws-rds-database-auto-running-protection-stack';
new RDSDatabaseAutoRunningProtectionStack(app, 'RDSDatabaseAutoRunningProtectionStack', {
stackName: 'rds-database-auto-running-protection-stack',
targetResource: {
tagKey: 'AutoRunningProtection',
tagValues: ['YES'],
},
resourceNamingOption: {
type: RDSDatabaseAutoRunningProtectionStackResourceNamingType.DEFAULT,
},
notifications: {
emails: [ // "Incoming Sample Message - EMAIL"
'[email protected]',
'[email protected]',
],
slack: { // "Incoming Sample Message - Slack"
webhookSecretName: 'example/slack/webhook', // Slack webhook secret
},
},
});Slack webhook secret
Please save it in AWS Secrets Manager in the following format.
get your slack webhook url parts
https://hooks.slack.com/services/<workspace>/<channel>/<whebook>| SecretKey | SecretValue | |-------------|-----------------| | Workspace | <workspace> | | Channel | <channel> | | Webhook | <whebook> |
Incoming Sample Message

Slack

License
This project is licensed under the Apache-2.0 License.
