AWS CloudFormation Error 'Значение свойства AlarmActions должно иметь тип List of String' - PullRequest
1 голос
/ 02 апреля 2020

Я пытаюсь обновить свой стек cf и при развертывании сталкиваюсь со следующей ошибкой: 'Значение свойства AlarmActions должно иметь тип List of String'

это свойство AlarmActions:

 AlarmActions:
                - !Ref SparksTeamSNSTopic
                - !If
                    - CreateProdResources
                    - - !Ref SparksProdAlarmSNSTopic
                      - !ImportValue
                          'Fn::Sub': '${Environment}-BMCMajorAlarmTopic'
                    - - !Ref 'AWS::NoValue'                   

Ответы [ 2 ]

1 голос
/ 02 апреля 2020

Попробуйте,

AlarmActions:
    - !Ref SparksTeamSNSTopic
    - !If
      - CreateProdResources
      - - !Ref SparksProdAlarmSNSTopic
        - !ImportValue
            'Fn::Sub': '${Environment}-BMCMajorAlarmTopic'
      - !Ref 'AWS::NoValue'  
0 голосов
/ 02 апреля 2020

Согласно документации AWS , свойство AlarmActions должно содержать значения в виде списка строк. Поэтому у вас должно быть что-то вроде этого, если это JSON:

"AlarmActions":[
      {"Ref":"ARN of something"},
      {"Ref":"ARN of something"}           
]

Но так как вы использовали YAML, у вас должно быть что-то вроде этого:

AlarmActions:
      - !Split [",", !Ref SparksTeamSNSTopic]  <-- make sure SparksTeamSNSTopic contains a list of strings; hence this will split it by comma 

Вы можете определить SparksTeamSNSTopic как

"SparksTeamSNSTopic" : ["topicarn1", "topicarn2"]
...