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.
publicvCACCAFECatalogResourceLeaseExtend(strVcVirtualMachineName:string,objVCACCAFEHost:vCACCAFEHost,intNumberOfDaysToAdd:number=14):vCACCAFEResourceActionRequest{
letarrVCACCAFECatalogResource:vCACCAFECatalogResource[]=Server.findAllForType("VCACCAFE:CatalogResource",strVcVirtualMachineName);
letobjCCACCAFECatalogResource:vCACCAFECatalogResource=arrVCACCAFECatalogResource.find((objCCACCAFECatalogResource:vCACCAFECatalogResource):boolean=>{
returnobjCCACCAFECatalogResource.getName()===strVcVirtualMachineName;
});
letobjCCACCAFECatalogResourceParent:vCACCAFECatalogResource=vCACCAFEEntitiesFinder.getCatalogResource(objVCACCAFEHost,objCCACCAFECatalogResource.parentResourceRef.getId());
letarrVCACCAFEConsumerResourceOperation:vCACCAFEConsumerResourceOperation[]=objCCACCAFECatalogResourceParent.getOperations();
letobjVCACCAFEConsumerResourceOperation:vCACCAFEConsumerResourceOperation=arrVCACCAFEConsumerResourceOperation.find((objVCACCAFEConsumerResourceOperation:vCACCAFEConsumerResourceOperation):boolean=>{
returnobjVCACCAFEConsumerResourceOperation.getName()=="Change Lease";
});
letobjDateNewLease:Date=newDate();
objDateNewLease.setDate(objDateNewLease.getDate()+intNumberOfDaysToAdd);
this.objLogger.info(`Setting new lease date to${objDateNewLease}.`);
letobjVCACCAFEDateTimeLiteral:vCACCAFEDateTimeLiteral=newvCACCAFEDateTimeLiteral(objDateNewLease);
letobjPropertiesInputs:Properties=newProperties();
objPropertiesInputs.put("provider-ExpirationDate",objVCACCAFEDateTimeLiteral);
letobjVCACCAFEForm:vCACCAFEForm=vCACCAFERequestsHelper.getRequestFormForResourceAction(objVCACCAFEConsumerResourceOperation);
letarrVCACCAFEFormField:string[]=vCACCAFERequestsHelper.getFormKeys(objVCACCAFEForm);
this.objLogger.info(`Form Fields to Fill In:${JSON.stringify(arrVCACCAFEFormField)}.`);
objVCACCAFEForm=vCACCAFERequestsHelper.setFormValues(objVCACCAFEForm,objPropertiesInputs);
letobjVCACCAFEResourceActionRequest:vCACCAFEResourceActionRequest=vCACCAFERequestsHelper.requestResourceAction(objVCACCAFEConsumerResourceOperation,objVCACCAFEForm);
returnobjVCACCAFEResourceActionRequest;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
