Orchestrator Workflow Action to Create or Update a Custom Attribute

by Simon Sparks · 15 February 2022

To use this function add it to the class library file named vCenterService.ts

GitHub Repository: https://github.com/SimonSparksUK/Orchestrator

Filename: vCenterService.ts

Function VcVirtualMachineCustomAttributeCreateOrUpdate

Description: Orchestrator Workflow Function to Create or Update a Custom Attribute

public VcVirtualMachineCustomAttributeCreateOrUpdate(objVcVirtualMachine:VcVirtualMachine, strVcCustomFieldName:string): string{
  let objVcSdkConnection:VcSdkConnection = objVcVirtualMachine.vimHost;
  	
  let objVcCustomFieldsManager:VcCustomFieldsManager = objVcSdkConnection.customFieldsManager;
  
  let arrVcCustomFieldDef:VcCustomFieldDef[] = objVcCustomFieldsManager.field;
  
  let objVcCustomFieldDef:VcCustomFieldDef;
  
  objVcCustomFieldDef = arrVcCustomFieldDef.find((objVcCustomFieldDef:VcCustomFieldDef) => {
      return objVcCustomFieldDef.name == strVcCustomFieldName;
  });
  
  if ( objVcCustomFieldDef === undefined )
  {
  	objVcCustomFieldDef = objVcCustomFieldsManager.addCustomFieldDef(strVcCustomFieldName);
  }
  
  let strKey:string = objVcCustomFieldDef.key;
  
  objVcCustomFieldsManager.setField(objVcVirtualMachine, strKey, strNewCustomFieldValue);
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like