2016-01-18 50 views
3

我對AWS還比較陌生並仍在學習,但我有一個使用CommaDelimitedList作爲CFT類型的參數,因此用戶可以選擇要使用的子網在VPC上。我需要在創建EC2實例和分配私有IP時能夠稍後參考選擇。如何識別AWS Cloud Formation模板中逗號分隔列表參數的選擇

"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

您應該嘗試使用AWS CFT功能Fn::Select。看看here開始..;)

+0

不幸的是,Fn :: Select要求我知道他們選擇了哪一個。這是我正在努力解決的問題。我知道整個列表,我只是不知道他們在參數選項中選擇了哪一個。 – John

+0

那麼,如果我理解正確,你只需要訪問參數的值,那麼你如何嘗試'{「參考」:「SubnetParameterCidrBlock」}? – gsaslis