Todos os produtos
Search
Central de documentação

Resource Orchestration Service:Outputs

Última atualização: Jun 27, 2026

Na seção Outputs, defina os valores que o Resource Orchestration Service (ROS) retorna durante a chamada da operação GetStack. Por exemplo, ao definir o ID de uma instância do Elastic Compute Service (ECS) como output, o ROS retorna esse ID quando a operação GetStack é executada.

Sintaxe

A declaração de um output inclui nome e descrição. Cada output pode conter vários valores retornados em um array. O código a seguir ilustra a sintaxe da seção Outputs:

Outputs:
  Name of Output 1:
    Description: the description of the output.
    Condition: the condition that determines whether to return a specific resource property.
    Value: the expression of the output value.
    Label: the alias of the output.
  Name of Output 2:
    Description: the description of the output.
    Condition: the condition that determines whether to return a specific resource property.
    Value:
      - Expression 1 of the output value.
      - Expression 2 of the output value.
      - ...
    Label: the alias of the output.
  • Nome: identifica o output e deve ser único no modelo.

  • Descrição: detalha o propósito do output. Campo opcional.

  • Valor: propriedade obrigatória que especifica o valor retornado para uma propriedade de recurso durante a chamada da operação GetStack.

  • Condição: determina se o recurso será criado e se suas informações serão retornadas. O sistema cria o recurso e retorna os dados apenas quando a condição especificada é verdadeira. Campo opcional.

  • Rótulo: define um alias para o output. Campo opcional.

  • NoEcho: controla a ocultação do valor do parâmetro retornado. Se definido como true, o ROS mascara o valor com asteriscos (*). Campo opcional.

  • Console.Url: URL do console exibida na aba Stack Information da página de detalhes da pilha. Campo opcional.

Nota

No valor de um output, é possível definir funções e literais como números, strings, dicionários e listas. Use também Ref para referenciar valores e Fn::GetAtt para consultar valores de propriedades de recursos.

Exemplos

O exemplo a seguir utiliza dois outputs. O primeiro retorna a propriedade InstanceId do WebServer. O segundo combina as propriedades PublicIp e PrivateIp desse recurso.

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

Neste cenário, o WebServer é criado apenas se a condição definida por MaxAmount for verdadeira.

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

O exemplo abaixo demonstra o retorno de valores de diversos tipos, incluindo listas, dicionários, funções e constantes. Ele também ilustra o uso de Console.Url para especificar a URL do console de serviço como output.

ROSTemplateFormatVersion: '2015-09-01'
Metadata: {}
Parameters:
  DictObjectParameter:
    Default:
      k2: v2
      k1: v1
    Type: Json
  NumberParameter:
    Default: 3.14
    Type: Number
  StringParameter:
    Default: ecs.c1.large
    Type: String
  ArrayListParameter:
    Default:
      - xiaomi
      - xiaofeng
      - xiaoliang
    Type: Json
  EcsInstancePublicIp:
    Default: 1.1.X.X
    Type: String
Resources: {}
Outputs:
  Console.Url:
    Description: Console Url Demo Value
    Value:
      Fn::Sub:
        - http://${EcsPublicIp}/elasticsearch-demo
        - EcsPublicIp:
            Ref: EcsInstancePublicIp
  ArrayList:
    Description: ArrayList Output Value
    Value:
      Ref: ArrayListParameter
  DictObject:
    Description: DictObject Output Value
    Value:
      Ref: DictObjectParameter
  Number:
    Description: Number Output Value
    Value:
      Ref: NumberParameter
  String:
    Description: String Output Value
    Value:
      Ref: StringParameter

Para retornar várias URLs de servidores web separadas por vírgula (,), defina o valor do output conforme o exemplo a seguir.

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  WebServerAddress:
    Type: String
    Default: 192.168.1.1
    Label:
       
      en: WebServerAddress
Outputs:
  WebServerAddress:
    Description:
       
      en: Web Server url.
    Value:
      Fn::Sub:
        - http://${WebServerAddress}:80,http://${WebServerAddress}:8080,http://${WebServerAddress}:8881
        - WebServerAddress:
            Ref: WebServerAddress