Source code for networkapi.api_list_config_bgp.v4.facade

# -*- coding: utf-8 -*-
import logging

from django.core.exceptions import FieldError

from networkapi.api_list_config_bgp.models import ListConfigBGP
from networkapi.api_list_config_bgp.v4.exceptions import ListConfigBGPAssociatedToRouteMapEntryException
from networkapi.api_list_config_bgp.v4.exceptions import ListConfigBGPDoesNotExistException
from networkapi.api_list_config_bgp.v4.exceptions import ListConfigBGPError
from networkapi.api_list_config_bgp.v4.exceptions import ListConfigBGPIsDeployedException
from networkapi.api_list_config_bgp.v4.exceptions import \
    ListConfigBGPNotFoundError
from networkapi.api_rest.exceptions import NetworkAPIException
from networkapi.api_rest.exceptions import ObjectDoesNotExistException
from networkapi.api_rest.exceptions import ValidationAPIException
from networkapi.infrastructure.datatable import build_query_to_datatable_v3

log = logging.getLogger(__name__)





[docs]def get_list_config_bgp_by_id(obj_id): """Return an ListConfigBGP by id. Args: obj_id: Id of ListConfigBGP """ try: obj = ListConfigBGP.get_by_pk(id=obj_id) except ListConfigBGPNotFoundError as e: raise ListConfigBGPDoesNotExistException(str(e)) return obj
[docs]def get_list_config_bgp_by_ids(obj_ids): """Return ListConfigBGP list by ids. Args: obj_ids: List of Ids of ListConfigBGP's. """ ids = list() for obj_id in obj_ids: try: obj = get_list_config_bgp_by_id(obj_id).id ids.append(obj) except ListConfigBGPDoesNotExistException as e: raise ObjectDoesNotExistException(str(e)) except Exception as e: raise NetworkAPIException(str(e)) return ListConfigBGP.objects.filter(id__in=ids)
[docs]def update_list_config_bgp(obj): """Update ListConfigBGP.""" try: obj_to_update = get_list_config_bgp_by_id(obj.get('id')) obj_to_update.update_v4(obj) except ListConfigBGPError as e: raise ValidationAPIException(str(e)) except ListConfigBGPIsDeployedException as e: raise ValidationAPIException(str(e)) except ValidationAPIException as e: raise ValidationAPIException(str(e)) except ListConfigBGPDoesNotExistException as e: raise ObjectDoesNotExistException(str(e)) except Exception as e: raise NetworkAPIException(str(e)) return obj_to_update
[docs]def create_list_config_bgp(obj): """Create ListConfigBGP.""" try: obj_to_create = ListConfigBGP() obj_to_create.create_v4(obj) except ListConfigBGPError as e: raise ValidationAPIException(str(e)) except ValidationAPIException as e: raise ValidationAPIException(str(e)) except Exception as e: raise NetworkAPIException(str(e)) return obj_to_create
[docs]def delete_list_config_bgp(obj_ids): """Delete ListConfigBGP.""" for obj_id in obj_ids: try: obj_to_delete = get_list_config_bgp_by_id(obj_id) obj_to_delete.delete_v4() except ListConfigBGPDoesNotExistException as e: raise ObjectDoesNotExistException(str(e)) except ListConfigBGPAssociatedToRouteMapEntryException as e: raise ValidationAPIException(str(e)) except ListConfigBGPIsDeployedException as e: raise ValidationAPIException(str(e)) except ListConfigBGPError as e: raise NetworkAPIException(str(e)) except Exception as e: raise NetworkAPIException(str(e))