Outputs セクションは、GetStack 操作の呼び出し時に返される値の定義に使用されます。 たとえば、ECS のインスタンス ID を出力項目として定義した場合、GetStack 操作の呼び出しに伴い ECS のインスタンス ID が返されます。

構文

各出力項目は、ID と説明で構成されています。 出力の説明は、すべて波括弧 ({ }) で囲まれています。 出力項目が複数ある場合はコンマ (,) で区切ります。 各出力項目は、配列形式で複数の値を持つことができます。 以下の例は、出力構文を示しています。

"Outputs" : {
  "Output1 ID" : {
    "Description": "The description of the output item",
    "Condition": "The condition that specifies whether to provide resource properties",
    "Value": "The output value expression"
  },
  "Output2 ID" : {
    "Description": "The description of the output item",
    "Condition": "The condition that specifies whether to provide resource properties",
    "Value" : [
      "Output value expression 1",
      "Output value expression 2",
      ...
    ]
  }
}            
  • Output ID : 出力アイテムのID。 テンプレート内で ID を重複させることはできません。
  • Description:省略可能です。 出力項目の説明です。
  • Value :必須です。 GetStack 操作が呼び出されたときに返される値です。
  • Condition:省略可能です。 リソースを作成し、情報を提供するかを指定する条件です。 指定された条件が true になった場合にのみリソースが作成され、情報が提供されます。

以下の例には、2 つの出力項目が含まれています。 1 つ目の出力項目には WebServer の InstanceId パラメーターの値が、2 つ目の出力項目には WebServer の PublicIp パラメーターと PrivateIp パラメーターの値が含まれます。

"Outputs": {
  "InstanceId": {
    "Value" : {"Fn::GetAtt": ["WebServer", "InstanceId"]}
  },
  "PublicIp & PrivateIp": {
    "Value" : [
      {"Fn::GetAtt": ["WebServer", "PublicIp"]},
      {"Fn::GetAtt": ["WebServer", "PrivateIp"]}
    ]
  }
}           

以下の例では、MaxAmount パラメーターの定める条件が true になった場合にのみ WebServer が作成されます。

{
  "ROSTemplateFormatVersion" : "2015-09-01",
  "Parameters": {
    "MaxAmount": {
      "Type": "Number",
      "Default": 1
    }
  },
  "Conditions": {
    "CreateWebServer": {"Fn::Not": {"Fn::Equals": [0, {"Ref": "MaxAmount"}]}}
  }
  "Resources" : {
    "WebServer": {
      "Type": "ALIYUN::ECS::InstanceGroup",
      "Condition": "CreateWebServer",
      "Properties": {
        "ImageId" : "m-25l0r****",
        "InstanceType": "ecs.t1.small"
        "MaxAmount": {"Ref": "MaxAmount"}
      }
    }
  }
  "Outputs": {
    "WebServerIP": {
      "Condition": "CreateWebServer",
      "Value": {
        "Fn::GetAtt": ["WebServer", "PublicIps"]
      }
    }
  }
}