Я пытаюсь передать пользовательские данные в экземпляр EC2, созданный в Cloudformation, используя следующее:
UserData: !Base64
'Fn::Join':
- ''
- - |
#!/bin/bash -xe
echo '
- !Ref 'someVar'
- |
' > /tmp/some-content
, который работает. Вот расширенные пользовательские данные (кстати, я также не знаю, почему после echo '
появляется новая строка, но это не главный вопрос):
#!/bin/bash -xe
echo '
some string passed as parameter' > /tmp/some-content
Но если я удалю -
из части! Ref, он обрабатывает! Ref как строку:
UserData: !Base64
'Fn::Join':
- ''
- - |
#!/bin/bash -xe
echo '
!Ref 'License'
' > /tmp/some-content
Вот расширенные пользовательские данные.
#!/bin/bash -xe
echo '
!Ref 'someVar'
' > /tmp/some-content
Почему это происходит? Является ли это облачной информацией внутренней вещью, которая расширяется! Ссылочные переменные, только если они одни в качестве элемента в списке?