JSPM

  • Created
  • Published
  • Downloads 39767
  • Score
    100M100P100Q172584F
  • License MIT

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

Package Exports

  • @cloudcomponents/cdk-temp-stack

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 (@cloudcomponents/cdk-temp-stack) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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/core';

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 { Construct } from '@aws-cdk/core';
import { Vpc } from '@aws-cdk/aws-ec2';
import { TempStack, TempStackProps } from '@cloudcomponents/cdk-temp-stack';

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 { Construct, Stack, StackProps, Duration } from '@aws-cdk/core';
import { TimeToLive } from '@cloudcomponents/cdk-temp-stack';

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