amazon-web-services - 如何获取用户在CloudFormation中选择的VPC的CIDR block ?

标签 amazon-web-services aws-cloudformation amazon-vpc

我要求用户选择现有的 VPC:

Parameters:
  MyVPC:
    Type: AWS::EC2::VPC::Id

然后在我的“资源” block 中,我尝试获取该 VPC 的 CIDR block 。
当我尝试这个时:

      - Fn::GetAtt:
        - MyVPC
        - CidrBlock

我得到:

Template error: instance of Fn::GetAtt references undefined resource MyVPC

我猜是因为从技术上讲,MyVPC 是一个参数而不是资源。

那么如何获取用户选择的VPC的网段呢?

最佳答案

我认为这是不可能的。

参数只是一个VPCID,而不是VPC本身。

GetAtt 命令需要模板中的Resource,但该模板中不存在。

您需要将 CIDR block 添加为另一个参数,或者创建 Lambda 支持的 Custom Resource这将获取信息并使其可供模板使用。

关于amazon-web-services - 如何获取用户在CloudFormation中选择的VPC的CIDR block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52047985/

相关文章:

apache - vpc下的amazon ec2实例无法解析自己的主机名

amazon-web-services - 从 VPC 中的 Lambda 访问 AWS S3

python - 强制Hive表中的每一行使用一个映射器

mysql - AWS : Can't connect EC2 instance to RDS instance after configuring security groups

php - 在 S3 中检索对象用户元数据 - aws sdk v3 php

amazon-web-services - 有关可在 CloudWatch 中使用的 AWS 日志的概述

amazon-web-services - 如何授予 RDS 实例从 CFT 或 SAM 模板调用 lambda 的权限

amazon-web-services - VPC 服务可用区是否需要与 VPC 端点区域匹配?

amazon-ec2 - 如何在扩展策略中启动多个实例?

amazon-web-services - AWS 自动缩放策略终止繁忙实例而不是空闲实例