調用內建函式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。