AWS Cloudformation - วิธีจัดเก็บค่า SSM ตามเงื่อนไข

ฉันกำลังพยายามใช้ SSM โดยใช้เทมเพลต cloudformation อย่างไรก็ตาม ฉันไม่สามารถทราบวิธีจัดเก็บค่าที่แตกต่างกันตามสภาพแวดล้อมตามเงื่อนไขได้

ไปป์ไลน์การปรับใช้โค้ดผ่านพารามิเตอร์ 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