Home
Softono

Cdk Time Bomb

Open source MIT TypeScript
41
Stars
7
Forks
22
Issues
3
Watchers
6 months
Last Commit

 About Cdk Time Bomb

Implode your AWS CDK Stack after set amount of time, save money, be happy!

Platforms

Web Self-hosted

Languages

TypeScript

Links

Need Help Installing Cdk Time Bomb?

We provide expert installation service for this software. Our team will install, configure, and secure Cdk Time Bomb on your server. plans start at just $30.

Cdk Time Bomb

View on GitHub

cdk-time-bomb

npm version PyPI Version Nuget

Implode your AWS CDK Stack after set amount of time, save money, be happy!

Usage

JavaScript / TypeScript

In your Typescipt / Javascript AWS CDK project, add the cdk-time-bomb module:

npm install cdk-time-bomb

Import the module and instantiate in your CDK Stack class. Specify a TTL Duration after which time the entire CloudFormation stack will self destroy:

import { SelfDestruct} from 'cdk-time-bomb';
const selfDestruct = new SelfDestruct(this, "selfDestructor", {
  timeToLive: Duration.minutes(60)
});

Be sure to add an ordering dependency on a high level base Construct in your stack. For example anchoring SelfDestruct to the Vpc ensures all resources in the stack will be destroyed prior to destroying itself.

const vpc = new ec2.Vpc(this, "VPC", {
});

vpc.node.addDependency(selfDestruct);

Python

Install using pip

pip install cdk-time-bomb

Java

Follow the guide for configuring maven for use with Github Packages. Then add the following to your project's pom.xml

<dependency>
  <groupId>jmb12686.cdk</groupId>
  <artifactId>timebomb</artifactId>
  <version>1.50.0</version>
</dependency>

How to build this construct

Due to the large amount of dependencies required by jsii, use the docker image udondan/jsii-publish to reliably and consistenly build this CDK construct.

docker run -it \
    --workdir /workdir \
    --volume $(pwd):/workdir \
    --env VERSION=0.3.0 \
    --env BUILD_SOURCE=true \
    --env BUILD_PACKAGES=true \
    --env NPM_TOKEN \
    --env PYPI_TOKEN \
    --env NUGET_TOKEN \
    --env GITHUB_TOKEN \
    --env GITHUB_REPOSITORY="${OWNER}/${REPOSITORY}" \
    udondan/jsii-publish:0.8.3