服務參數定義及範例

IBM Cloud 客戶建立服務實例時,服務參數可用於收集和新增呼叫的額外資料點。 下列幾節提供如何使用服務參數的範例及定義。 若要開始新增產品的自訂服務參數,請參閱 新增服務的自訂服務參數

服務參數範例

下列範例說明如何為必要文字欄位指定自訂服務參數。

在周圍的 metadataservice JSON 結構內,parameters 索引鍵可識別自訂服務參數的 JSON 陣列。 在此範例中,陣列只包含一個自訂參數,其 ID 為 subscription_id。 這是一個必填的文字欄位,標籤為 Subscription ID,說明為 Subscription ID that will be used when provisioning the service instance。 每當使用者選擇 068f8a20-8b27-4049-91fe-a3ff5f50535245333bd7-79f5-475f-9b14-9fe99734592a 這兩個相關的價格計劃時,使用者介面都會顯示此自訂參數:

{
  "metadata": {
    //...
    "service": {
      //...
      "parameters": [{
          "associations": {
              "plan": {
                  "showFor": [
                      "068f8a20-8b27-4049-91fe-a3ff5f505352",
                      "45333bd7-79f5-475f-9b14-9fe99734592a"
                  ]
              }
          },
          "description": "Subscription ID that will be used when provisioning the service instance",
          "displayname": "Subscription ID",
          "name": "subscription_id",
          "required": true,
          "type": "text"
      }]
  }
}

此自訂參數不僅必須新增至 服務 物件,還必須新增至與參數相關聯之兩個服務方案的所有 部署 物件。 此外,必須更新部署物件的部署,以處理自訂參數。

請務必在 IBM Cloud 主控台測試您的參數,以驗證您指定的變更是否正常運作。

服務參數定義

parameters 結構定義自訂服務參數的 JSON 陣列。 建立服務實例時,它會使用陣列中的資訊來管理自訂服務參數。 如需範例,請參閱本主題中之前的子主題。

parameters 結構中的每一個自訂服務參數都具有下列佈置。 許多屬性是選用的:

parameters.name
參數的金鑰。
parameters.displayname
顯示的參數名稱。
parameters.type
IBM Cloud 使用者介面顯示的投入欄位類型。 值可以是 text, password, dropdown, check box,或 radio

這是必要值。

下列程式碼區塊顯示 namedisplaynametype 參數的範例:

{
  "name": "pwd",
  "displayname": "Password",
  "type": "password"
}
parameters.options
一個 JSON 結構,用來指定 dropdowncheck boxradio 輸入類型的可用值。
parameters.options.displayname
您要在使用者介面中顯示之下拉清單、勾選框或圓鈕的名稱。
parameters.options.value
建立服務時要傳送至服務分配管理系統的參數值。
{
  "options": [
    {
      "displayname": "HDFS",
      "value": "hdfs"
    },
    {
      "displayname": "YARN",
      "value": "yarn"
    },
  ]
}
parameters.value
參數的預設值。 若為勾選框輸入類型,它可以是值的陣列。
{
  ["hfs","yarn"]
}
parameters.layout
指定勾選框或圓鈕輸入類型的佈置。 未指定時,預設佈置為水平。
parameters.associations
描述與價格計劃和/或其他自訂參數互動的 JSON 結構。

此值為可選值,而後續附加到 parameters.associations.<value> 的所有值均為可選值。

{
  "type": "text",
  "associations": {
    "plan": {
    "showFor": ["apsMyserviceParametersDemo-entry","apsMyserviceParametersDemo-enterprise"]
    }
  }
}
parameters.associations.plan
一種 JSON 結構,用來說明與定價方案的互動。
parameters.associations.plan.showFor
定價方案 ID 的陣列。 如果已指定,則選取對應定價方案時,此參數會顯示在使用者介面中。
parameters.associations.plan.optionsRefresh
若已指定,則選取關聯的定價方案時,即會呼叫 optionsUrl
parameters.associations.parameters
一種 JSON 陣列,用來說明與其他自訂參數互動。
parameters.associations.parameters.name
要與其他自訂參數互動的名稱。

使用 parameters.associations.parameters 時需要。

parameters.associations.parameters.showFor
與您要互動的自訂參數相關的選定值陣列。 選取其中一個值時,此參數會顯示在使用者介面中。
parameters.associations.parameters.optionsRefresh
當此參數設定為 true 時,當相關參數值改變時,optionsUrl,且此參數在 UI 中是可見的。
parameters.optionsUrl
主控台所呼叫的 API,用來取得下拉清單、勾選框或圓鈕輸入類型的選項清單。 回應是包含兩個欄位的 JSON 結構:
parameters.optionsUrl.options
將返回 parameters.options 的 JSON 陣列;如需更多詳細資訊,請參閱 parameters.options 的項目。
parameters.optionsUrl.value
參數的新預設值。 如需詳細資訊,請參閱 parameters.value

控制台傳送 ace_config 查詢參數,其中包含目前的 org GUID、空間 GUID、所有自訂參數的目前值,以及目前的價格計劃 ID。 持有人記號會在標頭中傳播。

parameters.invalidmessage
文字框內容無效時出現的訊息。
parameters.description
為了協助使用者處理參數值所顯示的參數說明。
parameters.required
指出是否必須在 IBM Cloud 使用者介面中輸入參數的布林值。
parameters.pattern
檢驗數值的正規表示式。
parameters.placeholder
描述預期值的簡短提示。
parameters.readonly
指出是否只顯示參數值的布林值,而且使用者無法進行變更。 預設值為 false。
parameters.hidden
指出是否隱藏鍵值組不讓使用者看見的布林值。 預設值為 false。