Skip to content

A cloudformation json -> cdk typescript transpiler.

License

Notifications You must be signed in to change notification settings

adwhalen/noctilucent

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

noctilucent

In a world where people want to use the full extent of the cdk, there was no product that would transform all your json into beautiful typescript...until now.

Noctilucent will take your json and output the equivalent typescript.

User Guide

cargo build --release
./target/release/noctilucent [--input-format yaml] <INPUT> [OUTPUT]
  • input-format is an optional parameter to specify the input format of the CFN template (json|yaml). If not specified, json is defaulted.
  • INPUT is the input file path.
  • OUTPUT is the output file path; if not specified, output will be printed on your command line.

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

About

A cloudformation json -> cdk typescript transpiler.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%