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"]
}
}
}
}