159 个重大版本发布

0.162.0 2024 年 5 月 30 日
0.160.0 2024 年 5 月 2 日
0.153.0 2024 年 3 月 30 日
0.109.0 2023 年 12 月 31 日
0.82.0 2023 年 11 月 30 日

#39 in 模板引擎

41 次每月下载

MIT/Apache

750KB
9K SLoC

cdk-from-cfn

在一个人们希望充分利用 cdk 的世界里,没有产品可以将所有 JSON/YAML 转换为漂亮的 TypeScript...直到现在。

cdk-from-cfn 将您的 JSON/YAML 转换为等效的 TypeScript。

用户指南

$ cargo build --release
$ ./target/release/cdk-from-cfn [INPUT] [OUTPUT]
  • INPUT 是输入文件路径(默认为 STDIN)。
  • OUTPUT 是输出文件路径;如果未指定,输出将打印在您的命令行上(默认为 STDOUT)。

Cargo 功能

名称 默认启用 描述
typescript ✔️ 启用 TypeScript 输出支持
golang ✔️ 启用 Go 输出支持
java ✔️ 启用 Java 输出支持
Python ✔️ 启用 Python 输出支持
csharp ✔️ 启用 C# 输出支持

您可以通过启用相关功能来启用实验性语言(默认不启用)

$ cargo build --release --features=<feature-name>
Finished release [optimized] target(s) in 0.17s

如果您想禁用默认启用的语言,可以传递 --no-default-features

$ cargo build --release --no-default-features --features=golang
Finished release [optimized] target(s) in 0.17s

实现

  • Fn::FindInMap
  • Fn::Join
  • Fn::Sub
  • Ref
  • Fn::And
  • Fn::Equals
  • Fn::If
  • Fn::Not
  • Fn::Or
  • Fn::GetAtt
  • Fn::Base64 支持
  • Fn::ImportValue 支持
  • Fn::Select 支持
  • 基于依赖关系的资源排序
  • 条件在 ts 中发出,但未附加到资源条件
  • asgs / lambda 函数更新的元数据发出
  • 输出/导出发出
  • Fn::GetAZs 支持
  • 添加 depends-on,并根据它进行排序。
  • 删除策略
  • Fn::Cidr 支持

剩余

存在已知不受支持的功能。按优先级顺序解决这些问题

  • 创建策略
  • ssm 元数据引用
  • secretsmanager 引用

依赖项

~10-14MB
~282K SLoC