【问题标题】:AWS Cloudformation - How to store SSM value as per conditionAWS Cloudformation - 如何根据条件存储 SSM 值
【发布时间】:2021-01-20 02:06:56
【问题描述】:
我正在尝试通过 cloudformation 模板使用 SSM。但是,我无法弄清楚如何根据条件为每个环境存储不同的值。
代码部署管道传递Stage 参数,我可以使用该参数来了解代码正在部署到哪个环境。
Resources:
SNSTopicName:
Type: AWS::SSM::Parameter
Properties:
Description: SNS Topic Name
Name: !Sub "/${Stage}/broker_name"
Type: String
Value: ""
如何根据Stage 变量设置值的条件
【问题讨论】:
标签:
amazon-cloudformation
aws-ssm
【解决方案1】:
以下是其中一种方式;
我假设您定义了如下所示的 Stage 参数,但如果 Stage 参数的定义/声明因您而异。如下图Broker对相关逻辑没有影响/变化;
Parameters:
Stage:
Type: String
AllowedValues:
- dev
- tst
- acc
- prd
Mappings:
Common:
dev:
Broker: Development
tst:
Broker: Test
acc:
Broker: Acceptance
prd:
Broker: Production
SNSTopicName:
Type: AWS::SSM::Parameter
Properties:
Description: SNS Topic Name
Name: !Sub "/${Stage}/broker_name"
Type: String
Value: !FindInMap
- Common
- !Ref "Stage"
- Broker
Common 是映射,它的键是 Stage 参数的值,值是 Broker