簡體   English   中英

Cloudformation 模板中的組合 Fn::Select + Fn::Split + Fn:GetAtt

[英]Combination Fn::Select + Fn::Split + Fn:GetAtt in Cloudformation template

我正在嘗試使用以下 cloudformation 堆棧,但我一直失敗並出現以下錯誤:

模板錯誤:每個 Fn::Split 對象都需要兩個參數,(1) 字符串分隔符和 (2) 要拆分的字符串或返回要拆分的字符串的函數。

  {
      "Type": "AWS::Route53Resolver::ResolverRule",
      "Properties": {
        "DomainName": {"Fn::Sub": "ad.${EnvName}.yyy.xxx.com"},
        "Name": {"Fn::Sub": "${EnvName}"},
        "ResolverEndpointId": "1",
        "RuleType": "FORWARD",
        "Tags" : [
          {
            "Key": "Name",
            "Value": {
              "Fn::Sub": "${EnvName}-ADResolverRule"
            }
          }
        ],
        "TargetIps": [
            {
                "Ip": {
                    "Fn::Select": [
                        0,
                        {
                            "Fn::Split": [
                                ",",
                                {
                                  "Fn::GetAtt": [
                                      "MicrosoftAD",
                                      "DnsIpAddresses"
                                  ]
                                }
                            ]
                        }
                    ]
                },
                "Port": "53"
            }
        ]
      }
    }

不確定為什么我有 Fn::Split 函數的值,任何幫助將不勝感激。

謝謝。

問題似乎是您不需要在這里調用 split 。 當您調用 Fn::GetAtt 時,在這種情況下它不會創建字符串。 如果您查看文檔,它會生成一個列表對象。 查看各種示例,您會發現拆分是不必要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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