Ниже приведен фрагмент моего шаблона CloudFormation используется для связывания Elastic IP-адреса с основными IP сетевым интерфейсом:Назначение Elastic IP-адреса для вторичных частных IP-адресов с помощью SecondaryPrivateIpAddresses Списка атрибутов
"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"
}
],
Я знаю, что я могу получить доступ к списку вторичных частных IP-адресов с Fn: GetAtt атрибут называют «SecondaryPrivateIpAddresses», который будет возвращать два вторичных частных IP-адресов выше для меня как список. Мой вопрос: как я могу обратиться к этому списку в JSON - по индексу?
Например, если бы я хотел назначить частный IP ко второму элементу в списке вторичных IP-адресов, он действует, чтобы сделать что-то вроде:
"PrivateIpAddress": {
"Fn::GetAtt": [
"Bigip1subnet1Az1Interface",
"SecondaryPrivateIpAddresses[1]"
]
}
Как я могу добиться этого? Я чувствую, что это должно быть просто, но я не понимаю, как это сделать в JSON.
Я считаю, что кронштейн перед Fn :: Select является постороннее, но я не могу предложить редактировать поскольку он слишком короткий. –
Вы правы, обновили синтаксис, извините за опечатку! – wjordan