您可以剪切、粘贴和编辑 JavaScript 示例来编写脚本,用于执行 CRUD vRealize Automation 任务。
有关 vRealize Orchestrator 中脚本编写的更多信息,请参见《使用 VMware vRealize Orchestrator 进行开发》。
创建 vRealize Automation 模型实体
此示例脚本会执行以下操作:
定义模型名称和实体集名称。
定义主机前缀的属性。
保存主机前缀实体。
定义置备组的属性。
将置备组定义为链接。
将置备组实体与主机名前缀链接,保存置备组实体。
变量 |
类型 |
---|---|
host |
vCAC:VcacHost |
var modelName = 'ManagementModelEntities.svc'; var entitySetName = 'HostNamePrefixes'; var links = null; var headers = null; //Create properties for prefix entity var prefixInputProperties = { MachinePrefix:'test-prefix', NextMachineNo:1, MachineNumberLength:3 }; //Save the prefix var prefixEntity = vCACEntityManager .createModelEntity(host.id, modelName, entitySetName, prefixInputProperties, links, headers); entitySetName = 'ProvisioningGroups'; //Create properties for the provisioning group entity inputProperties = { GroupName:'TestGroupName', GroupDescription:'This group was generated with a vCO workflow', AdministratorEmail:'test@test.com', AdContainer:'AD', IsTestGroup:false, Flags:2, GroupType:1}; //Add a reference to the newly created prefix entity links = { HostNamePrefix:prefixEntity }; //Save the provisioning group var entity = vCACEntityManager.createModelEntity(host.id, modelName, entitySetName, inputProperties, links, headers);
更新 vRealize Automation 模型实体
此示例脚本会执行以下操作:
获取所提供实体的主机 ID。
获取所提供实体的模型名称。
获取所提供实体的实体集名称。
获取所提供实体的实体 ID。
定义将要更新的一组属性。
启动用于更新实体的操作。
变量 |
类型 |
---|---|
entity |
vCAC:Entity |
updatedDescription |
字符串 |
var hostId = entity.hostId; var modelName = entity.modelName; var entitySetName = entity.entitySetName; var entityIdString = entity.keyString; var links = null; var headers = null; var updateProperties = new Properties(); updateProperties.put("UserNameDescription", updatedDescription); //Update the user description System.getModule("com.vmware.library.vcac") .updateVCACEntity(hostId, modelName, entitySetName, entityIdString, updateProperties, links, headers);
读取 vRealize Automation 模型实体
此示例脚本会执行以下操作:
定义模型名称和实体集名称。
定义带有属性对象的蓝图 ID。
读取实体。
变量 |
类型 |
---|---|
host |
vCAC:VcacHost |
blueprintID |
字符串 |
var modelName = 'ManagementModelEntities.svc'; var entitySetName = 'VirtualMachineTemplates'; var links = null; var headers = null; //Create properties for the prefix entity var blueprintId = { VirtualMachineTemplateID:blueprintId, }; //Read the blueprint var entity = vCACEntityManager .readModelEntity(host.id, modelName, entitySetName, blueprintId, headers);
删除 vRealize Automation 模型实体
此示例脚本会执行以下操作:
获取所提供实体的主机 ID。
获取所提供实体的模型名称。
获取所提供实体的实体集名称。
获取所提供实体的实体 ID。
启动用于删除实体的操作。
变量 |
类型 |
---|---|
entity |
vCAC:Entity |
var hostId = entity.hostId; var modelName = entity.modelName; var entitySetName = entity.entitySetName; var entityKeyString = entity.keyString; var headers = null; //Delete the entity System.getModule("com.vmware.library.vcac") .deleteVCACEntity(hostId, modelName, entitySetName, entityKeyString, headers);
使用自定义筛选器读取 vRealize Automation 实体
此示例脚本会执行以下操作:
定义模型名称和实体集名称。
定义用来筛选实体的属性。
读取实体列表。
变量 |
类型 |
---|---|
host |
vCAC:VcacHost |
templateName |
字符串 |
var modelName = 'ManagementModelEntities.svc'; var entitySetName = 'VirtualMachineTemplates'; var headers = null; //Create properties for prefix entity var properties = { VirtualMachineTemplateName:templateName, }; //Read a list of entities var entities = vCACEntityManager .readModelEntitiesByCustomFilter(host.id, modelName, entitySetName, properties, headers);
使用系统查询读取 vRealize Automation 实体
此示例脚本会执行以下操作:
定义模型名称和实体集名称。
定义用来筛选实体的系统查询,并选择所有虚拟机的前十个结果(按虚拟机状态和组件标记筛选)。
读取实体列表。
变量 |
类型 |
---|---|
host |
vCAC:VcacHost |
var modelName = 'ManagementModelEntities.svc'; var entitySetName = 'VirtualMachines'; var filter = "VirtualMachineState eq 'Off' and IsComponent eq true"; var orderBy = 'VirtualMachineName asc'; var top = 10; { var skip = 0;, var headers = null; var select = null; var entities = vCACEntityManager readModelEntitiesBySystemQuery(host.id, modelName, entitySetName, filter, orderBy, select, top, skip, headers);