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