To use this function add it to the class library file named vRealizeAutomation.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: vRealizeAutomation.ts
Function vCACCAFECatalogResourceLeaseExtend
Description: The following code extends the lease for a vCACCAFE Catalog Resource.
public vCACCAFECatalogResourceLeaseExtend(strVcVirtualMachineName: string, objVCACCAFEHost: vCACCAFEHost, intNumberOfDaysToAdd: number = 14): vCACCAFEResourceActionRequest {
let arrVCACCAFECatalogResource: vCACCAFECatalogResource[] = Server.findAllForType("VCACCAFE:CatalogResource", strVcVirtualMachineName);
let objCCACCAFECatalogResource: vCACCAFECatalogResource = arrVCACCAFECatalogResource.find((objCCACCAFECatalogResource: vCACCAFECatalogResource): boolean => {
return objCCACCAFECatalogResource.getName() === strVcVirtualMachineName;
});
let objCCACCAFECatalogResourceParent: vCACCAFECatalogResource = vCACCAFEEntitiesFinder.getCatalogResource(objVCACCAFEHost, objCCACCAFECatalogResource.parentResourceRef.getId());
let arrVCACCAFEConsumerResourceOperation: vCACCAFEConsumerResourceOperation[] = objCCACCAFECatalogResourceParent.getOperations();
let objVCACCAFEConsumerResourceOperation: vCACCAFEConsumerResourceOperation = arrVCACCAFEConsumerResourceOperation.find((objVCACCAFEConsumerResourceOperation: vCACCAFEConsumerResourceOperation): boolean => {
return objVCACCAFEConsumerResourceOperation.getName() == "Change Lease";
});
let objDateNewLease: Date = new Date();
objDateNewLease.setDate(objDateNewLease.getDate() + intNumberOfDaysToAdd);
this.objLogger.info(`Setting new lease date to ${objDateNewLease}.`);
let objVCACCAFEDateTimeLiteral: vCACCAFEDateTimeLiteral = new vCACCAFEDateTimeLiteral(objDateNewLease);
let objPropertiesInputs: Properties = new Properties();
objPropertiesInputs.put("provider-ExpirationDate", objVCACCAFEDateTimeLiteral);
let objVCACCAFEForm: vCACCAFEForm = vCACCAFERequestsHelper.getRequestFormForResourceAction(objVCACCAFEConsumerResourceOperation);
let arrVCACCAFEFormField: string[] = vCACCAFERequestsHelper.getFormKeys(objVCACCAFEForm);
this.objLogger.info(`Form Fields to Fill In: ${JSON.stringify(arrVCACCAFEFormField)}.`);
objVCACCAFEForm = vCACCAFERequestsHelper.setFormValues(objVCACCAFEForm, objPropertiesInputs);
let objVCACCAFEResourceActionRequest: vCACCAFEResourceActionRequest = vCACCAFERequestsHelper.requestResourceAction(objVCACCAFEConsumerResourceOperation, objVCACCAFEForm);
return objVCACCAFEResourceActionRequest;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
