gpt4 book ai didi

amazon-web-services - AWS CloudFormation EC2 用户数据 - 使用 "!If"

转载 作者:行者123 更新时间:2023-12-03 07:22:52 25 4
gpt4 key购买 nike

我正在 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

预先感谢您的帮助和见解。

最佳答案

我目前正在学习 CloudFormation,不知道所有技巧,但使用宏来修改模板是否是一个可能的解决方案?

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/macros-example.html

关于amazon-web-services - AWS CloudFormation EC2 用户数据 - 使用 "!If",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70534075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com