def createIpsNetworksOSHV(ipList, sysTable, hostId, hostIsComplete): ipsAndNetworksOSHV = ObjectStateHolderVector() isRoute = checkIsRoute(ipList) hostOSH = modeling.createOshByCmdbId(sysTable.sysClass, hostId) builder = HostBuilder(hostOSH) builder.setAsRouter(isRoute, __NOT_SET_ROLE) if str(sysTable.sysModel).lower() != 'unknown': builder.setStringAttribute("host_model", sysTable.sysModel) if str(sysTable.sysOs).lower() != 'unknown': builder.setOsName(sysTable.sysOs) if str(sysTable.sysVendor).lower() != 'unknown': builder.setStringAttribute("host_vendor", sysTable.sysVendor) if sysTable.sysName != None and str(sysTable.sysName).lower() != 'unknown': builder.setStringAttribute("host_snmpsysname", sysTable.sysName) if sysTable.sysNodeName is not None: builder.setStringAttribute("host_hostname", sysTable.sysNodeName) hostOSH = builder.build() ipsAndNetworksOSHV.add(hostOSH) for ip in ipList: if not isValidIP(ip): continue #create ip object ipOSH = modeling.createIpOSH(ip.ipAddr, ip.ipNetMask) #create network object networkOSH = modeling.createNetworkOSH(ip.ipAddr, ip.ipNetMask) if ip.nettype != None and int(ip.nettype) > 0: networkOSH.setEnumAttribute("network_nettype", int(ip.nettype)) #create member link object ( end1(network) and end2(ip) ) memberLinkOSHIpNetwork = modeling.createLinkOSH("member", networkOSH, ipOSH) #create member link object ( end1(network) and end2(host) ) memberLinkOSHHostNetwork = modeling.createLinkOSH("member", networkOSH, hostOSH) #create contained link object ( end1(host) and end2(ip) ) if Boolean.parseBoolean(hostIsComplete): containedLinkOSHIpHost = modeling.createLinkOSH("contained", hostOSH, ipOSH) ipsAndNetworksOSHV.add(containedLinkOSHIpHost) ipsAndNetworksOSHV.add(ipOSH) ipsAndNetworksOSHV.add(networkOSH) ipsAndNetworksOSHV.add(memberLinkOSHIpNetwork) ipsAndNetworksOSHV.add(memberLinkOSHHostNetwork) return ipsAndNetworksOSHV
def createVirtHostOsh(config): vHostOsh = modeling.createCompleteHostOSHByInterfaceList( 'host', config.interfaceList) return HostBuilder(vHostOsh).setAsVirtual(1).build()