Cloud Assembly 中建立雲端範本時,資源類型調色盤包括支援雲端帳戶的資源類型和整合端點。可能會出現需要根據資源類型的擴充清單建立雲端範本的使用案例。您可以建立自訂資源類型,將其新增至設計畫布,並建立支援您的設計和部署需求的雲端範本。

自訂資源名稱和資源類型

自訂資源名稱可在雲端範本資源類型調色盤中識別您的自訂資源。

自訂資源的資源類型必須以 Custom. 開頭,並且每個資源類型必須是唯一的。例如,您可以將 Custom.ADUser 設定為用於新增 Active Directory 使用者的自訂資源的資源類型。雖然文字方塊中未驗證是否包含 Custom.,但是如果您移除該字串,則會自動將其新增。

擴充性動作自訂資源

使用自訂資源類型,您可以在雲端範本中使用擴充性動作來建置複雜的應用程式。例如,可以使用擴充性動作與 Amazon Web ServicesMicrosoft Azure 的原生整合,以便輕鬆整合其各自的服務。可以透過按一下自訂資源編輯器中的依據選項,並選取 ABX 使用者定義的架構建立擴充性動作自訂資源。

擴充性動作自訂資源的生命週期動作

對自訂資源使用擴充性動作時,您可以定義以下生命週期動作:

  • 建立:啟動部署時呼叫此擴充性動作。
  • 讀取:使用此擴充性動作擷取已部署資源的最新狀態。
  • 更新:更新雲端範本內容時呼叫此擴充性動作。只有在內容未標記為 recreateOnUpdate 時,才會觸發此動作。
  • 銷毀:刪除部署時呼叫此擴充性動作。

可以從現有擴充性動作中手動選取這些生命週期動作,也可以透過選取產生動作自動產生這些動作。選取產生動作時,必須指定將在其中產生新擴充性動作的專案。

備註: 可以透過按一下特定動作旁邊的 開啟選項編輯與生命週期動作相關聯的擴充性動作。

vRealize Orchestrator 自訂資源

每個 vRealize Orchestrator 自訂資源是以 SDK 詳細目錄類型為基礎,並透過輸出為所需 SDK 類型之執行個體的 vRealize Orchestrator 工作流程建立。建立自訂資源類型時不支援基本類型,例如 PropertiesDatestringnumber
備註: SDK 物件類型可與其他 vRealize Orchestrator 內容類型分區,並以冒號 (「:」) 分隔外掛程式名稱和類型名稱。例如, AD:UserGroup 是用於管理 Active Directory 使用者群組的 SDK 物件類型。
您可以使用 vRealize Orchestrator 中的內建工作流程,也可以建立自己的工作流程。使用 vRealize Orchestrator 建立一切即服務/XaaS 工作流程,意味著您可以建立在部署時將 Active Directory 使用者新增至機器的雲端範本,也可以將自訂 F5 負載平衡器新增至部署。可以透過按一下自訂資源編輯器中的 依據選項並選取 vRO 詳細目錄建立 vRealize Orchestrator 自訂資源。

vRealize Orchestrator 自訂資源外部類型

外部類型內容定義了 vRealize Orchestrator 自訂資源的類型。在 Cloud Assembly 中,如果在自訂資源類型中選取「建立」工作流程,將在其下方顯示 [外部類型] 下拉式清單。下拉式清單中包括從 vRealize Orchestrator 工作流程的輸出參數中選取的外部類型內容。下拉式清單中包括的所選工作流程輸出內容必須是非陣列 SDK 物件類型,例如 VC:VirtualMachineAD:UserGroup

備註: 建立使用動態類型外掛程式的自訂工作流程時,請確認是否使用了 DynamicTypesManager.getObject() 方法來定義其變數。

定義自訂資源類型時,還可以定義選取外部類型的可用性範圍。選取的外部類型可以:

  • 在專案之間共用。
  • 僅適用於選取的專案。

每個定義的範圍只能有一個具有特定外部類型值的自訂資源類型。例如,如果您在專案中建立使用 VC:VirtualMachine 作為外部類型的自訂資源,則無法為同一專案建立使用相同外部類型的其他自訂資源。同時,無法建立兩個使用相同外部類型的共用自訂資源。

vRealize Orchestrator 生命週期動作驗證

將「建立」、「刪除」和「更新」工作流程作為生命週期動作新增至自訂資源時,Cloud Assembly 會驗證所選工作流程是否具有正確的輸入和輸出內容定義。

  • 「建立」工作流程的輸出參數必須為 SDK 物件類型,例如 SSH:HostSQL:Database。如果選取的工作流程未通過驗證,則無法新增「更新」或「刪除」工作流程,也無法儲存對自訂資源的變更。
  • 「刪除」工作流程的輸入參數必須為與自訂資源之外部類型相符的 SDK 物件類型。
  • 「更新」工作流程的輸入和輸出參數必須為與自訂資源之外部類型相符的 SDK 物件類型。

自訂資源內容架構

您可以透過選取 內容索引標籤來編輯和檢視自訂資源內容架構。架構包括指定內容的名稱、資料類型、內容類型以及 (如果可用) 說明。此外,架構還定義特定內容在雲端範本中是必要還是可選的。
備註: 對於擴充性動作自訂資源的內容架構,所有內容在雲端範本中都是必要的。
vRealize Orchestrator 工作流程新增至自訂資源時,其輸入和輸出參數會新增為內容。對於擴充性動作自訂資源,必須在 內容索引標籤中手動建立擴充性動作自訂資源的內容架構。
備註: 在擴充性動作自訂資源的架構中定義的內容也必須是自訂資源 讀取動作中的傳回值並具有相同的名稱。例如,如果您的架構包含內容 domainlocation,則 讀取動作也必須傳回具有相同名稱的相同內容。
從此索引標籤中,還可以修改 vRealize Orchestrator 或以擴充性動作為基礎的自訂資源的內容並設定其格式。例如,您可以變更指定內容的顯示名稱或新增限制。
備註: 向內容架構中陣列欄位的項目區段或物件欄位的內容區段新增限制時,請確認您已驗證這些限制,因為錯誤套用的限制可能會導致自訂資源出現問題。例如,向數字陣列新增最大限制時,必須確認此限制不會破壞內容的預設值。

可以透過導覽至內容索引標籤,然後使用代碼表單索引標籤,編輯自訂資源的內容架構。

  • 代碼:使用 YAML 內容編輯內容架構。選取此選項時,使用 JSON 架構對內容架構進行定義。
  • 表單:對於擴充性動作自訂資源,透過按一下新增內容並設定其名稱、顯示名稱、說明、內容類型和預設值,建立新內容。對於 vRealize Orchestrator 自訂資源,還可以透過按一下移除內容,在架構中隱藏非必要內容和非計算內容。

第 2 天作業自訂請求表單

您可以透過新增和修改不同類型的資源內容,簡化自訂資源中包含的第 2 天作業請求表單。

例如,可以將請求表單中輸入參數的值繫結到外部來源 (例如,用於擷取部署名稱或專案名稱的 vRealize Orchestrator 動作)。也可以將特定輸入參數的值繫結到相同請求表單中包含的其他兩個文字方塊的計算值。

備註: 此功能適用於自訂資源和資源動作。可以從自訂資源或資源動作編輯器的 請求參數頁面的 索引標籤中自訂請求表單的輸入內容值。

第 2 天作業請求表單驗證

可以透過新增外部驗證對第 2 天作業的請求表單進行驗證。透過使用外部驗證,您可以阻止使用者在滿足驗證參數之前提交請求表單。可以從自訂資源或資源動作編輯器的請求參數頁面的驗證索引標籤新增外部驗證。選取該索引標籤後,可以將 Orchestrator 驗證元素拖曳至畫布中,並新增要用於驗證的 vRealize Orchestrator 動作。

例如,可以建立包含變更使用者密碼第 2 天作業的自訂資源。對於此類使用案例,可以新增具有使用 SecureString 類型之 newPasswordconfirmPassword 輸入參數的 vRealize Orchestrator 動作。

備註: 這是用於驗證使用者密碼的範例指令碼。對於您自己的使用案例,您可以決定使用不同的指令碼。
if (newPassword != confirmPassword) {
    return 'passwords are different';
}
if (newPassword.lenght < 7) {
    return 'password must be at least 10 symbols';
}
return null;