#yaml #amazon-cloudformation
Вопрос:
У меня есть раздел в моем шаблоне CloudFormation, который выглядит следующим образом:
Employees:
- hr:
- office: !Join [ '_', [ 'region', !Ref 'AWS::Region' ] ]
Когда я поднимаю стек и преобразую значения в Employees
yaml
gopkg.in/yaml.v2
пакет golang, пробелы удаляются, так что вывод выглядит следующим образом:
- hr:
- office: region_us-east-1
Когда я прошу yaml сохранить интервал, сделав что-то вроде этого:
Employees:
- hr: >
- office: !Join [ '_', [ 'region', !Ref 'AWS::Region' ] ]
Расширение в шаблоне не происходит, НО пробелы сохраняются, и вывод выглядит следующим образом:
- hr:
- office: !Join [ '_', [ 'region', !Ref 'AWS::Region' ] ]
Как я могу одновременно расширить переменную CloudFormation и сохранить отступ yaml?
Комментарии:
1. К сожалению, неясно, что вы хотите делать. Ваш второй пример с
>
помощью просто создает строку. Что не так с первым примером? Расширение работает, так что, кажется, все в порядке?2. @Marcin в первом примере начальные пробелы удалены, поэтому я заканчиваю тем, что в моем втором примере.
office
должно быть вложено вhr
, а не в новую запись.3. Можете ли вы привести пример результирующей строки?
Ответ №1:
Похоже, что это больше проблема с используемым вами пакетом golang, чем с самой CloudFormation, но вы, вероятно, могли бы обойти проблему, используя явный синтаксис JSON, в котором пробелы удаляются. Это привело бы к чему-то подобному (непроверенному):
Employees:
- hr: [ { office: !Join [ '_', [ 'region', !Ref 'AWS::Region' ] ] } ]