#amazon-cloudformation #aws-ssm
#amazon-cloudformation #aws-ssm
Вопрос:
Я пытаюсь использовать SSM, используя шаблон cloudformation. Однако я не могу понять, как хранить разные значения для каждой среды в зависимости от условия.
Конвейер развертывания кода передает Stage
параметр, который я могу использовать, чтобы понять, в какой среде развертывается код.
Resources:
SNSTopicName:
Type: AWS::SSM::Parameter
Properties:
Description: SNS Topic Name
Name: !Sub "/${Stage}/broker_name"
Type: String
Value: ""
Как мне задать условие для значения на основе Stage
переменной
Ответ №1:
Ниже приведен один из способов;
Я предположил, что у вас есть параметр этапа, определенный следующим образом, но если определение / объявление 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
Где общим является map с его ключом в качестве значения вашего параметра Stage, а значением является брокер