文档

输出(Outputs)

更新时间:

在输出(Outputs)中,定义在调用查询资源栈接口时返回的值。例如,定义ECS实例ID的输出,然后可在调用查询资源栈的接口时,查看该实例ID。

语法

Outputs由输出Name和输出描述组成。每一个输出项支持以数组形式输出多个值。请参见以下Outputs的语法结构示例代码:

Outputs:
  输出1 Name:
    Description: 输出的描述
    Condition: 是否输出此资源属性的条件
    Value: 输出值的表达式
    Label: 输出的别名
  输出2 Name:
    Description: 输出的描述
    Condition: 是否输出此资源属性的条件
    Value:
      - 输出值的表达式1
      - 输出值的表达式2
      - ...
    Label: 输出的别名
  • 输出Name:输出项的标识符,在模板中具有唯一性。

  • Description(可选):对输出值的描述。

  • Value(必需):在调用查询资源栈接口时,返回的属性值。

  • Condition(可选):使用Condition属性可以指定是否需要创建某个资源和输出资源的信息。当Condition所指定的条件值为true时,才创建此资源和输出资源信息。

  • Label(可选):输出的别名。

  • NoEcho(可选):是否输出参数值。如果将值设置为true,则只输出星号(*)。

示例

在以下示例中,输出部分有2个输出项。第一个输出资源ID为WebServer的InstanceId属性,第二个输出资源ID为WebServer的PublicIp和PrivateIp属性。

Outputs:
  InstanceId:
    Value:
      Fn::GetAtt:
        - WebServer
        - InstanceId
  PublicIp & PrivateIp:
    Value:
      - Fn::GetAtt:
          - WebServer
          - PublicIp
      - Fn::GetAtt:
          - WebServer
          - PrivateIp

在以下示例中,根据MaxAmount的值判断是否创建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
  • 本页导读 (1)