amazon-cloudformation - Fn::If 内部的 CloudFormation 参数参考 Fn::Sub
问题描述
我正在尝试使用 Fn::Sub 替换字符串中的两个变量。问题是变量值是基于条件语句的。这怎么写才能正确?
"Fn::Sub":["https://${QS}.${CUR}.website.com,
{"QS": {"Fn::If": ["condition1", ${abc}-${AWS::Region}, ${abcq}]}},
{"CUR": {"Fn::If": ["condition1", ${AWS::Region}, ${abcq}]}}
]
这里,condition1 是条件之一,abc 和 abcq 是参数。
解决方案
您可以尝试以下方法。它可能需要一些调整,因为我无法运行实际代码来验证它。
我认为以下应该是实现您想要实现的目标的方法:
"Fn::Sub":
[
"https://${QS}.${CUR}.website.com,
{"QS":
{
"Fn::If": [
"condition1",
{"Fn::Sub": "${abc}-${AWS::Region}"},
{"Fn::Ref": "abcq"}
]
}
},
{"CUR":
{
"Fn::If": [
"condition1",
{"Fn::Ref": "AWS::Region"},
{"Fn::Ref": "abcq"}
]
}
}
]
推荐阅读
- arrays - ESPAsyncWebServer 从 RAM 提供大型阵列
- c - GIO:如何启用 GMenuItem?GMenu 启用/禁用
- swift - DatePicker 返回错误的日期 Swift 5
- javascript - 不能上传多张图片上传视频
- javascript - 如何自动格式化我已抓取的整个表格?
- reactjs - 带有反应的firebase:signInWithEmailAndPassword似乎既没有失败也没有成功
- docker - Docker:如何在 Dockerfile 中将变量添加到 ENTRYPOINT
- python - Python将字符串行附加到其他字符串行
- android - 当我尝试在 SQLite 中运行提交数据的应用程序时,出现错误 1 语法错误
- c++ - 在 C++ 中使用 2 个参数和 lambda 函数检查列表中元素的存在