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
publicUpdateRecordHost(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{
letobjIpamUpdateHostInfo:IpamUpdateHostInfo=newIpamUpdateHostInfo();
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;
letobjIpamHostManager:IpamHostManager=objIpamConnection.getHostManager();
letarrIpamHost:IpamHost[]=objIpamHostManager.findHostsByName(strFQDN,strDnsView);
letobjIpamHost:IpamHost=arrIpamHost.find((objIpamHost:IpamHost):boolean=>{
returnobjIpamHost.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.
