【发布时间】:2021-06-30 23:33:37
【问题描述】:
我想根据输入参数在 cloudformation 中填充一个值。我想将Name 分配为test-svc.abc.com 或svc.abc.com,具体取决于环境名称是否为prod。如果环境名称为prod,则该值应为svc.abc.com,否则应始终为{env-name}-svc.abc.com。
我有以下表达:
Name: !Join [ '-', [ !Ref EnvironmentName, !Ref 'HostedZoneName' ] ]
在上面的表达式中,HostedZoneName 将作为svc.abc.com 传递,EnvironmentName 的值可以是test, release or prod。所以条件应该被评估为:
Inputs: HostedZoneName -> svc.abc.com, EnvironmentName -> test
Output: test-svc.abc.com
Inputs: HostedZoneName -> svc.abc.com, EnvironmentName -> release
Output: release-svc.abc.com
Inputs: HostedZoneName -> svc.abc.com, EnvironmentName -> 1234567
Output: 1234567-svc.abc.com
Inputs: HostedZoneName -> svc.abc.com, EnvironmentName -> prod
Output: svc.abc.com
它基本上是三元运算符。
Name = EnvironmentName.equals("prod") ? HostedZoneName : EnvironmentName + "-" + HostedZoneName
在 CloudFormation 中遇到 if else 条件。
【问题讨论】:
标签: amazon-web-services if-statement amazon-cloudformation