Package Exports
- cdk-from-cfn
- cdk-from-cfn/index.js
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 (cdk-from-cfn) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
cdk-from-cfn
cdk-from-cfn is a command-line tool that converts AWS CloudFormation templates into AWS CDK code. It supports multiple programming languages including TypeScript, Python, Java, Go, and C#.
Installation
cargo install cdk-from-cfnUsage
cdk-from-cfn [INPUT] [OUTPUT] --language <LANGUAGE> --stack-name <STACK_NAME>INPUTis the input file path (STDIN by default).OUTPUTis the output file path; if not specified, output will be printed on your command line (STDOUT by default).
Node.js Module Usage
cdk-from-cfn leverages WebAssembly (WASM) bindings to provide a cross-platform npm module, which exposes apis to be used in Node.js projects. Simply take a dependency on cdk-from-cfn in your package.json and utilize it as you would a normal module. i.e.
import * as cdk_from_cfn from 'cdk-from-cfn';
// get supported languages
cdk_from_cfn.supported_languages();
// transmute cfn template into cdk app
cdk_from_cfn.transmute(template, language, stackName)Language and Feature support
| Name | Enabled by default | Description |
|---|---|---|
typescript |
✔️ | Enables support for TypeScript output |
golang |
✔️ | Enables support for Go output |
java |
✔️ | Enables support for Java output |
Python |
✔️ | Enables support for Python output |
csharp |
✔️ | Enables support for C# output |
You can enable experimental languages (not enabled by default) by enabling the relevant feature:
$ cargo build --release --features=<feature-name>
Finished release [optimized] target(s) in 0.17sIf you want to disable on-by-default languages, you can pass --no-default-features:
$ cargo build --release --no-default-features --features=golang
Finished release [optimized] target(s) in 0.17sImplemented
- Fn::FindInMap
- Fn::Join
- Fn::Sub
- Ref
- Fn::And
- Fn::Equals
- Fn::If
- Fn::Not
- Fn::Or
- Fn::GetAtt
- Fn::Base64 support
- Fn::ImportValue support
- Fn::Select support
- Resource ordering based on dependencies
- Conditions are emitted in ts but not attached to resource conditions
- Metadata emission for updates to asgs / lambda functions.
- Emission of outputs / exports
- Fn::GetAZs support
- Adding depends-on, and ordering based on it too.
- Deletion policy
- Fn::Cidr support
Remaining
There are known unsupported features. Working on them in priority order:
- Create policy
- ssm metadata references
- secretsmanager references