2016-01-18 1 views
3

Я довольно новичок в AWS и до сих пор учился, но у меня есть параметр, использующий CommaDelimitedList как тип в CFT, поэтому пользователь может выбрать подсеть для использования на VPC. Мне нужно иметь возможность ссылаться на выбор позже при создании экземпляра EC2 и назначении частного IP-адреса.Как определить выделение из параметра списка с разделителями-запятыми в шаблоне Cloud Formation AWS

"SubnetParameterCidrBlock":{ 
    "Description": "Comma-delimited list CIDR blocks for VPC", 
    "Type" : "CommaDelimitedList", 
    "Default": "10.200.1.0/24,10.200.2.0/24,10.200.3.0/24" 
} 

Я предположил бы, что я бы я мог сделать что-то вроде:

"NetworkInterfaces": [ 
     { 
     "DeleteOnTermination": "true", 
     "Description": "Primary network interface", 
     "DeviceIndex": 0, 
     "SubnetId": {"Ref": "SecureVPCSubnet"}, 
     "PrivateIpAddresses": [ 
      { 
      "PrivateIpAddress": "Fn::GetAtt" : [ "SubnetParameterCidrBlock" , "Value" ], 
      "Primary": "true" 
      } 
     ], 
     "GroupSet": [ 
      { 
      "Ref": "SecurityGroup" 
      } 
     ] 
     } 
    ] 

правильно ли это или у меня все это не так?

Я прошел через большинство из AWS Cloud Formation Docs. Есть ли другие документы, которые дают лучшие примеры?

ответ

1

Вы должны попробовать использовать функцию Fn::Select AWS CFT. Взгляните here для начала ..;)

+0

К сожалению, Fn :: Select требует, я знаю, какой из них он выбрал. Это проблема, которую я пытаюсь решить. Я знаю весь список, я просто не знаю, какой из них они выбрали в параметрах. – John

+0

Ну, если я правильно понял и вам просто нужно получить доступ к значению параметра, как насчет того, чтобы вы пытались «{« Ref »:« SubnetParameterCidrBlock »}'? – gsaslis