在 Cloudformation 上使用具有私有 IP 值的联接、选择和拆分

问题描述

我在 Cloudformation 中尝试编写反向区域条目 dns 时遇到错误

这是我的条目:

EC2DNSReverseZone:
Type: AWS::Route53::RecordSet
Properties:
  HostedZoneId: !Ref ReverseHostedZoneId
  Name:
    - !Join [ '',[ !Select [3,!Split [ ".",!GetAtt LinuxEC2Instance.PrivateIp ] ],.xxx.xxx.xx.in-addr.arpa  ] ]
  Type: PTR
  TTL: '86400'
  ResourceRecords:
    - xxxxxxxx

在部署 Cloudformation 条目时,我收到以下错误

Value of property Name must be of type String

我认为这与 LinuxEC2Instance.PrivateIp 是一个数字并且拆分数字无效这一事实有关。但这只是一个猜测。我有点不知所措我在这里做错了什么。 LinuxEC2Instance.PrivateIp 是一个像 10.104.209.113 这样的 IP 地址,我只需要最后一部分,所以我需要那个数字中的 113,这就是我在这里使用 split 的原因。

我需要做什么来修复这个错误

解决方法

我认为这与 LinuxEC2Instance.PrivateIp 是一个数字并且拆分数字无效这一事实有关。

不,不是。这意味着您的 [ValidateNever] public decimal Calories => FoodItem.Calories * Amount; Name,因为您将 List 放入其中。它必须是普通的 -,所以它应该是(没有 String):

-

Name: !Join [ '',[ !Select [0,!Split [ ".",!GetAtt LinuxEC2Instance.PrivateIp ] ],.xxx.xxx.xx.in-addr.arpa ] ] 可能有其他错误,但我只关注您当前的错误消息。