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

问题描述 投票:0回答:1

我有两个堆栈,VPC部署堆栈和我的应用程序部署堆栈。在VPC堆栈中,我正在导出名为EnvType的值,该值可以是dev,prod或staging。根据此导出的值,我想在应用程序部署堆栈中部署一个资源。如果EnvType = dev,则不要部署它。否则,部署它。我该如何实现?

amazon-cloudformation
1个回答
1
投票

我不认为您可以这样做,因为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
© www.soinside.com 2019 - 2024. All rights reserved.