您可以剪切、粘贴和编辑 JavaScript 示例,或作为示例来帮助开发常规 vRealize Automation 任务的脚本。
有关 vRealize Orchestrator 中脚本编写的更多信息,请参见《使用 VMware vRealize Orchestrator 进行开发》。
创建 vRealize Automation 高级服务蓝图
此示例脚本会执行以下操作:
- 设置 vRealize Orchestrator 工作流用来构建服务蓝图。
- 基于工作流生成服务蓝图的内容。
- 创建服务蓝图实体。
- 发布服务蓝图。
变量 | 类型 |
---|---|
host | vCACCAFE:VCACHost |
//ID of the workflow used to create the service blueprint var workflowId = "44e42047-2fa0-4e4a-ba0c-12086540b28b"; var name = "MyBlueprint" var description = "Blueprint description"; var workflowClient = host.createAdvancedDesignerClient().getAdvancedDesignerWorkflowService(); //Generate a service blueprint based on the workflow ID var blueprint = workflowClient.generateServiceBlueprintByWorkflowId(workflowId); blueprint.setTenant(host.tenant); blueprint.setName(name); blueprint.setDescription(description); //Create the service blueprint var blueprintService = host.createAdvancedDesignerClient().getAdvancedDesignerServiceBlueprintService(); var uri = blueprintService.createServiceBlueprint(host.tenant , blueprint); //Publish the service blueprint var createdBlueprint = blueprintService.getServiceBlueprintByUri(uri); blueprintService.updateServiceBlueprintStatus(host.tenant, createdBlueprint.getId(), vCACCAFEDesignerPublishStatus.PUBLISHED);
创建 vRealize Automation 批准策略
此示例脚本会执行以下操作:
- 获取批准策略类型。
- 设置需要批准的用户和组。
- 设置批准级别。
- 定义置备前批准阶段。
- 定义置备后批准阶段。
- 定义批准策略规范,例如名称、描述和类型。
- 创建批准策略。
- 发布批准策略。发布批准策略后,策略将变为只读。
变量 | 类型 |
---|---|
host | vCACCAFE:VCACHost |
// Get the type of approval policy by ID var typeService = host.createApprovalClient().getApprovalApprovalPolicyTypeService(); var type = typeService.getApprovalPolicyType("com.vmware.cafe.catalog.request"); // Set the user and group required to complete the approval var user = new vCACCAFEApprovalPrincipal(); user.setValue("user@domain.com"); user.setType(vCACCAFEApprovalPrincipalType.USER); var group = new vCACCAFEApprovalPrincipal(); group.setValue("group@domain.com"); group.setType(vCACCAFEApprovalPrincipalType.GROUP); // Set the level of the approval var level = new vCACCAFEApprovalLevel(); level.setName("IT Approval Level"); level.setDescription("IT Approval Level description"); level.setApprovalMode(vCACCAFEApprovalMode.ALL); System.getModule("com.vmware.library.vcaccafe.util").addElementToList(level, "getApprovers", user); System.getModule("com.vmware.library.vcaccafe.util").addElementToList(level, "getApprovers", group); level.setLevelNumber(1); // Set pre-provisioning phase type and the phase of the approval var phase1Type = new vCACCAFEApprovalPhaseType(); phase1Type.setId("com.vmware.cafe.catalog.request.pre"); phase1Type.setName("Pre-Provisioning type"); phase1Type.setDescription("Pre-Provisioning type description"); phase1Type.setPhaseOrder(1); var phase1 = new vCACCAFEPhase(); phase1.setName("Pre-Provisioning"); phase1.setDescription("Pre provisioning phase"); phase1.setPhasetype(phase1Type); System.getModule("com.vmware.library.vcaccafe.util").addElementToList(phase1, "getLevels", level); // Set post-provisioning phase type and the phase of the approval var phase2Type = new vCACCAFEApprovalPhaseType(); phase2Type.setId("com.vmware.cafe.catalog.request.post"); phase2Type.setName("Post-Provisioning type"); phase2Type.setDescription("Post-Provisioning type description"); phase2Type.setPhaseOrder(1); var phase2 = new vCACCAFEPhase(); phase2.setName("Post-Provisioning"); phase2.setDescription("Post provisioning phase"); phase2.setPhasetype(phase2Type); System.getModule("com.vmware.library.vcaccafe.util").addElementToList(phase2, "getLevels", level); // Create the approval policy specifications var spec = new vCACCAFEApprovalPolicy(); spec.setName("New Policy"); spec.setDescription("New Policy description"); spec.setPolicyType(type); System.getModule("com.vmware.library.vcaccafe.util").addElementToList(spec, "getPhases", phase1); System.getModule("com.vmware.library.vcaccafe.util").addElementToList(spec, "getPhases", phase2); // Create the approval policy var approvalPolicyService = host.createApprovalClient().getApprovalApprovalPolicyService(); var approvalPolicy = approvalPolicyService.createPolicy(spec); // Publish the approval policy approvalPolicy.setState(vCACCAFEApprovalPolicyState.PUBLISHED); approvalPolicy = approvalPolicyService.update(approvalPolicy); System.log("New approval policy id: " + approvalPolicy.getId());