JavaScript 예제를 잘라내고, 붙여 넣고, 편집하여 CRUD vRealize Automation 작업에 대한 스크립트를 작성할 수 있습니다.

vRealize Orchestrator의 스크립팅에 대한 자세한 내용은 VMware vRealize Orchestrator를 사용한 개발을 참조하십시오.

vRealize Automation 모델 엔티티 생성

이 예제 스크립트는 다음 작업을 수행합니다.

  1. 모델 이름 및 엔티티 집합 이름을 정의합니다.

  2. 호스트 접두사의 속성을 정의합니다.

  3. 호스트 접두사 엔티티를 저장합니다.

  4. 프로비저닝 그룹의 속성을 정의합니다.

  5. 프로비저닝 그룹을 링크로 정의합니다.

  6. 프로비저닝 그룹 엔티티를 호스트 이름 접두사와 연결하여 저장합니다.

표 1. 입력 변수

변수

유형

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 모델 엔티티 업데이트

이 예제 스크립트는 다음 작업을 수행합니다.

  1. 제공된 엔티티에서 호스트 ID를 가져옵니다.

  2. 제공된 엔티티에서 모델 이름을 가져옵니다.

  3. 제공된 엔티티에서 엔티티 집합 이름을 가져옵니다.

  4. 제공된 엔티티에서 엔티티 ID를 가져옵니다.

  5. 업데이트할 속성 집합을 정의합니다.

  6. 엔티티를 업데이트하는 작업을 시작합니다.

표 2. 입력 변수

변수

유형

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 모델 엔티티 읽기

이 예제 스크립트는 다음 작업을 수행합니다.

  1. 모델 이름 및 엔티티 집합 이름을 정의합니다.

  2. 속성 개체와 함께 Blueprint ID를 정의합니다.

  3. 엔티티를 읽습니다.

표 3. 입력 변수

변수

유형

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 모델 엔티티 삭제

이 예제 스크립트는 다음 작업을 수행합니다.

  1. 제공된 엔티티에서 호스트 ID를 가져옵니다.

  2. 제공된 엔티티에서 모델 이름을 가져옵니다.

  3. 제공된 엔티티에서 엔티티 집합 이름을 가져옵니다.

  4. 제공된 엔티티에서 엔티티 ID를 가져옵니다.

  5. 엔티티를 삭제하는 작업을 시작합니다.

표 4. 입력 변수

변수

유형

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 엔티티 읽기

이 예제 스크립트는 다음 작업을 수행합니다.

  1. 모델 이름 및 엔티티 집합 이름을 정의합니다.

  2. 엔티티를 필터링할 기준 속성을 정의합니다.

  3. 엔티티 목록을 읽습니다.

표 5. 입력 변수

변수

유형

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 엔티티 읽기

이 예제 스크립트는 다음 작업을 수행합니다.

  1. 모델 이름 및 엔티티 집합 이름을 정의합니다.

  2. 엔티티를 필터링할 기준 시스템 쿼리를 정의하고, 시스템 상태 및 구성 요소 플래그별로 필터링된 모든 가상 시스템의 상위 10개 결과를 선택합니다.

  3. 엔티티 목록을 읽습니다.

표 6. 입력 변수

변수

유형

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);