首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS Cloudformation中UserData中的参考参数值

AWS Cloudformation中UserData中的参考参数值
EN

Stack Overflow用户
提问于 2017-06-27 16:28:23
回答 2查看 9.1K关注 0票数 2

我把这个放在参数部分,

代码语言:javascript
复制
Parameters:
  PlatformSelect:
    Description: Cockpit platform Select.
    Type: String
    Default: qa-1
    AllowedValues: [qa-1, qa-2, staging, production]

我需要在我的UserData中引用这个值。我在两者之间使用Mappings。

代码语言:javascript
复制
Mappings:
  bootstrap:
    ubuntu:
      print: echo ${PlatformSelect} >>test.txt

Resources:
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      InstanceType: !Ref ‘InstanceType’
      KeyName: !Ref ‘KeyName’
      Tags:
      - Key: Name
        Value: Test
      UserData:
        Fn::Base64:
          Fn::Join:
          - ‘’
          - - |
              #!/bin/bash
            - Fn::FindInMap:
              - bootstrap
              - ubuntu
              - print
            - |2+

这不管用。我不确定我提到它的方式首先是错误的!!

我是否应该在它之前使用类似于“${AWS::Parameters:PlatformSelect}”之类的内容?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-27 16:40:35

你在两者之间使用Mapping有什么原因吗?

您可以很容易地使用!Sub

代码语言:javascript
复制
Resources:
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      InstanceType: !Ref InstanceType
      KeyName: !Ref KeyName
      Tags:
        - Key: Name
          Value: Test
      UserData:
        Fn::Base64:
          !Sub |
            #!/bin/bash
            ${PlatformSelect}
票数 10
EN

Stack Overflow用户

发布于 2017-06-27 17:00:14

Fn::JoinRef的组合怎么样?

代码语言:javascript
复制
UserData:
        Fn::Base64:
          Fn::Join:
            - ''
            - - '#!/bin/bash\n'
              - 'print: echo'
              - !Ref 'PlatformSelect' 
              - '>>test.txt\n'
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44775534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档