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 update a host record using the Infoblox plugin
Function: UpdateRecordHost
public UpdateRecordHost(objIpamConnection: IpamConnection, strFQDN: string, strDnsView: string = "default", strNetworkView: string = "default", blnRestartIfNeeded: boolean = true, blnEnableDhcp?: boolean, blnEnableDns?: boolean, strHostname?: string, strIpAddress?: string, strMacAddress?: string, strIpAddressOld?: string, blnUpdateHostAddress?: boolean, arrAdditionalAliases?: string[]): void {
let objIpamUpdateHostInfo: IpamUpdateHostInfo = new IpamUpdateHostInfo();
if (blnEnableDhcp) {
objIpamUpdateHostInfo.newEnableDhcp = blnEnableDhcp;
}
if (blnEnableDns) {
objIpamUpdateHostInfo.newEnableDns = blnEnableDns;
}
if (strHostname) {
objIpamUpdateHostInfo.newHostName = strHostname;
}
if (strIpAddress) {
objIpamUpdateHostInfo.newIp = strIpAddress;
}
if (strMacAddress) {
objIpamUpdateHostInfo.newMac = strMacAddress;
}
if (strIpAddressOld) {
objIpamUpdateHostInfo.oldIp = strIpAddressOld;
}
if (blnUpdateHostAddress) {
objIpamUpdateHostInfo.updateHostAddress = blnUpdateHostAddress;
}
if (arrAdditionalAliases) {
objIpamUpdateHostInfo.additionalAliases = arrAdditionalAliases;
}
try {
objIpamConnection.reconnect();
objIpamConnection.configDefaultNetworkView = strNetworkView;
objIpamConnection.configDefaultDnsView = strDnsView;
let objIpamHostManager: IpamHostManager = objIpamConnection.getHostManager();
let arrIpamHost: IpamHost[] = objIpamHostManager.findHostsByName(strFQDN, strDnsView);
let objIpamHost: IpamHost = arrIpamHost.find((objIpamHost: IpamHost): boolean => {
return objIpamHost.fqdn === strFQDN;
});
objIpamHostManager.updateHost(objIpamHost.reference, objIpamUpdateHostInfo, blnRestartIfNeeded);
}
catch (objException) {
this.objLogger.info(objException);
}
}Discover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
