aws-cloudformation - CloudFormation:如何在条件中使用 Fn::Import 值?

标签 aws-cloudformation

我有两个堆栈:VPC 部署堆栈和我的应用程序部署堆栈。在 VPC 堆栈中,我导出称为 EnvType 的值,它可以是 dev、prod 或 staging。根据此导出的值,我想在应用程序部署堆栈中部署一个资源。如果 EnvType = dev,则不要部署它。否则,部署它。 我怎样才能实现这一目标?

最佳答案

我认为您不能执行此操作,因为 ImportValue 不能在条件中使用

您可以使用两个示例模板轻松验证:

bucket1.yaml(导出EnvType)

---
Resources:

  MyBucket:
    Type: AWS::S3::Bucket

Outputs:

  EnvType:
    Value: "prod"
    Export:
      Name: EnvType

bucket2.yaml(导入EnvType并尝试在IsProd条件下使用它)

---
Conditions:

  IsProd:
    !Equals [!ImportValue EnvType, 'prod']

Resources:

  MyBucket2:
    Condition: IsProd
    Type: AWS::S3::Bucket

关于aws-cloudformation - CloudFormation:如何在条件中使用 Fn::Import 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62072665/

相关文章:

amazon-web-services - Amazon Connect 和 CloudFormation

amazon-web-services - 使用 AWS cloudformation 中的计数创建多个 VPC 的 YAML 代码

amazon-web-services - 通过 cloudformation 设置 s3 跨帐户复制时出现错误 "Number of distinct destination bucket ARNs cannot exceed 1"

aws-cloudformation - 无法使用 CloudFormation 删除 Amazon ECS 集群

amazon-web-services - 如何通过 Cloudformation 在 Beanstalk 实例上获取 SSL 证书

amazon-web-services - 如何使 Cloudformation 模板干燥

amazon-web-services - 设置elasticsearch实例put方法的最小角色

amazon-web-services - 使用 CloudFormation 在 RDS 中创建事件订阅

amazon-web-services - 通过 CloudFormation CLI 进行跨账户 S3 访问

aws-cloudformation - 云形成模板设计