Amazon-Web-Services

CloudFormation模板:短格式如何同時使用Sub和GetAtt?

  • August 28, 2017

我正在使用yaml。所以,我們可以使用:

!GetAtt [ WebServer, AvailabilityZone ]
!GetAtt WebServer.AvailabilityZone

此外,我們可以使用:

!Sub 'sometext-${AWS::StackName}'

如何使用 GetAtt 輸出而不是${AWS::StackName},最好使用第二種形式GetAtt?我確實知道如何使用Join,但我想留下來Sub

只需刪除 !GetAtt 並引用所需的變數。在以下程式碼中,EIP.AllocationId 通常通過 !GetAtt 返回。

!Sub |
#!/bin/bash
export INSTANCEID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
aws ec2 associate-address --instance-id $INSTANCEID --allow-reassociation --allocation-id ${EIP.AllocationId} --region ${AWS::Region}

引用自:https://serverfault.com/questions/867091