釋放 AI 的強大力量

100 萬免費代幣

88% 價格優惠

NaNDayNaN:NaN:NaN
立即啟用
本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

輸出(Outputs)

更新時間:2025-01-22 19:37

在輸出(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,則只輸出星號(*)。

  • Console.Url(可選):在資源棧資訊頁面輸出使用資訊。

說明

其中Value支援引用(Ref)、擷取資源屬性(Fn::GetAtt)、函數、常量(如數字、字串、字典、列表等資料結構)定義輸出結果。

樣本

在以下樣本中,輸出部分有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

在以下樣本中,輸出了Output Value所支援的多種資料類型(如列表、字典、函數、常量等),並加入了服務網域名稱訪問地址的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

在以下樣本中,輸出了Output Value一次性輸出多組WebServer URL的樣本(多組URL通過逗號進行分隔)。

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  WebServerAddress:
    Type: String
    Default: 192.168.1.1
    Label:
      zh-cn: Web服務訪問地址
      en: WebServerAddress
Outputs:
  WebServerAddress:
    Description:
      zh-cn: Web服務訪問地址。
      en: Web Server url.
    Value:
      Fn::Sub:
        - http://${WebServerAddress}:80,http://${WebServerAddress}:8080,http://${WebServerAddress}:8881
        - WebServerAddress:
            Ref: WebServerAddress
  • 本頁導讀 (1, M)
  • 文法
  • 樣本
文檔反饋
phone 聯絡我們

立即和Alibaba Cloud在線服務人員進行交談,獲取您想了解的產品信息以及最新折扣。

alicare alicarealicarealicare