Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jmb12686/cdk-time-bomb
Implode your AWS CDK Stack after set amount of time, save money, be happy!
https://github.com/jmb12686/cdk-time-bomb
aws cdk infrastructure-as-code
Last synced: 12 days ago
JSON representation
Implode your AWS CDK Stack after set amount of time, save money, be happy!
- Host: GitHub
- URL: https://github.com/jmb12686/cdk-time-bomb
- Owner: jmb12686
- License: mit
- Created: 2020-05-10T01:43:11.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T05:27:25.000Z (almost 2 years ago)
- Last Synced: 2024-10-11T02:31:15.346Z (28 days ago)
- Topics: aws, cdk, infrastructure-as-code
- Language: TypeScript
- Size: 635 KB
- Stars: 39
- Watchers: 5
- Forks: 7
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cdk - cdk-time-bomb - CDK Construct that implodes your AWS CDK Stack after a set amount of time. (Construct Libraries / Ops)
- awesome-cdk - cdk-time-bomb - CDK Construct that implodes your AWS CDK Stack after a set amount of time. (Construct Libraries / Ops)
README
# cdk-time-bomb
[![npm version](https://badge.fury.io/js/cdk-time-bomb.svg)](https://badge.fury.io/js/cdk-time-bomb)
[![PyPI Version](https://badge.fury.io/py/cdk-time-bomb.svg)](https://badge.fury.io/py/cdk-time-bomb)
![Nuget](https://img.shields.io/nuget/v/cdk-time-bomb)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:
```bash
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:
```javascript
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.
```javascript
const vpc = new ec2.Vpc(this, "VPC", {
});vpc.node.addDependency(selfDestruct);
```### Python
Install using pip
```bash
pip install cdk-time-bomb
```### Java
Follow the [guide for configuring maven for use with Github Packages](https://docs.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-apache-maven-for-use-with-github-packages). Then add the following to your project's `pom.xml`
```xml
jmb12686.cdk
timebomb
1.50.0```
## 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.
```bash
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
```