ビルトイン関数 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", // ECSインスタンスのリソース名
"ImageID" // イメージID
]
}スタックテンプレート内のリソース出力を参照するために短縮形の構文を使用する場合、リソースにピリオド (.) を含む名前を指定できます。エラーを防ぐために、リソースにピリオド (.) を含む論理名を指定しないことをお勧めします。
Resources:
Foo.Moo.MyInstance:
Type: ALIYUN::ECS::InstanceGroup
Outputs:
ImageId:
Value: !GetAtt Foo.Moo.MyInstance.ImageIDネストされたスタックの出力からプロパティ値を返す
宣言
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」をご参照ください。