调用内部函数Fn::GetAtt,返回模板中对应资源的属性值。
Fn::GetAtt函数用于资源栈以获取资源输出
函数声明
JSON
{ "Fn::GetAtt": [ "logicalNameOfResource", "attributeName" ] }
YAML
完整函数名的语法。
Fn::GetAtt: - logicalNameOfResource - attributeName
缩写形式语法。
!GetAtt logicalNameOfResource.attributeName
参数信息
logicalNameOfResource
:资源栈中资源的逻辑名称。资源逻辑名称为您在模板中为特定资源定义的易识别的名称。attributeName
:资源栈中资源的属性名称。
返回值
资源栈中对应资源的属性值,即attributeName
的值。
使用示例
返回资源名称为MyEcsInstance中的ImageID属性值。
!GetAtt MyEcsInstance.ImageID
{
"Fn::GetAtt": [
"MyEcsInstance",
"ImageID"
]
}
说明
在资源栈模板中,使用缩写形式的语法引用资源输出时可以支持包含.
的资源名称,但是建议您尽量避免使用包含.
的资源逻辑名称。
Resources:
Foo.Moo.MyInstance:
Type: ALIYUN::ECS::InstanceGroup
Outputs:
ImageId:
Value: !GetAtt Foo.Moo.MyInstance.ImageID
Fn::GetAtt函数用于嵌套资源栈以获取嵌套资源栈的输出
函数声明
JSON
{ "Fn::GetAtt": [ "nestedStackName", "Outputs.attributeName" ] }
YAML
完整函数名的语法。
Fn::GetAtt: - nestedStack - Outputs.attributeName
缩写形式语法。
!GetAtt nestedStack.Outputs.attributeName
说明使用YAML的缩写形式获取嵌套资源栈输出时,可以支持嵌套资源栈名称中包含
.
,但不支持嵌套资源栈输出的属性名称中包含.
。
参数
nestedStack
:嵌套资源栈的名称。关于嵌套资源栈,请参见使用嵌套资源栈。Outputs.attributeName
:Outputs.
前缀固定,attributeName
为嵌套资源栈中输出的属性名称。
返回值
嵌套资源栈中输出的属性值。
使用示例
关于示例的更多信息,请参见ALIYUN::ROS::Stack。