Я хотел бы заполнить значение в облачной информации в зависимости от входного параметра.Я хочу присвоить 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
Борьба с условием if else в CloudFormation.