【问题标题】:How get "cidrblock" of a subnet in the "outputs" of a AWS Cloudformation?如何在 AWS Cloudformation 的“输出”中获取子网的“cidrblock”?
【发布时间】:2016-01-28 06:46:43
【问题描述】:

我正在编写 AWS 代码格式。我必须打印子网的 Cidrblock。但这不起作用。请帮忙

"Resources": {
    "Subnet": {
          "Type": "AWS::EC2::Subnet",
          "Properties": {
            "VpcId": {
              "Ref": "VPC"
            },
            "CidrBlock": "10.0.0.0/16",
          }
    },
    Outputs : {
      "SubnetCIDR": {
          "Value": {
            "Fn::GetAtt": [
              "Subnet",
              "CidrBlock"
            ]
          },
          "Description": "The CIDR"
        },
    }

这不起作用。上传模板时显示以下错误消息:

模板验证错误:模板错误:资源子网没有 支持 Fn::GetAtt 中的属性类型 CidrBlock

【问题讨论】:

  • 你能定义什么是不起作用的意思吗?
  • 我已经添加了错误信息。

标签: amazon-web-services amazon-cloudformation


【解决方案1】:

由于您似乎无论如何都在硬编码 CIDR 块,您可以将其设置为参数,然后在两个位置都引用该参数。

"Parameters" : {
  "CidrBlock" : {
    "Type" : "String",
    "Default" : "10.0.0.0/16"
  }
},
"Resources" : {
  "Subnet" : {
    "Type" : "AWS::EC2::Subnet",
    "Properties" : {
      "VpcId" : {
        "Ref" : "VPC"
      },
      "CidrBlock" : { "Ref" : "CidrBlock" }
    }
  }
},
"Outputs" : {
  "SubnetCIDR" : {
    "Value" : { "Ref" : "CidrBlock" },
    "Description": "The CIDR"
  }
}

【讨论】:

    【解决方案2】:

    不支持。

    http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html

    如果您查看文档,唯一受支持的属性是 AvailabilityZone

    【讨论】:

      猜你喜欢
      • 2019-08-15
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 2017-05-28
      • 2020-11-05
      • 2021-11-26
      • 1970-01-01
      • 2020-03-13
      相关资源
      最近更新 更多