Чтобы написать сценарии для выполнения задач CRUD в vRealize Automation, можно вырезать, вставить и отредактировать примеры сценариев JavaScript.

Дополнительные сведения о создании сценариев в vRealize Orchestrator см. в статье Разработка с помощью VMware vRealize Orchestrator.

Создание сущности модели vRealize Automation

В этом примере сценария выполняются следующие действия.

  1. Определение имени модели и имени набора сущностей.

  2. Определение свойств префикса узла.

  3. Сохранение сущности префикса узла.

  4. Определение свойств группы подготовки.

  5. Определение группы подготовки как ссылки.

  6. Сохранение сущности группы подготовки путем связывания ее с префиксом имени узла.

Таблица 1. Входные переменные

Переменная

Type

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. Получение идентификатора узла из предоставленной сущности.

  2. Получение имени модели из предоставленной сущности.

  3. Получение имени набора сущностей из предоставленной сущности.

  4. Получение идентификатора сущности из предоставленной сущности.

  5. Определение набора свойств, которые будут обновлены.

  6. Запуск действия по обновлению сущности.

Таблица 2. Входные переменные

Переменная

Type

entity

vCAC:Entity

updatedDescription

String

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. Определение идентификатора схемы элементов с помощью объекта-свойства.

  3. Чтение сущности.

Таблица 3. Входные переменные

Переменная

Type

host

vCAC:VcacHost

blueprintID

String

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. Получение идентификатора узла из предоставленной сущности.

  2. Получение имени модели из предоставленной сущности.

  3. Получение имени набора сущностей из предоставленной сущности.

  4. Получение идентификатора сущности из предоставленной сущности.

  5. Запуск действия по удалению сущности.

Таблица 4. Входные переменные

Переменная

Type

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. Входные переменные

Переменная

Type

host

vCAC:VcacHost

templateName

String

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. Определение системных запросов, по которым фильтруются сущности, и выбор из всех виртуальных машин десяти лучших результатов, отфильтрованных по состоянию компьютеров и флагу компонентов.

  3. Чтение списка сущностей.

Таблица 6. Входные переменные

Переменная

Type

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