服務參數定義及範例
IBM Cloud 客戶建立服務實例時,服務參數可用於收集和新增呼叫的額外資料點。 下列幾節提供如何使用服務參數的範例及定義。 若要開始新增產品的自訂服務參數,請參閱 新增服務的自訂服務參數。
服務參數範例
下列範例說明如何為必要文字欄位指定自訂服務參數。
在周圍的 metadata 和 service JSON 結構內,parameters 索引鍵可識別自訂服務參數的 JSON 陣列。 在此範例中,陣列只包含一個自訂參數,其 ID 為 subscription_id。 這是一個必填的文字欄位,標籤為 Subscription ID,說明為 Subscription ID that will be used when provisioning the service instance。
每當使用者選擇 068f8a20-8b27-4049-91fe-a3ff5f505352 或 45333bd7-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。
這是必要值。
下列程式碼區塊顯示 name、displayname 及 type 參數的範例:
{
"name": "pwd",
"displayname": "Password",
"type": "password"
}
parameters.options- 一個 JSON 結構,用來指定
dropdown、check box和radio輸入類型的可用值。 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。