Поддерживает ли тропосфера пользовательские данные с различными типами контента? - PullRequest
0 голосов
/ 01 октября 2019

Я использую тропосферу для настройки своего ЦФТ. При создании файла python для тропосферы я обнаружил, что пользовательские данные делятся на типы контента . Я не смог найти никаких шаблонов для такого рода пользовательских данных. Может ли кто-нибудь помочь мне с преобразованием этих пользовательских данных YAML в Python ?

        UserData: 
          Fn::Base64: 
            Fn::Sub: 
              - |
                Content-Type: multipart/mixed; boundary="**"
                MIME-Version: 1.0

                --**
                MIME-Version: 1.0
                Content-Type: text/cloud-boothook; charset="us-ascii"

                cloud-init-per once yum_update yum update -y
                cloud-init-per once install_aws_cfn_bootstrap yum -y install aws-cfn-bootstrap

                cloud-init-per instance custom_docker_options cat <<'EOF' > /etc/sysconfig/docker
                DAEMON_MAXFILES=1048576
                ...
                EOF

                cloud-init-per instance custom_docker_storage_options cat <<'EOF' > /etc/sysconfig/docker-storage-setup
                DEVS="${InstanceStoreDevices}"
                ...
                EOF

                cloud-init-per instance custom_ecs_options cat <<'EOF' > /etc/ecs/ecs.config
                ECS_CLUSTER=${PlatformCluster}
                ....
                EOF

                --**
                MIME-Version: 1.0
                Content-Type: text/x-shellscript; charset="us-ascii"

                #!/bin/bash
                set -e

                # set sysctl before doing anything
                echo "net.ipv4.conf.all.forwarding = 1" >> /etc/sysctl.d/99-local.conf
                sysctl net.ipv4.conf.all.forwarding=1

                /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource PlatformClusterLaunchTemplate --configsets all --region ${AWS::Region}
                /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource PlatformClusterNonASG --region ${AWS::Region}
              - PlatformCluster: !Ref PlatformCluster
                InstanceStoreDevices: !FindInMap [InstanceStoreDevices, !Ref NodeInstanceType, "DEVS"]
...