less than 1 minute read

あるスタックから以下値がexportされているとして、

  • Test-CFn-Stack::AdminUserName: admin
  • Test-CFn-Stack::TestCmd : uname

以下のような記載をするCloudFormation Templateを作成すると、

Parameters:
 ExternalStackName:
    Description: external stack name
    Default: Test-CFn-Stuck
    AllowedValues:
      - Test-CFn-Stuck

UserData:
  Fn::Base64:
    Fn::Sub:
      - |
        #cloud-config
        users:
          - name: ${AdminUserNameDefinedInUserData}
            groups: [ wheel ]
            shell: /bin/bash
        runcmd:
          - ${TestCmdDefinedInUserData}
      - AdminUserNameDefinedInUserData: !ImportValue 
          'Fn::Sub': '${Test-CFn-Stack}::AdminUserName'
        TestCmdDefinedInUserData: !ImportValue 
          'Fn::Sub': '${Test-CFn-Stack}::TestCmd'

以下のようなUserDataに置換されるはず

UserData:
  Fn::Base64:
    Fn::Sub:
      - |
        #cloud-config
        users:
          - name: admin
            groups: [ wheel ]
            shell: /bin/bash
        runcmd:
          - uname

Tags: ,

Updated: