尝试创建跨堆栈引用时,Yaml 格式错误

foa771

我正在尝试创建一个跨堆栈引用。将我引用的堆栈视为主 VPC,而我现在创建的堆栈基本上是在主 VPC 中创建一个子网,然后与另一个帐户共享它(VPC/资源共享)。当我在 aws 设计器中验证此模板时,我在第 15 行收到 Yaml 格式不正确的错误,即:
CidrBlock: !Select [ 0, !Cidr [!ImportValue 'Fn::Sub': '${NetworkStackParameter}-VPCCIDR', 3, 8]] 我是编码和云形成的新手,所以我很感激任何帮助。请看下面的模板:

    AWSTemplateFormatVersion: "2010-09-09"
#Description:

Parameters:
  NetworkStackParameter:
      Type: String

Resources:
#Create Private Subnet ABC
  PrivateSubnetABC:
    Type: AWS::EC2::Subnet
    Properties:
      CidrBlock: !Select [ 0, !Cidr [!ImportValue
        'Fn::Sub': '${NetworkStackParameter}-VPCCIDR', 3, 8]]
      VpcId: !ImportValue 
        'Fn::Sub': '${NetworkStackParameter}-VPCID'
      AvailabilityZone: "us-east-1a"
      Tags:
        - Key: "name"
          Value: "PrivateSubnetABC"

#Create Resource Share
  PrivateSubnetABCShare:
    Type: AWS::RAM::ResourceShare
    Properties:
  #    AllowExternalPrincipals: Boolean
      Name: "Service ABC"
  #    PermissionArns:
  #      - String
      Principals:
        - "1234567890"
      ResourceArns:
        - !Sub 'arn:aws:ec2:${AWS::Region}:${AWS::AccountId}:subnet/${PrivateSubnetABC}'
  #    Tags:
  #      - Tag
马尔钦

在这种情况下,将其编写为单独的块要容易得多,而不是尝试在一行中完成:

Resources:
#Create Private Subnet ABC
  PrivateSubnetABC:
    Type: AWS::EC2::Subnet
    Properties:
      CidrBlock: !Select
         - 0
         - !Cidr
            - !ImportValue
                'Fn::Sub': '${NetworkStackParameter}-VPCCIDR'
            - 3
            - 8
      VpcId: !ImportValue
        'Fn::Sub': '${NetworkStackParameter}-VPCID'
      AvailabilityZone: "us-east-1a"
      Tags:
        - Key: "name"
          Value: "PrivateSubnetABC"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章