身為雲端範本設計人員,您可以使用輸入參數,以便使用者可以在請求時進行自訂選取。

輸入的運作方式

使用者提供輸入時,您不再需要儲存多個僅有細微差別的範本複本。此外,輸入可以準備用於第 2 天作業的範本。請參閱如何使用雲端範本輸入執行 vRealize Automation 第 2 天更新

下列輸入顯示如何為 MySQL 資料庫伺服器建立一個雲端範本,使用者可以在其中將該範本部署到不同的雲端資源環境中,並且每次都套用不同的容量和認證。

輸入變數

新增輸入參數

在範本代碼中新增 inputs 區段,您可以在其中設定可選取的值。

在下列範例中,您可以選取機器大小、作業系統和叢集伺服器數目。

inputs:
  wp-size:
    type: string
    enum:
      - small
      - medium
    description: Size of Nodes
    title: Node Size
  wp-image:
    type: string
    enum:
      - coreos
      - ubuntu
    title: Select Image/OS
  wp-count:
    type: integer
    default: 2
    maximum: 5
    minimum: 2
    title: Wordpress Cluster Size
    description: Wordpress Cluster Size (Number of nodes)

如果您不滿意編輯程式碼,可以按一下程式碼編輯器輸入索引標籤,然後在其中輸入設定。下列範例顯示前面提到的 MySQL 資料庫的一些輸入。

[輸入] 索引標籤

參考輸入參數

然後,在 resources 區段中,使用 ${input.property-name} 語法參考輸入參數。

如果內容名稱中包含空格,請使用方括弧和雙引號進行分隔,而非使用點標記法:${input["property name"]}

重要: 您在雲端範本代碼中無法使用 input 一詞,除非指示輸入參數。
resources:
  WebTier:
    type: Cloud.Machine
    properties:
      name: wordpress
      flavor: '${input.wp-size}'
      image: '${input.wp-image}'
      count: '${input.wp-count}'

可選輸入

輸入通常是必要的,並標有星號。若要將輸入設定為可選,請設定空白預設值,如下所示。

owner:
  type: string
  minLength: 0
  maxLength: 30
  title: Owner Name
  description: Account Owner
  default: ''
可選輸入

輸入內容清單

內容 說明
const 與 oneOf 搭配使用。實際值與易記標題相關聯。
預設值 輸入的預先填入值。

預設值必須為正確的類型。請勿輸入單字做為整數的預設值。

說明 輸入的使用者說明文字。
已加密

是否對使用者輸入的輸入進行加密 (true 或 false)。

密碼通常會加密。

此外,還可以建立在多個雲端範本之間可重複使用的加密內容。請參閱密碼 Cloud Assembly 內容

列舉 允許值的下拉式功能表。

使用下列範例做為格式指南。

enum:
      - value 1
      - value 2
format 設定輸入的預期格式。例如,(25/04/19) 支援日期-時間。

允許在 Service Broker 自訂表單中使用日期選擇器。

items 宣告陣列中的項目。支援數字、整數、字串、布林值或物件。
maxItems 陣列中可選取的項目數目上限。
maxLength 字串允許的字元數目上限。

例如,若要限制欄位為 25 個字元,請輸入 maxLength: 25

上限 數字或整數的最大允許值。
minItems 陣列中可選取的項目數目下限。
minLength 字串允許的字元數目下限。
下限 數字或整數的最小允許值。
oneOf 允許使用者輸入表單為不太易記的值 (const) 顯示易記名稱 (title)。如果設定預設值,則設定 const 而非 title。

適用於類型字串、整數和數字。

模式 規則運算式語法中的字串輸入允許的字元。

例如,'[a-z]+''[a-z0-9A-Z@#$]+'

properties 宣告物件的 key:value 內容區塊。
readOnly 僅用來提供表單標籤。
title 與 oneOf 搭配使用。const 值的易記名稱。在部署時,標題顯示在使用者輸入表單上。
類型 數字、整數、字串、布林值或物件的資料類型。
重要:

布林值類型會向請求表單新增空白核取方塊。使該方塊保持原樣不會將輸入設定為 False。

若要將輸入設定為 False,使用者必須勾選並清除該方塊。

writeOnly 在表單中隱藏星號後面的按鍵輸入。無法與 enum 搭配使用。顯示為 Service Broker 自訂表單中的密碼欄位。

其他範例

包含列舉的字串

  image:
    type: string
    title: Operating System
    description: The operating system version to use.
    enum:
      - ubuntu 16.04
      - ubuntu 18.04
    default: ubuntu 16.04

  shell:
    type: string
    title: Default shell
    Description: The default shell that will be configured for the created user.
    enum:
      - /bin/bash
      - /bin/sh

包含最小值和最大值的整數

  count:
    type: integer
    title: Machine Count
    description: The number of machines that you want to deploy.
    maximum: 5
    minimum: 1
    default: 1

物件陣列

  tags:
    type: array
    title: Tags
    description: Tags that you want applied to the machines.
    items:
      type: object
      properties:
        key:
          type: string
          title: Key
        value:
          type: string
          title: Value

包含易記名稱的字串

  platform:
    type: string
    oneOf:
      - title: AWS
        const: platform:aws
      - title: Azure
        const: platform:azure
      - title: vSphere
        const: platform:vsphere
    default: platform:aws

包含模式驗證的字串

  username:
    type: string
    title: Username
    description: The name for the user that will be created when the machine is provisioned.
    pattern: ^[a-zA-Z]+$

做為密碼的字串

  password:
    type: string
    title: Password
    description: The initial password that will be required to logon to the machine. Configured to reset on first login.
    encrypted: true
    writeOnly: true

做為文字區域的字串

  ssh_public_key:
    type: string
    title: SSH public key
    maxLength: 256

布林值

  public_ip:
    type: boolean
    title: Assign public IP address
    description: Choose whether your machine should be internet facing.
    default: false

日期和時間行事曆選取器

  leaseDate:
    type: string
    title: Lease Date
    format: date-time