在 Cloud Assembly 中创建云模板时,资源类型调色板包括受支持云帐户和集成端点的资源类型。在一些用例中,可能要根据资源类型的扩展列表创建云模板。可以创建自定义资源类型,将其添加到设计画布,然后创建支持设计和部署需求的云模板。
自定义资源名称和资源类型
自定义资源名称可标识云模板资源类型调色板中的自定义资源。
自定义资源的资源类型必须以 Custom. 开头且每个资源类型必须唯一。例如,可以将 Custom.ADUser
设置为添加 Active Directory 用户的自定义资源的资源类型。尽管未验证文本框中是否包含 Custom.,但如果将其移除,会自动添加该字符串。
可扩展性操作自定义资源
使用自定义资源类型,您可以在云模板中使用可扩展性操作来构建复杂的应用程序。例如,可以使用可扩展性操作与 Amazon Web Services 和 Microsoft Azure 的原生集成,以便轻松集成其各自的服务。可以通过单击自定义资源编辑器中的基于选项并选择 ABX 用户定义的结构定义创建可扩展性操作自定义资源。
可扩展性操作自定义资源的生命周期操作
对自定义资源使用可扩展性操作时,您可以定义以下生命周期操作:
- 创建:启动部署时调用此可扩展性操作。
- 读取:使用此可扩展性操作检索已部署资源的最新状态。
- 更新:更新云模板属性时调用此可扩展性操作。仅当属性未标记
recreateOnUpdate
时,才会触发此操作。 - 销毁:删除部署时调用此可扩展性操作。
可以从现有可扩展性操作中手动选择这些生命周期操作,也可以通过选择生成操作自动生成这些操作。选择生成操作时,必须指定将在其中生成新可扩展性操作的项目。
vRealize Orchestrator 自定义资源
Properties
、
Date
、
string
和
number
。
AD:UserGroup
是用于管理 Active Directory 用户组的 SDK 对象类型。
vRealize Orchestrator 自定义资源外部类型
外部类型属性定义 vRealize Orchestrator 自定义资源的类型。在 Cloud Assembly 中,当您在自定义资源类型中选择创建工作流时,将在其下方显示“外部类型”下拉列表。下拉列表包括从 vRealize Orchestrator 工作流的输出参数中选择的外部类型属性。下拉列表包括的选定工作流输出属性必须是非数组 SDK 对象类型,例如 VC:VirtualMachine
或 AD:UserGroup
。
DynamicTypesManager.getObject()
方法进行定义。
定义自定义资源类型时,还可以定义所选外部类型的可用性范围。选定外部类型可以:
- 在项目之间共享。
- 仅适用于所选项目。
每个定义的范围只能有一个具有特定外部类型值的自定义资源类型。例如,如果在项目中创建自定义资源时使用 VC:VirtualMachine
作为外部类型,则无法为同一项目创建使用相同外部类型的其他自定义资源。此外,也无法创建两个使用相同外部类型的共享自定义资源。
vRealize Orchestrator 生命周期操作验证
将创建、删除和更新工作流作为生命周期操作添加到自定义资源时,Cloud Assembly 会验证所选工作流是否具有正确的输入和输出属性定义。
- 创建工作流的输出参数必须为 SDK 对象类型,例如
SSH:Host
或SQL:Database
。如果所选工作流未通过验证,将无法添加更新或删除工作流,也无法保存对自定义资源所做的更改。 - 删除工作流的输入参数必须是与自定义资源的外部类型匹配的 SDK 对象类型。
- 更新工作流的输入和输出参数必须是与自定义资源的外部类型匹配的 SDK 对象类型。
自定义资源属性结构定义
domain
和
location
,则
读取操作也必须返回具有相同名称的相同属性。
可以通过导航到属性选项卡,然后使用代码或表单选项卡,编辑自定义资源的属性结构定义。
- 代码:使用 YAML 内容编辑属性结构定义。选择此选项时,使用 JSON 结构定义对属性结构定义进行定义。
- 表单:对于可扩展性操作自定义资源,通过单击新建属性并配置其名称、显示名称、描述、属性类型和默认值,创建新属性。对于 vRealize Orchestrator 自定义资源,还可以通过单击移除属性,在结构定义中隐藏非必需属性和非计算属性。
实施后操作自定义请求表单
您可以通过添加和修改不同类型的资源属性来简化自定义资源中所包含的实施后操作的请求表单。
例如,可以将请求表单中输入参数的值绑定到外部源,例如,检索部署名称或项目名称的 vRealize Orchestrator 操作。此外,还可以将特定输入参数的值绑定到同一请求表单中包含的其他两个文本框的计算值。
实施后操作请求表单验证
可以通过添加外部验证对实施后操作的请求表单进行验证。通过使用外部验证,您可以阻止用户在满足验证参数之前提交请求表单。可以从自定义资源或资源操作编辑器的请求参数页面的验证选项卡添加外部验证。选择该选项卡后,可以将 Orchestrator 验证元素拖动到画布中,并添加要用于验证的 vRealize Orchestrator 操作。
例如,可以创建包含更改用户密码实施后操作的自定义资源。对于此类用例,可以添加具有使用 SecureString
类型的 newPassword
和 confirmPassword
输入参数的 vRealize Orchestrator 操作。
if (newPassword != confirmPassword) { return 'passwords are different'; } if (newPassword.lenght < 7) { return 'password must be at least 10 symbols'; } return null;