Создать вложенный If else в шаблоне облачного формирования AWS - PullRequest
0 голосов
/ 28 июня 2018

Я создаю и присоединяю экземпляр EC2 с помощью Load Balancer в моем шаблоне CloudFormation. здесь экземпляры в ресурсе балансировщика нагрузки.

"Instances" : [
    "Fn::If": ["AttachLoadBalancerToServer1",
      {
        "Fn::GetAtt": [ "ServerStack1", "Outputs.Server1" ],
      },
      {
        "Fn::If": ["AttachLoadBalancerToServer2",
        {
          "Fn::GetAtt": [ "ServerStack2", "Outputs.Server1" ],
        },""  
      ]
      },""
    ]
],

Я хочу использовать это, если еще шаблон в этом:

if(AttachLoadBalancerToServer1){
"Instances" =  "Fn::GetAtt": [ "ServerStack1", "Outputs.Server1" ],
} 
else if(AttachLoadBalancerToServer2){
"Instances" =  "Fn::GetAtt": [ "ServerStack2", "Outputs.Server1" ],
}
else{
"Instances" =  "",
}

Любое тело может помочь мне написать структуру IF ELSEIF в этом шаблоне? Я могу добавить одно условие, но не могу найти способ использовать второе условие в одном условии.

Спасибо

1 Ответ

0 голосов
/ 29 июня 2018

Я достиг вложенного IF, добавив следующую структуру в шаблон AWS CloudFormaiton:

    "Instances" : [
        "Fn::If": ["AttachLoadBalancerToServer1",
          {
            "Fn::GetAtt": [ "ServerStack1", "Outputs.Server1" ],
          },
          {
            "Fn::If": ["AttachLoadBalancerToServer2",
            {
              "Fn::GetAtt": [ "ServerStack2", "Outputs.Server1" ],
            },{ "Ref" : "AWS::NoValue"}
          ]
          }
        ]
    ],

Это хорошо сработало для меня. Я отправляю ответ, потому что, если кто-то застрянет в будущем по той же проблеме, мой ответ может помочь ему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...