通过将基本工作流和操作与其他工作流组合,可以扩展 vRealize Orchestrator 客户端中的基本工作流和操作。
为此,您需要使用正确的对象填充基本工作流中的输入字段。通过运行以下脚本,可以找到一些最常见的对象。
请参见 vRealize Orchestrator 文档中的“VMware vRealize Orchestrator 工作流开发”。
表 1.
清单中所有主站点
描述 |
脚本 |
脚本中的第二个参数是可选参数,可以是站点的部分名称。该脚本返回站点对象阵列 (com.vmware.hms.o11n.model.Site )。 |
Server.findAllForType('VR:Site','') |
表 2.
特定主站点
描述 |
脚本 |
脚本中的第二个参数是必选参数,并且必须是站点的 FQDN。该脚本返回站点对象 (com.vmware.hms.o11n.model.Site )。 |
Server.findForType('VR:Site', 'PRIMARY_SITE_FQDN'); |
表 3.
所有远程站点
描述 |
脚本 |
脚本中的第二个参数是可选参数,可以是站点的部分名称。该脚本返回 VcRemoteSite 对象阵列 (com.vmware.hms.o11n.model.VcRemoteSite) )。对于 ROBO 复制,每个本地站点本身都有一个远程对象,如果运行 'Server.findAllForType('VR:VcRemoteSite','REMOTE_SITE_NAME' ,在主站点仅与远程站点配对的情况下,脚本将返回两个对象。 |
Server.findAllForType('VR:VcRemoteSite','') |
表 4.
特定远程站点
描述 |
脚本 |
要获取正确的远程站点对象,必须先获取主站点,然后再获取其远程站点。 |
var localSite = Server.findForType('VR:Site', 'REMOTE_SITE_NAME');
var remoteSites = localSite.getVcRemoteSites()
for each( var rsite in remoteSites){
if (rsite.name == 'PRIMARY_SITE_NAME'){ selectedRemoteSite = rsite;
}
} |
表 5.
登录到远程站点
描述 |
脚本 |
获取正确的对象后,如果远程站点已注册到 vSphere Replication 插件,则登录到远程站点。 |
selectedRemoteSite.loginRemoteSite(); |
表 6.
使用用户名和密码登录远程站点
描述 |
脚本 |
无论远程站点是否已注册到 vSphere Replication 插件,均可使用用户名和密码登录远程站点。 |
selectedRemoteSite.loginRemoteSiteWithCredentials(YOUR_USERNAME, YOUR_PASSWORD); |
表 7.
远程站点的所有数据存储
描述 |
脚本 |
查找远程站点的所有数据存储作为 VRRemoteDatastore 对象阵列。您必须登录到远程站点。 |
selectedRemoteSite.getDatastores(); |
表 8.
远程站点的所有存储配置文件
描述 |
脚本 |
查找远程站点的所有存储配置文件作为 VRStorageProfile 配置文件阵列。您必须登录到远程站点。 |
selectedRemoteSite.getStorageProfiles(); |
表 9.
与条件匹配的虚拟机
描述 |
脚本 |
查找与特定条件匹配的虚拟机,例如包含字符串 accounting 的所有虚拟机。 |
Server.findAllForType('VC:VirtualMachine', 'SEARCH_CRITERIA'); |
表 10.
所有支持的磁盘格式作为阵列
描述 |
脚本 |
查找所有受支持的磁盘格式作为 VRDisktype 对象阵列。相关字段为“名称”和“ID”。 |
VRPluginConfig.getSupportedDiskFormats() |