すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:Fn::GetAtt

最終更新日:Apr 22, 2025

ビルトイン関数 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」をご参照ください。