我有两个堆栈,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