To use this function add it to the class library file named vCenterVAPIService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: vCenterVAPIService.ts
Function VAPIConnect & VAPIDisconnect
protected VAPIConnect(objVcSdkConnection: VcSdkConnection): boolean {
let blnReturn: boolean = false;
try {
this.objVAPIEndpoint = VAPIManager.findEndpoint("https://" + objVcSdkConnection.id + "/api");
this.objVAPIClient = this.objVAPIEndpoint.client(null, null);
blnReturn = true;
}
catch (objException) {
blnReturn = false;
}
return blnReturn;
}
protected VAPIDisconnect(): boolean {
let blnReturn: boolean = false;
try {
this.objVAPIClient.close();
this.objVAPIEndpoint = null;
this.objVAPIClient = null;
blnReturn = true;
}
catch (objException) {
blnReturn = false;
}
return blnReturn;
}Function getTagCategories
private getTagCategories(objVAPIClient: VAPIClient): com_vmware_cis_tagging_category__model[] {
let objVAPITaggingCategory: com_vmware_cis_tagging_category = new com_vmware_cis_tagging_category(objVAPIClient);
let arrTagCategoryID: string[] = objVAPITaggingCategory.list();
let arrVAPITagCategoryModel: com_vmware_cis_tagging_category__model[] = arrTagCategoryID.map((strTagCategoryID: string): com_vmware_cis_tagging_category__model => {
let objVAPITagCategoryModel: com_vmware_cis_tagging_category__model = objVAPITaggingCategory.get(strTagCategoryID);
return objVAPITagCategoryModel;
});
return arrVAPITagCategoryModel;
}Function findTagCategoryIDByName.
private findTagCategoryIDByName(objVAPIClient: VAPIClient, strTagCategoryName: string): string {
let arrVAPITagCategoryModel: com_vmware_cis_tagging_category__model[] = this.getTagCategories(objVAPIClient);
let objVAPITagCategoryModel: com_vmware_cis_tagging_category__model = arrVAPITagCategoryModel.find((objVAPITagCategoryModel: com_vmware_cis_tagging_category__model): boolean => {
return objVAPITagCategoryModel.name == strTagCategoryName;
});
return objVAPITagCategoryModel.id;
}Function findTagsByCategoryID
private findTagsByCategoryID(objVAPIClient: VAPIClient, strTagCategoryID: string): com_vmware_cis_tagging_tag__model[] {
let objVAPITaggingTag: com_vmware_cis_tagging_tag = new com_vmware_cis_tagging_tag(objVAPIClient);
let arrTagIDs: string[] = objVAPITaggingTag.list_tags_for_category(strTagCategoryID);
let arrVMwareCISTaggingTagModel: com_vmware_cis_tagging_tag__model[] = arrTagIDs.map((strTagID: string): com_vmware_cis_tagging_tag__model => {
let objVMwareCISTaggingTagModel: com_vmware_cis_tagging_tag__model = objVAPITaggingTag.get(strTagID);
return objVMwareCISTaggingTagModel;
});
return arrVMwareCISTaggingTagModel;
}Function findTagIDByNameFromSpecificCategoryID
private findTagIDByNameFromSpecificCategoryID(objVAPIClient: VAPIClient, strTagName: string, strTagCategoryID: string): string {
let arrVMwareCISTaggingTagModel: com_vmware_cis_tagging_tag__model[] = this.findTagsByCategoryID(objVAPIClient, strTagCategoryID);
let objVMwareCISTaggingTagModel: com_vmware_cis_tagging_tag__model = arrVMwareCISTaggingTagModel.find((objVMwareCISTaggingTagModel: com_vmware_cis_tagging_tag__model): boolean => {
return objVMwareCISTaggingTagModel.name === strTagName;
});
return objVMwareCISTaggingTagModel.id;
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
