Ошибка YAML для файла CloudFormation с! Equal &! Ref - PullRequest
0 голосов
/ 04 марта 2020

Получение проблемы с YAML для файла CloudFormation, который отлично работал до даты, и сегодня он начал выдавать ошибку, что файл недействителен YAML для нескольких строк:

Conditions:
  Az2Enabled: !Equals [!Ref "AzCount", "2"]
  CreateStagingResources: Equals [!Ref "Environment", staging]  

In В приведенном выше примере вторая строка выдает ошибку, а третья строка (хотя и неверная) не выдает никакой ошибки. Ошибка, которую я получаю для второй строки:

unknown tag ! at line 95, column 38: ... Enabled: !Equals [!Ref "AzCount", "2"] ^

enter image description here

enter image description here

Я использую инструкции из AWS, а также скачал шаблон только из AWS:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html

Я попробовал валидаторы YAML, предоставленные онлайн по следующим URL:

https://yamlvalidator.com/
https://codebeautify.org/yaml-validator
https://onlineyamltools.com/validate-yaml

Если я удаляю пробел между: &!, Он говорит, что то же самое верно, но теперь выдает ошибку для строки:

  Tags:
    - Key: ClientName
      Value:!Sub "${ClientName}"

Ошибка:

can not read an implicit mapping pair; a colon is missed at line 108, column 37: Value:!Sub "${ClientName}" ^

Это происходит, если я удаляю пробел между: &! Sub, и если я сохраняю пробел, это выдает вышеуказанную ошибку!

Не уверен, если мне нужно преобразовать его в длинный формат, попытался следовать Формат указан по этой ссылке:

https://gist.github.com/DavidWells/be078deef45f8cb2e280ccc7af947392

Conditions:
  Az2Enabled: {"Fn::Equals", {Ref: "AzCount", "2"}}

Приведенный выше формат не выдает ошибку, но затем придется преобразовать весь файл в этот формат: - (

Кто-нибудь сталкивался с этой проблемой и есть решение для этого?

1 Ответ

1 голос
/ 04 марта 2020

Я думаю, что вы пропали без вести ! в:

CreateStagingResources: Equals [!Ref "Environment", staging]

это должно быть:

CreateStagingResources: !Equals [!Ref "Environment", staging]
...