amazon-web-services - 如何从输入到cloudformation的VPC对象中获取CidrBlock值?

标签 amazon-web-services yaml aws-cloudformation vpc aws-security-group

我有一个cloudformation模板。我将 VPC 作为输入。我想从 VPC 输入获取 CidrBlock 值。我怎样才能做到这一点?

我可以将 AWS::EC2::VPC::Id 作为输入,但这似乎只是对物理 ID 的引用。我尝试将 AWS::EC2::VPC 作为输入,但云形成似乎无法识别此类型。

这是我的代码:

AWSTemplateFormatVersion: "2010-09-09"

Parameters:
  pVpc:
    Description: "The VPC"
    Type: AWS::EC2::VPC::Id

Resources:
  rSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      VpcId: !Ref pVpc
      SecurityGroupIngress:
        - IpProtocol: -1
          CidrIp: "0.0.0.0/0"
          # !GetAtt pVpc.CidrBlock    # <-- How can I do this?

最佳答案

除非您部署 Lambda 支持的自定义资源,该资源将您的 VPC Id 作为输入并返回关联的 CIDR block ,否则您无法执行此操作。

其他选项是从创建 VPC 的 CFT 导出 CIDR block ,并在当前 CFT 中引用导出的变量。

关于amazon-web-services - 如何从输入到cloudformation的VPC对象中获取CidrBlock值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59111622/

相关文章:

amazon-web-services - 是否可以通过 EMR(通过 VPC)查看 Spark UI?

amazon-web-services - list-buckets s3api 没有显示我的存储桶创建日期?

amazon-web-services - 限制AWS中的实例类型和请求区域

java - 使用动态生成的 YAML 文件以编程方式配置 Log4J 2

python - 将 YAML 文件加载到保留别名的 Python 中

Azure Kubernetes 服务 : How to move pod from Spot node pool to Regular node pool automatically?

aws-cloudformation - 如何将现有的AWS环境转换为基础设施即代码?

amazon-web-services - 如何从 AWS 命令​​行工具更新 Elastic Beanstalk 应用程序?

amazon-web-services - AWS GovCloud 的 Cloudformation 模板中的 ARN 结构

amazon-web-services - AWS 在 CloudFormation 中支持 SES 吗?