AWS Cloudformation - Как сохранить значение SSM в соответствии с условием

Я пытаюсь использовать SSM, используя шаблон облачной информации. Однако я не могу понять, как хранить разные значения для каждой среды в зависимости от условий.

Конвейер развертывания кода передает Stage Параметр, который я могу использовать, чтобы понять, в какой среде развертывается код.

Resources:
  SNSTopicName:
    Type: AWS::SSM::Parameter
    Properties:
      Description: SNS Topic Name
      Name: !Sub "/${Stage}/broker_name"
      Type: String
      Value: ""

Как поставить условие для значения на основе переменной Stage


person Gaurang Shah    schedule 19.01.2021    source источник


Ответы (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.

person amitd    schedule 19.01.2021