Amazon cloudformation CloudFormation:如何在条件中使用Fn::导入值?

Amazon cloudformation CloudFormation:如何在条件中使用Fn::导入值?,amazon-cloudformation,Amazon Cloudformation,我有两个堆栈,VPC部署堆栈和我的应用程序部署堆栈。在VPC堆栈中,我将导出名为EnvType的值,该值可以是dev、prod或staging。根据这个导出的值,我想在应用程序部署堆栈中部署一个资源。如果EnvType=dev,则不要部署它。否则,部署它。 我如何才能做到这一点?我认为您无法做到这一点,因为ImportValue不能在条件下使用 您可以使用以下两个示例模板轻松验证: bucket1.yaml(导出EnvType) bucket2.yaml(导入EnvType并尝试在IsProd条

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

我认为您无法做到这一点,因为
ImportValue
不能在条件下使用

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

bucket1.yaml(导出
EnvType

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

---
Resources:

  MyBucket:
    Type: AWS::S3::Bucket

Outputs:

  EnvType:
    Value: "prod"
    Export:
      Name: EnvType
---
Conditions:

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

Resources:

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