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-chalice
library 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-project
behavior). 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.Chalice
class to generate stage per CDK stack in.chalice/config.json
and 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-chalice
uses AWS CDKcloudformation-include
module to enable customization. Seecdk-chalice
API 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