A bootstrapless stack synthesizer that is designated to generate templates that can be directly used by AWS CloudFormation.
import { BootstraplessStackSynthesizer } from 'cdk-bootstrapless-synthesizer';
const app = new App();
new MyStack(app, 'my-stack-dev', {
synthesizer: new BootstraplessStackSynthesizer({
templateBucketName: 'cfn-template-bucket',
fileAssetBucketName: 'file-asset-bucket-${AWS::Region}',
fileAssetRegionSet: ['us-west-1', 'us-west-2'],
fileAssetPrefix: 'file-asset-prefix/latest/',
imageAssetRepositoryName: 'your-ecr-repo-name',
imageAssetAccountId: '1234567890',
imageAssetTagPrefix: 'latest-',
imageAssetRegionSet: ['us-west-1', 'us-west-2'],
}),
});
// Or by environment variables
env.BSS_TEMPLATE_BUCKET_NAME = 'cfn-template-bucket';
env.BSS_FILE_ASSET_BUCKET_NAME = 'file-asset-bucket-\${AWS::Region}';
env.BSS_FILE_ASSET_REGION_SET = 'us-west-1,us-west-2';
env.BSS_FILE_ASSET_PREFIX = 'file-asset-prefix/latest/';
env.BSS_IMAGE_ASSET_REPOSITORY_NAME = 'your-ecr-repo-name';
env.BSS_IMAGE_ASSET_ACCOUNT_ID = '1234567890';
env.BSS_IMAGE_ASSET_TAG_PREFIX = 'latest-';
env.BSS_IMAGE_ASSET_REGION_SET = 'us-west-1,us-west-2';
new MyStack(app, 'my-stack-dev2', {
synthesizer: new BootstraplessStackSynthesizer(),
});
Synth AWS CloudFormation templates, assets and upload them
$ cdk synth
$ npx cdk-assets publish -p cdk.out/my-stack-dev.assets.json -v
See Sample Project
See API Reference for API details.