CloudFormation: значение свойства SsmAssociations должно иметь тип List - PullRequest
0 голосов
/ 19 ноября 2018

Я создаю шаблон CloudFormation для экземпляра EC2, который я буду использовать для управления серверами Active Directory, которые я уже развернул в своем VPC.У меня проблема при определении ресурса AWS::EC2::Instance.Возможно, это проблема синтаксиса YAML, но у меня возникли проблемы с ее обнаружением.

Когда создается стек, он откатывается с ошибкой «Значение свойства SsmAssociations должно иметь тип List».Документация несколько скудна с точки зрения примеров. SsmAssociations экземпляра Amazon EC2

Вот фрагмент кода YAML, который находится под вопросом:

Resources: 
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      IamInstanceProfile: !Ref InstanceProfile
      SsmAssociations:
        DocumentName: !Ref InstanceProfile
        AssociationParameters:
          -
            Key: "directoryId"
            Value: 
              - 
                Fn::ImportValue:
                  Fn::Join:
                  - ''
                  - - !Ref ADStackName
                    - '-'
                    - 'DirectoryId'
          - 
            Key: "directoryName"
            Value: 
              - 
                Fn::ImportValue:
                  Fn::Join:
                  - ''
                  - - !Ref ADStackName
                    - '-'
                    - 'DirectoryName'
          - 
            Key: "dnsIpAddresses"
            Value:
              - 
                Fn::ImportValue:
                  Fn::Join:
                  - ''
                  - - !Ref ADStackName
                    - '-'
                    - 'ADServer1PrivateIP'
              - 
                Fn::ImportValue:
                  Fn::Join:
                  - ''
                  - - !Ref ADStackName
                    - '-'
                    - 'ADServer2PrivateIP'
      KeyName: !Ref EC2KeyPair 

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 19 ноября 2018

В соответствии с документацией AWS :: EC2 :: Instance указано, что SsmAssociations имеет

Тип: список AmazonSsmAssociations экземпляра EC2.

(что также указано в сообщении об ошибке).Однако в вашей декларации YAML вы указали одну ассоциацию SsmAssociations.Попробуйте изменить это на следующее:

Resources: 
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      IamInstanceProfile: !Ref InstanceProfile
      SsmAssociations:
        # Notice the addition of the "-" on the line below to declare a yaml list
        - 
          DocumentName: !Ref InstanceProfile
          AssociationParameters:
          # add the rest of the declaration
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...