To use this function add it to the class library file named InfobloxService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: InfobloxService.ts
Description: Orchestrator Function to delete an A Record from Infoblox
Function InfobloxDeleteARecord
public InfobloxDeleteARecord(objRESTHost: RESTHost, strARecord: string): void {
try {
let strUrl: string = "/wapi/v1.1/record:host?_return_type=json&name=" + strARecord;
let objRESTRequest: RESTRequest = objRESTHost.createRequest("GET", strUrl, null);
objRESTRequest.contentType = "application/json";
objRESTRequest.setHeader("Accept", "application/json");
let objRESTResponse: RESTResponse = objRESTRequest.execute();
if (objRESTResponse.statusCode == 200) {
let strContentAsString: string = objRESTResponse.contentAsString;
try {
let arrRecords: any[] = JSON.parse(strContentAsString);
let objRegExp: RegExp = /(record:(cname|a|host|mx|ptr|txt))\/([A-Za-z0-9]+):([a-z0-9\-\.]+)\/default/;
for (let iiii = 0; iiii < arrRecords.length; iiii++) {
let objRecord: any = arrRecords[iiii];
let strRecordReference: string = objRecord._ref;
let strRecordCanonical: string = objRecord.canonical;
let strRecordName: string = objRecord.name;
let objRegExpExecArray: RegExpExecArray = objRegExp.exec(strRecordReference);
let strObjectType: string = objRegExpExecArray[1];
let strObjectReference: string = objRegExpExecArray[3];
let strObjectName: string = objRegExpExecArray[4];
this.objLogger.info("RECORD REFERENCE: " + strRecordReference);
this.objLogger.info("RECORD CANONICAL: " + strRecordCanonical);
this.objLogger.info("RECORD NAME: " + strRecordName);
this.objLogger.info("OBJECT TYPE: " + strObjectType);
this.objLogger.info("OBJECT REFERENCE: " + strObjectReference);
this.objLogger.info("OBJECT NAME: " + strObjectName);
if (strObjectName == strARecord) {
let strUrl: string = "/wapi/v1.1/record:host/" + strObjectReference + "?_return_type=json";
let objRESTRequest: RESTRequest = objRESTHost.createRequest("DELETE", strUrl, null);
objRESTRequest.contentType = "application/json";
objRESTRequest.setHeader("Accept", "application/json");
this.objLogger.info("ATTEMPTING To DELETE A RECORD: " + strObjectName);
let objRESTResponse: RESTResponse = objRESTRequest.execute();
if (objRESTResponse.statusCode == 200) {
this.objLogger.info("SUCCESSFULLY DELETED A RECORD: " + strObjectName);
}
else {
this.objLogger.info("HTTP Error: " + objRESTResponse.statusCode);
}
}
}
}
catch (objException) {
this.objLogger.info("JSON Error: " + objException);
}
}
else {
this.objLogger.info("HTTP Error: " + objRESTResponse.statusCode);
}
}
catch (objException) {
this.objLogger.info("objException = " + objException);
}
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
