[英]Assigning Elastic IPs to Secondary Private IPs via SecondaryPrivateIpAddresses List Attribute
以下是我的CloudFormation模板的片段,該模板用於將彈性IP地址與網絡接口的主IP相關聯:
"MyInterfaceSelfEipAssociation": {
"Properties": {
"AllocationId": "eipalloc-XXXXX",
"NetworkInterfaceId": {
"Ref": "MyInterface"
},
"PrivateIpAddress": {
"Fn::GetAtt": [
"MyInterface",
"PrimaryPrivateIpAddress"
]
}
},
"Type": "AWS::EC2::EIPAssociation"
我想對這個接口上的輔助IP執行相同的操作,其中有兩個(我在列表中給出的特定IP,不是由AWS分配的)。 即,接口的“ PrivateIpAddresses”塊如下所示:
"PrivateIpAddresses": [
{
"PrivateIpAddress": "10.X.X.XX",
"Primary": "true"
},
{
"PrivateIpAddress": "10.X.X.XX",
"Primary": "false"
},
{
"PrivateIpAddress": "10.X.X.XX",
"Primary": "false"
}
],
我知道我可以使用Fn:GetAtt屬性調用“ SecondaryPrivateIpAddresses”訪問輔助專用IP列表,該列表會將上面的兩個輔助專用IP作為列表返回給我。 我的問題是,如何按JSON處理此列表(按索引)?
例如,如果我要將私有IP分配給輔助IP列表中的第二個元素,則執行以下操作是否有效:
"PrivateIpAddress": {
"Fn::GetAtt": [
"Bigip1subnet1Az1Interface",
"SecondaryPrivateIpAddresses[1]"
]
}
我該如何實現? 我覺得它應該很簡單,但是我不清楚如何在JSON中執行此操作。
使用Fn::Select
內部函數按索引從對象列表中返回單個對象:
"PrivateIpAddress": {
"Fn::Select": [
1,
{ "Fn::GetAtt": [
"Bigip1subnet1Az1Interface",
"SecondaryPrivateIpAddresses"
]}
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.