def buscar_ip(id_sw): ip_sw=None ips = IpEquipamento() ips = ips.list_by_equip(id_sw) for ip in ips: ip_sw = Ip.get_by_pk(ip.ip.id) if not ip_sw==None: ip_sw = str(ip_sw.oct1)+'.'+str(ip_sw.oct2)+'.'+str(ip_sw.oct3)+'.'+str(ip_sw.oct4) return ip_sw
def buscar_ip(id_sw): """Retuns switch IP that is registered in a management environment """ ip_sw = None ips = IpEquipamento() ips_equip = ips.list_by_equip(id_sw) regexp = re.compile(r'GERENCIA') mgnt_ip = None for ip_equip in ips_equip: ip_sw = ip_equip.ip if ip_sw is not None: if regexp.search(ip_sw.networkipv4.vlan.ambiente.ambiente_logico.nome) is not None: mgnt_ip = str(ip_sw.oct1) + '.' + str(ip_sw.oct2) + \ '.' + str(ip_sw.oct3) + '.' + str(ip_sw.oct4) return mgnt_ip
def handle_get(self, request, user, *args, **kwargs): """Handles GET requests to get a ipv4 and ipv6 of determined Equip. URLs: ip/getbyequip/id_equip """ try: # Commons Validations # User permission if not has_perm(user, AdminPermission.IPS, AdminPermission.READ_OPERATION): self.log.error( u'User does not have permission to perform the operation.') return self.not_authorized() if not has_perm(user, AdminPermission.EQUIPMENT_MANAGEMENT, AdminPermission.READ_OPERATION): self.log.error( u'User does not have permission to perform the operation.') return self.not_authorized() # Business Validations # Valid id access id_equip = kwargs.get('id_equip') if not is_valid_int_greater_zero_param(id_equip): raise InvalidValueError(None, 'id_equip', id_equip) # Business Rules listadeIps6 = [] listaDeIps4 = [] equip = Equipamento.get_by_pk(id_equip) ipEquip = IpEquipamento() ips = ipEquip.list_by_equip(equip.id) for ip4 in ips: listaDeIps4.append(Ip.get_by_pk(ip4.ip.id)) ips = Ipv6Equipament.list_by_equip(equip.id) for ip6 in ips: listadeIps6.append(Ipv6.get_by_pk(ip6.ip.id)) network_map = dict() list_ips = [] list_ip4 = [] list_ip6 = [] dict_ips = dict() ip4_maps = dict() ip6_maps = dict() for ip4 in listaDeIps4: ip4_maps['id'] = ip4.id ip4_maps['oct1'] = ip4.oct1 ip4_maps['oct2'] = ip4.oct2 ip4_maps['oct3'] = ip4.oct3 ip4_maps['oct4'] = ip4.oct4 ip4_maps['descricao'] = ip4.descricao ip4_maps['id_rede'] = ip4.networkipv4_id list_ip4.append(ip4_maps) ip4_maps = dict() for ip6 in listadeIps6: ip6_maps['id'] = ip6.id ip6_maps['block1'] = ip6.block1 ip6_maps['block2'] = ip6.block2 ip6_maps['block3'] = ip6.block3 ip6_maps['block4'] = ip6.block4 ip6_maps['block5'] = ip6.block5 ip6_maps['block6'] = ip6.block6 ip6_maps['block7'] = ip6.block7 ip6_maps['block8'] = ip6.block8 ip6_maps['descricao'] = ip6.description ip6_maps['id_rede'] = ip6.networkipv6_id list_ip6.append(ip6_maps) ip6_maps = dict() dict_ips['ipv4'] = list_ip4 dict_ips['ipv6'] = list_ip6 list_ips.append(dict_ips) network_map['ips'] = list_ips # Return XML return self.response(dumps_networkapi(network_map)) except InvalidValueError, e: self.log.error(u'Parameter %s is invalid. Value: %s.', e.param, e.value) return self.response_error(269, e.param, e.value)
def handle_get(self, request, user, *args, **kwargs): """Handles GET requests to get a ipv4 and ipv6 of determined Equip. URLs: ip/getbyequip/id_equip """ try: # Commons Validations # User permission if not has_perm(user, AdminPermission.IPS, AdminPermission.READ_OPERATION): self.log.error( u'User does not have permission to perform the operation.') return self.not_authorized() if not has_perm(user, AdminPermission.EQUIPMENT_MANAGEMENT, AdminPermission.READ_OPERATION): self.log.error( u'User does not have permission to perform the operation.') return self.not_authorized() # Business Validations # Valid id access id_equip = kwargs.get('id_equip') if not is_valid_int_greater_zero_param(id_equip): raise InvalidValueError(None, 'id_equip', id_equip) # Business Rules listadeIps6 = [] listaDeIps4 = [] equip = Equipamento.get_by_pk(id_equip) ipEquip = IpEquipamento() ips = ipEquip.list_by_equip(equip.id) for ip4 in ips: listaDeIps4.append(Ip.get_by_pk(ip4.ip.id)) ips = Ipv6Equipament.list_by_equip(equip.id) for ip6 in ips: listadeIps6.append(Ipv6.get_by_pk(ip6.ip.id)) network_map = dict() list_ips = [] list_ip4 = [] list_ip6 = [] dict_ips = dict() ip4_maps = dict() ip6_maps = dict() for ip4 in listaDeIps4: ip4_maps['id'] = ip4.id ip4_maps['oct1'] = ip4.oct1 ip4_maps['oct2'] = ip4.oct2 ip4_maps['oct3'] = ip4.oct3 ip4_maps['oct4'] = ip4.oct4 ip4_maps['descricao'] = ip4.descricao ip4_maps['id_rede'] = ip4.networkipv4_id list_ip4.append(ip4_maps) ip4_maps = dict() for ip6 in listadeIps6: ip6_maps['id'] = ip6.id ip6_maps['block1'] = ip6.block1 ip6_maps['block2'] = ip6.block2 ip6_maps['block3'] = ip6.block3 ip6_maps['block4'] = ip6.block4 ip6_maps['block5'] = ip6.block5 ip6_maps['block6'] = ip6.block6 ip6_maps['block7'] = ip6.block7 ip6_maps['block8'] = ip6.block8 ip6_maps['descricao'] = ip6.description ip6_maps['id_rede'] = ip6.networkipv6_id list_ip6.append(ip6_maps) ip6_maps = dict() dict_ips['ipv4'] = list_ip4 dict_ips['ipv6'] = list_ip6 list_ips.append(dict_ips) network_map['ips'] = list_ips # Return XML return self.response(dumps_networkapi(network_map)) except InvalidValueError, e: self.log.error( u'Parameter %s is invalid. Value: %s.', e.param, e.value) return self.response_error(269, e.param, e.value)