2016-10-03 72 views
1

我有一个模板,它是我们产品的主堆栈。我正在将所有模板从JSON更改为YAML,并使用新的“!if”类型功能。我本来有我的模板样子的麻烦的部分如下(此作品在JSON):AWS CloudFormation链接功能

"CreateProdResources" : {"Fn::And" : [{"Fn::Not" : [{"Fn::Equals" : [{"Ref" : "Environment"}, "beta"]} ]}, {"Fn::Not" : [{"Fn::Equals" : [{"Ref" : "Environment"}, "eubeta"]} ]} ]} 

我想改变这YAML,所以模板的这个部分现在看起来是这样的:

CreateProdResources: !And: - !Not: - !Equals: - Ref: Environment - beta - !Not: - !Equals: - Ref: Environment - eubeta

云形成抛出YAML没有良好形成的错误,因为链接!函数集内。

回答

1

要链YAML AWS CloudFormation功能,只是如下:

CreateProdResources: 
    !And 
    - !Not 
    - !Equals [!Ref "Environment", "beta"] 
    - !Not 
    - !Equals [!Ref "Environment", "eubeta"] 
+0

[这](http://www.yamllint.com/),[此](HTTP:// YAML-online- parser.appspot.com/)和[this](http://codebeautify.org/yaml-validator)在线YAML解析器/检查器以及我的Python解析器表明这是无效的YAML。你确定你不错过第二行的缩进吗? – Anthon

+0

“CreteProdResources”行下的所有内容应该在右侧超过两个空格。 – troz