我不知道如何将Yaml cloudformation模板的以下部分转换为json模板。任何人都可以在这里指导我。
Tags:
- Key: Name
Value: !Join
- ''
- - !FindInMap
- BusinessUnitCode
- !Ref BusinessUnit
- Code
- A
- !FindInMap
- AWSRegionCode
- !Ref 'AWS::Region'
- Code
- '-'
- !FindInMap
- AccountsCode
- !Ref Account
- Code
- '-'
- !FindInMap
- ProdLevelCode
- !Ref ProductionLevel
- Code
- '-'
- !FindInMap
- ServerFunctionCode
- !Ref ServerFunction
- Code
- '-'
- !FindInMap
- SGFunctionCode
- !Ref SecurityGroupFunction
- Code
- '-'
- !Ref IncrementCode
尽管我知道没有必要进行此转换,因为json和yaml在cloudformation中的工作原理相同,但必须按照授权进行此操作。
答案 0 :(得分:5)
AWS Console可以帮助您。 在template designer中打开您的CloudFormation模板。
CloudFormation>选择堆栈>模板>在设计器中查看
然后,您可以通过选择模板语言为Json轻松地转换模板。
答案 1 :(得分:2)
如果您希望使用命令行解决方案将JSON转换为YAML,反之亦然,请考虑使用aws-cfn-template-flip项目。
安装库:
▶ pip install cfn_flip
用法:
▶ cfn-flip
Usage: cfn-flip [OPTIONS] [INPUT] [OUTPUT]
AWS CloudFormation Template Flip is a tool that converts AWS
CloudFormation templates between JSON and YAML formats, making use of the
YAML format's short function syntax where possible.
Options:
-i, --input [json|yaml] Specify the input format. Overrides -j and -y
flags.
-o, --output [json|yaml] Specify the output format. Overrides -j, -y, and
-n flags.
-j, --json Convert to JSON. Assume the input is YAML.
-y, --yaml Convert to YAML. Assume the input is JSON.
-c, --clean Performs some opinionated cleanup on your
template.
-l, --long Use long-form syntax for functions when converting
to YAML.
-n, --no-flip Perform other operations but do not flip the
output format.
--version Show the version and exit.
--help Show this message and exit.
如果您在YAML中拥有CloudFormation模板,则可以使用以下方法将其翻转为JSON:
▶ cfn-flip -j cloudformation.yml | jq . > cloudformation.json
使用JQ是可选的,只是为了清理格式。
答案 2 :(得分:0)
我使用了它,它的作用就像一个魅力:https://cfnflip.com/
您可以将JSON转换为YAML,并将YAML转换为JSON。
复制/粘贴,将检测并翻转。如果您也想将其设置为自己的内部资源,则可以使用开源和源代码。 (不,这不是我的也不是赞助)。
这不仅是普通的翻转工具,而且还特别适合CloudFormation。