我能够添加1个变量,但不能添加第二个变量,我是系统管理员,对YAML的了解也不多
UserData:
Fn::Base64: !Sub
- |+
#!/bin/bash -xe
NEW_HOSTNAME=${test}
- test:
Fn::FindInMap: [Regions, !Ref "AWS::Region", Name]
我想在测试后添加另一个FindInMap变量,但是我无法。
答案 0 :(得分:1)
您可以这样做:
UserData:
Fn::Base64: !Sub
- |
#!/bin/bash -xe
foo=${foo}
baz=${baz}
- foo: !FindInMap [FooMap, Foo, Value]
baz: !FindInMap [FooMap, Baz, Value]
它也可以被格式化为:
UserData:
Fn::Base64: !Sub
- |
#!/bin/bash -xe
foo=${foo}
baz=${baz}
- {
foo: !FindInMap [FooMap, Foo, Value],
baz: !FindInMap [FooMap, Baz, Value]
}
另请参阅Fn::FindInMap
函数的文档。
请注意,我删除了|+
-这是一项YAML功能,并表示保留结尾的换行符。此处实际上不是必需的。
答案 1 :(得分:1)
UserData:
Fn::Base64: !Sub
- |
#!/bin/bash
NEW_HOSTNAME=${hostName}
- {
share: !FindInMap [Regions, !Ref "AWS::Region", SHARE],
hostName: !Join ["", [!Ref Name, !FindInMap [Regions,
!Ref"AWS::Region",USERDATA] ] ]
}