Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon cloudformation AWS将参数传递到EC2环境_Amazon Cloudformation - Fatal编程技术网

Amazon cloudformation AWS将参数传递到EC2环境

Amazon cloudformation AWS将参数传递到EC2环境,amazon-cloudformation,Amazon Cloudformation,我正在创建一个EC2实例模板,它将运行一个特定的应用程序。我希望能够将参数传递到我在模板UserData中执行的应用程序启动脚本 理想情况下,我可以将指定的参数转换为: A) 我将在启动脚本中访问的ec2实例上的环境变量 B) 我的UserData脚本中的可用变量 这是我想要完成的一个简化模板。。。没有发现任何aws文档表明可以完成: Resources: GitlabRunner: Type: "AWS::EC2::Instance" Description: "AWS s

我正在创建一个EC2实例模板,它将运行一个特定的应用程序。我希望能够将参数传递到我在模板UserData中执行的应用程序启动脚本

理想情况下,我可以将指定的参数转换为: A) 我将在启动脚本中访问的ec2实例上的环境变量 B) 我的UserData脚本中的可用变量

这是我想要完成的一个简化模板。。。没有发现任何aws文档表明可以完成:

Resources:
  GitlabRunner:
    Type: "AWS::EC2::Instance"
    Description: "AWS stack for a serivce"
    Properties:
      UserData:
        Fn::Base64: "#!/bin/bash\nmy-service $TAGS"

Parameters:
  Tags:
    Type: String
    Default: asd
    Description: Comma delimited list of tags

这个场景可以使用
实现!Sub
(注意替换语法
${..}
)。例如:

Resources:
  GitlabRunner:
    Type: "AWS::EC2::Instance"
    Description: "AWS stack for a serivce"
    Properties:
      UserData:
        Fn::Base64: !Sub "#!/bin/bash\nmy-service ${Tags}"

Parameters:
  Tags:
    Type: String
    Default: asd
    Description: Comma delimited list of tags
...
UserData:
  Fn::Base64: !Sub |
    #!/bin/bash
    my-service ${Tags}
    echo hello world
您可以避免使用
|
在一行中输入所有内容。例如:

Resources:
  GitlabRunner:
    Type: "AWS::EC2::Instance"
    Description: "AWS stack for a serivce"
    Properties:
      UserData:
        Fn::Base64: !Sub "#!/bin/bash\nmy-service ${Tags}"

Parameters:
  Tags:
    Type: String
    Default: asd
    Description: Comma delimited list of tags
...
UserData:
  Fn::Base64: !Sub |
    #!/bin/bash
    my-service ${Tags}
    echo hello world