我可以添加 1 个变量,但无法添加第二个变量,我是系统管理员,对 YAML 不太了解
UserData:
Fn::Base64: !Sub
- |+
#!/bin/bash -xe
NEW_HOSTNAME=${test}
- test:
Fn::FindInMap: [Regions, !Ref "AWS::Region", Name]
我想在测试后添加另一个 FindInMap 变量,但我做不到。
最佳答案
你可以这样做:
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 功能,表示保留尾随换行符。这里并不是真正需要的。
关于amazon-web-services - 如何在UserData中的Cloudformation Fn::Sub中添加两个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54564787/