Нужно ли нам экранировать что-нибудь в Fn :: Base64:! Sub в AWS?

Когда мы используем Fn :: Base64:! Sub | для раздела UserData в шаблоне YAML CloudFormation, нужно ли нам избегать таких вещей, как двойные кавычки, обратная косая черта и т.п.?

Пример синтаксиса:

UserData:
  Fn::Base64:
    !Sub |
      #!/bin/bash -xe
      yum update -y aws-cfn-bootstrap
      /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource LaunchConfig --configsets wordpress_install --region ${AWS::Region}
      /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource WebServerGroup --region ${AWS::Region}

person sashoalm    schedule 28.11.2017    source источник


Ответы (1)


Сделал экспериментальный раздел UserData:

Fn::Base64: !Sub |
  <script>
  cd "C:\\Windows"
  cd \"C:\\Windows\"
  </script>

Затем посмотрел на пользовательские данные, переданные экземпляру EC2 в http://169.254.169.254/latest/user-data изнутри машины:

<script>
cd "C:\\Windows"
cd \"C:\\Windows\"
</script>

Таким образом, пользовательские данные действительно были переданы как есть, и ничего не нужно было экранировать.

person sashoalm    schedule 28.11.2017