0.198.0 • Published 3 months ago

cdk-from-cfn v0.198.0

Weekly downloads
-
License
MIT OR Apache-2.0
Repository
github
Last release
3 months ago

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-cfn

Usage

$ cdk-from-cfn [INPUT] [OUTPUT] --language <LANGUAGE> --stack-name <STACK_NAME>
  • INPUT is the input file path (STDIN by default).
  • OUTPUT is 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

NameEnabled by defaultDescription
typescript:heavy_check_mark:Enables support for TypeScript output
golang:heavy_check_mark:Enables support for Go output
java:heavy_check_mark:Enables support for Java output
Python:heavy_check_mark:Enables support for Python output
csharp:heavy_check_mark: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.17s

If 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.17s

Implemented

  • 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
0.198.0

3 months ago

0.197.0

3 months ago

0.196.0

3 months ago

0.195.0

3 months ago

0.194.0

4 months ago

0.193.0

4 months ago

0.192.0

4 months ago

0.190.0

4 months ago

0.191.0

4 months ago

0.189.0

4 months ago

0.188.0

4 months ago

0.187.0

4 months ago

0.186.0

5 months ago

0.185.0

5 months ago

0.184.0

5 months ago

0.182.0

5 months ago

0.181.0

5 months ago

0.180.0

5 months ago

0.183.0

5 months ago

0.179.0

5 months ago

0.178.0

5 months ago

0.177.0

5 months ago

0.175.0

5 months ago

0.171.0

6 months ago

0.174.0

5 months ago

0.173.0

5 months ago

0.172.0

6 months ago

0.170.0

6 months ago

0.169.0

6 months ago

0.168.0

6 months ago

0.167.0

6 months ago

0.166.0

6 months ago

0.165.0

6 months ago

0.164.0

6 months ago

0.163.0

7 months ago

0.162.1

7 months ago

0.162.0

1 year ago

0.161.0

1 year ago

0.160.0

1 year ago

0.159.0

1 year ago

0.158.0

1 year ago

0.157.0

1 year ago

0.156.0

1 year ago

0.155.0

1 year ago

0.154.0

1 year ago

0.153.0

1 year ago

0.152.0

1 year ago

0.151.0

1 year ago

0.150.0

1 year ago

0.149.0

1 year ago

0.148.0

1 year ago

0.147.0

1 year ago

0.146.0

1 year ago

0.144.0

1 year ago

0.143.0

1 year ago

0.145.0

1 year ago

0.142.0

1 year ago

0.141.0

1 year ago

0.140.0

1 year ago

0.139.0

1 year ago

0.138.0

1 year ago

0.137.0

1 year ago

0.136.0

1 year ago

0.135.0

1 year ago

0.134.0

1 year ago

0.133.0

1 year ago

0.132.0

1 year ago

0.131.0

1 year ago

0.130.0

1 year ago

0.129.0

1 year ago

0.128.0

1 year ago

0.127.0

1 year ago

0.125.0

1 year ago

0.126.0

1 year ago

0.121.0

1 year ago

0.122.0

1 year ago

0.120.0

1 year ago

0.119.0

1 year ago

0.118.0

1 year ago

0.117.0

1 year ago

0.116.0

1 year ago

0.115.0

1 year ago

0.114.0

1 year ago

0.113.0

1 year ago

0.112.0

1 year ago

0.110.0

1 year ago

0.111.0

1 year ago

0.109.0

1 year ago

0.108.0

1 year ago

0.107.0

1 year ago

0.106.0

1 year ago

0.105.0

1 year ago

0.104.0

1 year ago

0.102.0

2 years ago

0.103.0

1 year ago

0.101.0

2 years ago

0.100.0

2 years ago

0.99.0

2 years ago

0.98.0

2 years ago

0.97.0

2 years ago

0.96.0

2 years ago

0.95.0

2 years ago

0.94.0

2 years ago

0.93.0

2 years ago

0.92.0

2 years ago

0.91.0

2 years ago

0.90.0

2 years ago

0.89.0

2 years ago

0.88.0

2 years ago

0.87.0

2 years ago

0.86.0

2 years ago

0.85.0

2 years ago

0.84.0

2 years ago

0.83.0

2 years ago

0.82.0

2 years ago

0.81.0

2 years ago

0.80.0

2 years ago

0.79.0

2 years ago

0.78.0

2 years ago

0.77.0

2 years ago

0.76.0

2 years ago

0.75.0

2 years ago

0.74.0

2 years ago

0.73.0

2 years ago

0.72.0

2 years ago

0.71.0

2 years ago

0.70.0

2 years ago

0.69.0

2 years ago

0.67.0

2 years ago

0.66.0

2 years ago

0.65.0

2 years ago

0.64.0

2 years ago

0.63.0

2 years ago

0.62.0

2 years ago

0.61.0

2 years ago

0.60.0

2 years ago

0.59.0

2 years ago

0.58.0

2 years ago

0.57.0

2 years ago

0.56.0

2 years ago

0.55.0

2 years ago

0.54.0

2 years ago

0.53.0

2 years ago

0.52.0

2 years ago

0.51.0

2 years ago

0.50.0

2 years ago

0.49.0

2 years ago

0.48.0

2 years ago

0.47.0

2 years ago

0.46.0

2 years ago

0.45.0

2 years ago

0.44.0

2 years ago

0.43.0

2 years ago

0.42.0

2 years ago

0.41.0

2 years ago

0.40.0

2 years ago

0.39.0

2 years ago

0.38.0

2 years ago

0.37.0

2 years ago

0.36.0

2 years ago

0.35.0

2 years ago

0.33.0

2 years ago

0.32.0

2 years ago

0.31.0

2 years ago

0.30.0

2 years ago

0.27.0

2 years ago

0.26.0

2 years ago

0.25.0

2 years ago

0.24.0

2 years ago

0.23.0

2 years ago

0.22.0

2 years ago

0.21.0

2 years ago

0.19.0

2 years ago

0.18.0

2 years ago

0.17.0

2 years ago

0.16.0

2 years ago

0.15.0

2 years ago

0.14.0

2 years ago

0.13.0

2 years ago

0.12.0

2 years ago

0.11.0

2 years ago

0.10.0

2 years ago

0.9.0

2 years ago

0.3.0

2 years ago