Назад | Перейти на главную страницу

Синтаксис yaml стека CloudFormation?

Я пытаюсь создать группу безопасности с тегом типа Name: SG-StackName. Этот код отлично работает в json:

"Resources": {
    "SecurityGroup": {
        "Type": "AWS::EC2::SecurityGroup",
        "Properties": {
            ...
            "Tags": [{
                    "Key": "Name",
                    "Value": {
                        "Fn::Join" : [ "", [
                            "SG-",
                            {   "Ref" : "AWS::StackName"    }
                        ]]
                    }
                }
            ]
        }
    },

Теперь пытаюсь преобразовать его в yaml:

Resources: 
  SecurityGroup: 
    Type: AWS::EC2::SecurityGroup
    Properties: 
      ...
      Tags: 
        - Key: Name
        - Value: !Join
          - ''
          - - 'SG-'
            - Ref: AWS::StackName

Сборка стека завершается ошибкой «Ключ не найден в свойстве Теги». Где ошибка в шаблоне?

У вас есть дополнительный символ '-' в определении тегов. Он должен выглядеть примерно как фрагмент ниже (я не уверен в синтаксисе соединения, лично я обычно использую Sub):

Tags: 
    - Key: Name
      Value: !Sub "SG-${AWS::StackName}"