@cloudcomponents/cdk-temp-stack
TypeScript icon, indicating that this package has built-in type declarations

2.3.0 • Public • Published

cloudcomponents Logo

@cloudcomponents/cdk-temp-stack

Build Status cdkdx typescript python

A stack that destroys itself after a given time (ttl)

Install

TypeScript/JavaScript:

npm i @cloudcomponents/cdk-temp-stack

Python:

pip install cloudcomponents.cdk-temp-stack

How to use

// temp-infra-app.ts

#!/usr/bin/env node

import 'source-map-support/register';
import { App, Duration } from 'aws-cdk-lib';

import { TempInfraStack } from './temp-infra-stack';

const app = new App();

new TempInfraStack(app, 'TempInfraStack', {
  env: {
    region: process.env.DEFAULT_REGION,
    account: process.env.CDK_DEFAULT_ACCOUNT,
  },
  ttl: Duration.minutes(10),
});

// temp-infra-stack.ts

import { TempStack, TempStackProps } from '@cloudcomponents/cdk-temp-stack';
import { Vpc } from 'aws-cdk-lib/aws-ec2';
import { Construct } from 'constructs';

export class TempInfraStack extends TempStack {
  constructor(scope: Construct, id: string, props: TempStackProps) {
    super(scope, id, props);

    new Vpc(this, 'VPC');
  }
}

TimeToLive Construct

Alternatively, you can also add the TimeToLive construct to your stack

// your stack

import { TimeToLive } from '@cloudcomponents/cdk-temp-stack';
import { Stack, StackProps, Duration } from 'aws-cdk-lib';
import { Construct } from 'constructs';

export class YourStack extends Stack {
  constructor(scope: Construct, id: string, props: StackProps) {
    super(scope, id, props);

    new TimeToLive(this, 'TimeToLive', {
      ttl: Duration.minutes(10),
    });
  }
}

API Reference

See API.md.

Example

See more complete examples.

License

MIT

Package Sidebar

Install

npm i @cloudcomponents/cdk-temp-stack

Weekly Downloads

55,184

Version

2.3.0

License

MIT

Unpacked Size

11.6 MB

Total Files

14

Last publish

Collaborators

  • hupe1980