簡體   English   中英

通過SecondaryPrivateIpAddresses列表屬性將彈性IP分配給輔助專用IP

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM