AWS CDK construct for AWS Chalice
This library allows to include an AWS Chalice application into a broader AWS Cloud Development Kit (AWS CDK) application.
The following approach to AWS CDK and AWS Chalice interoperability is taken by the library:
-
Manually create Chalice application (
chalice new-project) with default "dev" stage in.chalice/config.json.cdk-chalicelibrary could perform this Chalice application scaffolding automatically - create new project, or skip this step if project already exists in the target directory (this ischalice new-projectbehavior). The choice to keep this step manual (for now) was made to hopefully make adoption easier for developers who already have existing Chalice projects. -
Manually create CDK application (
cdk init [ARGS]) -
Use
cdk_chalice.Chaliceclass to generate stage per CDK stack in.chalice/config.jsonand runchalice package. This is the main purpose ofcdk-chalice- allow passing CDK tokens for resources, such as DynamoDB table, to SAM template generated bychalice package(see example here), and also to automate the packaging process itself.
If AWS Chalice doesn't support certain options through its configuration mechanism, there are two ways to address this:
- Open an issue for AWS Chalice
- Customize the resources after they have been imported into the CDK stack.
cdk-chaliceuses AWS CDKcloudformation-includemodule to enable customization. Seecdk-chaliceAPI documentation for example and additional details.
The API documentation and usage example are available at https://cdk-chalice.softwhat.com/
Installation
Install and update using pip:
pip install -U cdk-chalice