Skip to main content

Generate directly usable AWS CloudFormation template.

Project description

cdk-bootstrapless-synthesizer

npm version PyPI npm PyPI - Downloads

A bootstrapless stack synthesizer that is designated to generate templates that can be directly used by AWS CloudFormation

Usage

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
from cdk_bootstrapless_synthesizer import BootstraplessStackSynthesizer

# ...
app = cdk.App()

# You can set arguments directly
MyWidgetServiceStack(app, "MyWidgetServiceStack",
    synthesizer=BootstraplessStackSynthesizer(
        template_bucket_name="cfn-template-bucket",
        image_asset_repository_name="ecr-repo-name",

        file_asset_bucket_name="file-asset-bucket-${AWS::Region}",
        file_asset_region_set=["us-east-1"],
        file_asset_prefix="file-asset-prefix/latest/",

        image_asset_tag="docker-image-tag",
        image_asset_region="us-east-1",
        image_asset_account_id="1234567890"
    )
)

# Or by environment variables
# export BSS_TEMPLATE_BUCKET_NAME="cfn-template-bucket"
# export BSS_IMAGE_ASSET_REPOSITORY_NAME="ecr-repo-name"
# export BSS_FILE_ASSET_BUCKET_NAME="file-asset-bucket-\${AWS::Region}"
# export BSS_FILE_ASSET_REGION_SET="us-east-1,us-west-1"
# export BSS_FILE_ASSET_PREFIX="file-asset-prefix/latest/"
# export BSS_IMAGE_ASSET_TAG="docker-image-tag"
# export BSS_IMAGE_ASSET_REGION="us-east-1"
# export BSS_IMAGE_ASSET_ACCOUNT_ID="1234567890"
MyWidgetServiceStack(app, "MyWidgetServiceStack",
    synthesizer=BootstraplessStackSynthesizer()
)

Synth AWS CloudFormation templates, assets and upload them

$ cdk synth
$ npx cdk-assets publish -p cdk.out/MyWidgetServiceStack.assets.json -v

In your template

{
  // ...
  "MyLayer38944FA5": {
    "Type": "AWS::Lambda::LayerVersion",
    "Properties": {
      "Content": {
        "S3Bucket": {
          "Fn::Sub": "file-asset-bucket-${AWS::Region}"
        },
        "S3Key": "file-asset-prefix/latest/8104f93f351dd2d4e69b0ab2ebe9ccff2309a573660bd75ca920ffd1808522e0.zip"
      }
    }
  }
  // ...
}

Sample Project

See Sample Project

API Reference

See API Reference for API details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdk-bootstrapless-synthesizer-0.7.13.tar.gz (40.0 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page