可以使用 vRealize Automation Designer 活动来以同步或异步方式调用 vRealize Orchestrator 工作流。

可以通过以下方法之一指定 vRealize Orchestrator 端点:

  • VirtualMachineId 是表示虚拟机 ID 的变量名称。将选择具有此 ID 的虚拟机,并使用从虚拟机的 VMware.VCenterOrchestrator.EndpointName 自定义属性中检索到的值作为 vRealize Orchestrator 端点名称。

  • GetVcoEndpointByManagementEndpoint 将返回指定 ManagementEndpoint 对象上的自定义属性的值。如果未指定 CustomPropertyName,将使用 VMware.VCenterOrchestrator.EndpointName 属性的值。

  • GetVcoEndpointByHost 将返回指定主机上的自定义属性的值。如果未指定 CustomPropertyName,将使用 VMware.VCenterOrchestrator.EndpointName 属性的值。

同步执行

InvokeVcoWorkflow 活动将调用 vRealize Orchestrator 工作流,并阻止父 IaaS 工作流继续执行,直至 vRealize Orchestrator 工作流完成。此活动将返回 vRealize Orchestrator 工作流的输出参数。

此外,同步执行支持以下属性:

  • WorkflowTimeout 是以秒为单位的超时值。如果 vRealize Orchestrator 工作流未在指定时间内完成,则会生成异常,而不会阻止该工作流直至返回响应。如果未定义任何值或提供了零值,则不会激活超时。在该时间段内,系统每 10 秒会检查一次工作流状态,除非通过在 VMware.VCenterOrchestrator.PollingInterval 自定义属性中指定一个值来修改端点的轮询时间。

异步执行

InvokeVcoWorkflowAsync 活动是一种“即发即弃”活动,它会调用 vRealize Orchestrator 工作流并继续执行 IaaS 工作流中的活动,而不等待 vRealize Orchestrator 工作流完成。

如果对 vRealize Orchestrator 服务器的 REST API 调用已失败(例如,如果无法访问该服务器),此活动将返回可用于监控工作流的唯一工作流执行令牌,或者返回错误。

此外,可以将以下两个活动与此活动一起使用:

  • GetVcoWorkflowExecutionStatus 可用于轮询 vRealize Orchestrator 工作流的状态。

  • WaitForVcoWorkflowCompletion 可用于阻止继续执行 IaaS 工作流,直至 vRealize Orchestrator 工作流已完成或超时。使用此活动可以检索以异步方式执行的 vRealize Orchestrator 工作流的结果。