我使用的是 yaml。因此,我们可以使用以下任一方法:
!GetAtt [ WebServer, AvailabilityZone ]
!GetAtt WebServer.AvailabilityZone
另外,我们可以使用:
!Sub 'sometext-${AWS::StackName}'
我如何使用 GetAtt 输出来代替${AWS::StackName}
,最好使用第二种形式GetAtt
?我确实知道如何使用,Join
但我想继续使用Sub
。
答案1
只需删除 !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}