облачная информация несколько условий if

#amazon-web-services #amazon-cloudformation

Вопрос:

У меня есть условия

 Red: !Equals [!Ref Color,Red]
Blue: !Equals [!Ref Color,Blue]
Green: !Equals [!Ref Color,Green]
Orange: !Equals [!Ref Color,Orange]
 

На данный момент я использую оператор If с 2 условиями.
Свойства:
Имя: !Если [Красный,!Подзаголовок «Я выбираю красный»,»Я выбираю синий»]

Как у меня может быть атрибут name с несколькими предложениями if, чтобы представить их все?

Подобный этому

   If Red
     "Red"
  else if "Blue"
     "Blue"
  else if "Green"
     "Green"
etc..
 

Ответ №1:

Вы можете добиться этого с помощью вложенных If функций, т. е. значение «else» преобразуется в значение другой If функции:

 !If
- Red
- "Red"
- !If
  - Blue
  - "Blue"
  - !If
    - Green
    - "Green"
    - !Ref AWS::NoValue # if none of the above conditions match
 

(Я не на 100% уверен !If , что синтаксис стенографии будет работать именно так, но я подозреваю, что так и будет. В противном случае просто измените его на длинную руку Fn::If: .)