【发布时间】:2021-12-31 01:05:18
【问题描述】:
我正在 CloudFormation 模板的 UserData 部分中创建一个 .bashrc 文件
UserData:
Fn::Base64:
!Sub |
#!/bin/bash -xe
此时,我想使用基于条件的两个语句之一。要么
UserData:
Fn::Base64:
!Sub |
#!/bin/bash -xe
echo "export JOIN_STR=${ExistingJoinString}" >> /home/ec2-user/.bashrc
或
UserData:
Fn::Base64:
!Sub |
#!/bin/bash -xe
echo "export JOIN_STR=${CRDBIPNode01.PrimaryPrivateIpAddress},${CRDBIPNode02.PrimaryPrivateIpAddress},${CRDBIPNode03.PrimaryPrivateIpAddress}" >> /home/ec2-user/.bashrc
我已经定义了一个条件:
Conditions:
UseNewJoinString: !Equals [!Ref ExistingJoinString, NONE]
有谁知道使用“!If”语句的方法,或者我可以用来控制哪个语句最终出现在我的 .bashrc 中的任何其他技巧。像这样的:
UserData:
Fn::Base64:
!Sub |
#!/bin/bash -xe
!If
- UseNewJoinString
-
echo "export JOIN_STR=${CRDBIPNode01.PrimaryPrivateIpAddress},${CRDBIPNode02.PrimaryPrivateIpAddress},${CRDBIPNode03.PrimaryPrivateIpAddress}" >> /home/ec2-user/.bashrc
-
echo "export JOIN_STR=${ExistingJoinString}" >> /home/ec2-user/.bashrc
提前感谢您的帮助和见解。
【问题讨论】:
-
这个没试过,不过可能
!If [UseNewJoinString, "export A=abc", "export A=xyz"] -
@jarmod,这似乎不起作用...但感谢您的想法...有时这会导致最佳答案!
标签: amazon-web-services amazon-ec2 amazon-cloudformation