예제 #1
0
    def get(self, request, *args, **kwargs):
        """
        Returns a list of vip request by pool id
        """

        pool_id = int(kwargs['pool_id'])

        extends_search = {
            'viprequestport__viprequestportpool__server_pool': pool_id
        }
        self.search['extends_search'] = \
            [ex.append(extends_search) for ex in self.search['extends_search']] \
            if self.search['extends_search'] else [extends_search]

        vips_requests = facade.get_vip_request_by_search(self.search)

        only_main_property = False

        # serializer vips
        serializer_vips = VipRequestV3Serializer(vips_requests['query_set'],
                                                 many=True,
                                                 fields=self.fields,
                                                 include=self.include,
                                                 exclude=self.exclude,
                                                 kind=self.kind)

        # prepare serializer with customized properties
        response = render_to_json(serializer_vips,
                                  main_property='vips',
                                  obj_model=vips_requests,
                                  request=request,
                                  only_main_property=only_main_property)

        return Response(response, status=status.HTTP_200_OK)
예제 #2
0
    def get(self, request, *args, **kwargs):
        """Returns a list of Virtual Interface's by ids ou dict."""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_virtual_interface_by_search(self.search)
            virtual_interfaces = obj_model['query_set']
            only_main_property = False
        else:
            vi_ids = kwargs.get('obj_ids').split(';')
            virtual_interfaces = facade.get_virtual_interface_by_ids(vi_ids)
            only_main_property = True
            obj_model = None

        # serializer Virtual Interface's
        serializer_vi = serializers.VirtualInterfaceV4Serializer(
            virtual_interfaces,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind)

        # prepare serializer with customized properties
        data = render_to_json(serializer_vi,
                              main_property='virtual_interfaces',
                              obj_model=obj_model,
                              request=request,
                              only_main_property=only_main_property)

        return Response(data, status=status.HTTP_200_OK)
예제 #3
0
    def get(self, request, *args, **kwargs):
        """
        Method to return option pool list by environment id
        Param environment_id: environment id
        Return list of option pool
        """

        environment_id = kwargs['environment_id']

        options_pool = facade.get_options_pool_list_by_environment(
            environment_id)

        only_main_property = True

        self.include += ('type',)

        # serializer pools
        options_pool_serializer = serializers.OptionPoolV3Serializer(
            options_pool,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        # prepare serializer with customized properties
        response = render_to_json(
            options_pool_serializer,
            main_property='options_pool',
            only_main_property=only_main_property
        )

        return Response(response, status=status.HTTP_200_OK)
예제 #4
0
    def get(self, request, *args, **kwargs):
        """
        Returns list of pool by environment vip
        """

        environment_vip_id = kwargs['environment_vip_id']
        pools = facade.get_pool_list_by_environmentvip(environment_vip_id)
        only_main_property = True

        # serializer pools
        pool_serializer = serializers.PoolV3Serializer(
            pools,
            many=True,
            fields=('id', 'identifier', ) + self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        # prepare serializer with customized properties
        response = render_to_json(
            pool_serializer,
            main_property='server_pools',
            obj_model=pools,
            request=request,
            only_main_property=only_main_property
        )

        return Response(response, status=status.HTTP_200_OK)
예제 #5
0
    def get(self, request, *args, **kwargs):
        """Returns a list of Object Group Permissions by ids or dict."""

        if not kwargs.get('ogp_ids'):
            obj_model = facade_ogp.get_ogps_by_search(self.search)
            ogps = obj_model['query_set']
            only_main_property = False
        else:
            ogp_ids = kwargs.get('ogp_ids').split(';')
            ogps = facade_ogp.get_ogps_by_ids(ogp_ids)
            only_main_property = True
            obj_model = None

        serializer_class = serializers.ObjectGroupPermissionV3Serializer

        # serializer Object Group Permissions
        serializer_ogp = serializer_class(ogps,
                                          many=True,
                                          fields=self.fields,
                                          include=self.include,
                                          exclude=self.exclude)

        # prepare serializer with customized properties
        response = render_to_json(serializer_ogp,
                                  main_property='ogps',
                                  obj_model=obj_model,
                                  request=request,
                                  only_main_property=only_main_property)

        return Response(response, status=status.HTTP_200_OK)
예제 #6
0
    def get(self, request, *args, **kwargs):
        """
        Returns a list of vrf by ids ou dict
        """

        if not kwargs.get('vrf_ids'):
            obj_model = facade.get_vrfs_by_search(self.search)
            vrfs = obj_model['query_set']
            only_main_property = False
        else:
            vrf_ids = kwargs.get('vrf_ids').split(';')
            vrfs = facade.get_vrfs_by_ids(vrf_ids)
            only_main_property = True
            obj_model = None

        serializer_class = serializers.VrfV3Serializer

        # serializer vrfs
        serializer_vrf = serializer_class(vrfs,
                                          many=True,
                                          fields=self.fields,
                                          include=self.include,
                                          exclude=self.exclude)

        # prepare serializer with customized properties
        response = render_to_json(serializer_vrf,
                                  main_property='vrfs',
                                  obj_model=obj_model,
                                  request=request,
                                  only_main_property=only_main_property)

        return Response(response, status=status.HTTP_200_OK)
예제 #7
0
    def get(self, request, *args, **kwargs):
        """Returns a list of AS's by ids ou dict."""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_as_by_search(self.search)
            as_s = obj_model['query_set']
            only_main_property = False
        else:
            as_ids = kwargs.get('obj_ids').split(';')
            as_s = facade.get_as_by_ids(as_ids)
            only_main_property = True
            obj_model = None

        # serializer AS's
        serializer_as = serializers.AsnV4Serializer(
            as_s,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        # prepare serializer with customized properties
        data = render_to_json(
            serializer_as,
            main_property='asns',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(data, status=status.HTTP_200_OK)
예제 #8
0
    def get(self, request, *args, **kwargs):
        """Returns a list of environment by ids ou dict."""

        if kwargs.get('cidr_id'):
            cidr_ids = kwargs.get('cidr_id').split(';')
            cidr = list()
            for ids in cidr_ids:
                cidr += facade.get_cidr(cidr=ids)
            only_main_property = True
            obj_model = None
        elif kwargs.get('env_id'):
            env_id = kwargs.get('env_id')
            cidr = facade.get_cidr(environment=env_id)
            only_main_property = True
            obj_model = None
        else:
            obj_model = facade.get_cidr_by_search(self.search)
            cidr = obj_model.get('query_set')
            only_main_property = False

        serializer = serializers.EnvCIDRSerializer(cidr,
                                                   many=True,
                                                   fields=self.fields,
                                                   include=self.include,
                                                   exclude=self.exclude,
                                                   kind=self.kind)

        data = render_to_json(serializer,
                              main_property='cidr',
                              request=request,
                              obj_model=obj_model,
                              only_main_property=only_main_property)

        return Response(data, status=status.HTTP_200_OK)
예제 #9
0
    def get(self, request, *args, **kwargs):
        """Returns a list of environment by ids ou dict."""

        only_main_property = True
        if not kwargs.get('environment_vip_id'):
            environments = facade.list_environment_environment_vip_related()
        else:
            env_id = kwargs.get('environment_vip_id')
            environments = facade.list_environment_environment_vip_related(
                env_id)

        # serializer environments
        serializer_env = serializers.EnvironmentV3Serializer(
            environments,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        # prepare serializer with customized properties
        data = render_to_json(
            serializer_env,
            main_property='environments',
            request=request,
            only_main_property=only_main_property
        )

        return Response(data, status=status.HTTP_200_OK)
예제 #10
0
    def get(self, request, *args, **kwargs):
        """Returns a list of environment by ids ou dict."""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_environment_by_search(self.search)
            environments = obj_model['query_set']
            only_main_property = False
        else:
            environment_ids = kwargs.get('obj_ids').split(';')
            environments = facade.get_environment_by_ids(environment_ids)
            only_main_property = True
            obj_model = None

        # serializer environments
        serializer_env = serializers.EnvironmentV3Serializer(
            environments,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        # prepare serializer with customized properties
        data = render_to_json(
            serializer_env,
            main_property='environments',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(data, status=status.HTTP_200_OK)
예제 #11
0
    def get(self, request, *args, **kwargs):
        """
        Method to return option pool list by environment id
        Param environment_id: environment id
        Return list of option pool
        """

        environment_id = kwargs['environment_id']

        options_pool = facade.get_options_pool_list_by_environment(
            environment_id)

        only_main_property = True

        self.include += ('type', )

        # serializer pools
        options_pool_serializer = serializers.OptionPoolV3Serializer(
            options_pool,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind)

        # prepare serializer with customized properties
        response = render_to_json(options_pool_serializer,
                                  main_property='options_pool',
                                  only_main_property=only_main_property)

        return Response(response, status=status.HTTP_200_OK)
예제 #12
0
    def get(self, request, *args, **kwargs):
        """Return server pools by ids or dict"""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_pool_by_search(self.search)
            pools = obj_model['query_set']
            only_main_property = False
        else:
            pool_ids = kwargs['obj_ids'].split(';')
            pools = facade.get_pool_by_ids(pool_ids)
            only_main_property = True
            obj_model = None

        # serializer pools
        pool_serializer = serializers.PoolV3Serializer(pools,
                                                       many=True,
                                                       fields=self.fields,
                                                       include=self.include,
                                                       exclude=self.exclude,
                                                       kind=self.kind)

        # prepare serializer with customized properties
        response = render_to_json(pool_serializer,
                                  main_property='server_pools',
                                  obj_model=obj_model,
                                  request=request,
                                  only_main_property=only_main_property)

        return Response(response, status=status.HTTP_200_OK)
예제 #13
0
    def get(self, request, *args, **kwargs):
        """
        Method to return environment vip list.
        Param obj_ids: obj_ids
        """
        if not kwargs.get('obj_id'):
            obj_model = facade.get_environmentvip_by_search(self.search)
            environments_vip = obj_model['query_set']
            only_main_property = False
        else:
            obj_ids = kwargs['obj_id'].split(';')
            environments_vip = facade.get_environmentvip_by_ids(obj_ids)
            only_main_property = True
            obj_model = None

        environmentvip_serializer = serializers.EnvironmentVipV3Serializer(
            environments_vip,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind)

        # prepare serializer with customized properties
        response = render_to_json(environmentvip_serializer,
                                  main_property='environments_vip',
                                  obj_model=obj_model,
                                  request=request,
                                  only_main_property=only_main_property)

        return Response(response, status=status.HTTP_200_OK)
예제 #14
0
    def get(self, request, **kwargs):
        """Returns a list of Neighbors by ids ou dict."""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_neighbor_v4_by_search(self.search)
            objects = obj_model['query_set']
            only_main_property = False
        else:
            ids = kwargs.get('obj_ids').split(';')
            objects = facade.get_neighbor_v4_by_ids(ids)
            only_main_property = True
            obj_model = None

        serializer = serializers.NeighborV4V4Serializer(
            objects,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        data = render_to_json(
            serializer,
            main_property='neighbors',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(data, status=status.HTTP_200_OK)
예제 #15
0
    def get(self, request, *args, **kwargs):
        """Return server pools by ids or dict"""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_pool_by_search(self.search)
            pools = obj_model['query_set']
            only_main_property = False
        else:
            pool_ids = kwargs['obj_ids'].split(';')
            pools = facade.get_pool_by_ids(pool_ids)
            only_main_property = True
            obj_model = None

        # serializer pools
        pool_serializer = serializers.PoolV3Serializer(
            pools,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        # prepare serializer with customized properties
        response = render_to_json(
            pool_serializer,
            main_property='server_pools',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(response, status=status.HTTP_200_OK)
예제 #16
0
    def get(self, request, *args, **kwargs):
        """Returns a list of environment by ids ou dict."""

        only_main_property = True
        if not kwargs.get('environment_vip_id'):
            environments = facade.list_environment_environment_vip_related()
        else:
            env_id = kwargs.get('environment_vip_id')
            environments = facade.list_environment_environment_vip_related(
                env_id)

        # serializer environments
        serializer_env = serializers.EnvironmentV3Serializer(
            environments,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind)

        # prepare serializer with customized properties
        data = render_to_json(serializer_env,
                              main_property='environments',
                              request=request,
                              only_main_property=only_main_property)

        return Response(data, status=status.HTTP_200_OK)
예제 #17
0
    def get(self, request, *args, **kwargs):
        """URL: api/v3/interface/"""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_interface_by_search(self.search)
            interfaces = obj_model['query_set']
            only_main_property = False
        else:
            interface_ids = kwargs.get('obj_ids').split(';')
            interfaces = facade.get_interface_by_ids(interface_ids)
            only_main_property = True
            obj_model = None

        serializer_interface = serializers.InterfaceV3Serializer(
            interfaces,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        data = render_to_json(
            serializer_interface,
            main_property='interfaces',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(data, status=status.HTTP_200_OK)
예제 #18
0
    def get(self, request, *args, **kwargs):
        """
        Returns a list of aws vpc by ids ou dict
        """

        if not kwargs.get('aws_vpc_ids'):
            obj_model = facade.get_aws_vpc_by_search(self.search)
            aws_vpc = obj_model['query_set']
            only_main_property = False
        else:
            aws_vpc_ids = kwargs.get('aws_vpc_ids').split(';')
            aws_vpc = facade.get_aws_vpc_by_ids(aws_vpc_ids)
            only_main_property = True
            obj_model = None

        serializer_class = serializers.AwsVPCSerializer

        # serializer aws_vpc
        serializer_aws_vpc = serializer_class(aws_vpc,
                                              many=True,
                                              fields=self.fields,
                                              include=self.include,
                                              exclude=self.exclude)

        # prepare serializer with customized properties
        response = render_to_json(serializer_aws_vpc,
                                  main_property='aws_vpc',
                                  obj_model=obj_model,
                                  request=request,
                                  only_main_property=only_main_property)

        return Response(response, status=status.HTTP_200_OK)
예제 #19
0
    def get(self, request, *args, **kwargs):
        """Returns a list of environment by ids ou dict."""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_environment_by_search(self.search)
            environments = obj_model['query_set']
            only_main_property = False
        else:
            environment_ids = kwargs.get('obj_ids').split(';')
            environments = facade.get_environment_by_ids(environment_ids)
            only_main_property = True
            obj_model = None

        # serializer environments
        serializer_env = serializers.EnvironmentV3Serializer(
            environments,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind)

        # prepare serializer with customized properties
        data = render_to_json(serializer_env,
                              main_property='environments',
                              obj_model=obj_model,
                              request=request,
                              only_main_property=only_main_property)

        return Response(data, status=status.HTTP_200_OK)
예제 #20
0
    def get(self, request, *args, **kwargs):
        """Returns a list of Neighbors by ids ou dict."""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_neighbor_by_search(self.search)
            neighbors = obj_model['query_set']
            only_main_property = False
        else:
            neighbor_ids = kwargs.get('obj_ids').split(';')
            neighbors = facade.get_neighbor_by_ids(neighbor_ids)
            only_main_property = True
            obj_model = None

        # serializer Neighbors
        serializer_neighbor = serializers.NeighborV4Serializer(
            neighbors,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind)

        # prepare serializer with customized properties
        data = render_to_json(serializer_neighbor,
                              main_property='neighbors',
                              obj_model=obj_model,
                              request=request,
                              only_main_property=only_main_property)

        return Response(data, status=status.HTTP_200_OK)
예제 #21
0
    def get(self, request, *args, **kwargs):
        """
        Returns a list of vip request with details by ids ou dict

        """
        if not kwargs.get('obj_ids'):
            obj_model = facade.get_vip_request_by_search(self.search)
            vips_requests = obj_model['query_set']
            only_main_property = False
        else:
            vip_request_ids = kwargs['obj_ids'].split(';')
            vips_requests = facade.get_vip_request_by_ids(vip_request_ids)
            obj_model = None
            only_main_property = True

        # serializer vips
        serializer_vips = VipRequestV3Serializer(
            vips_requests,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind='details'
        )

        # prepare serializer with customized properties
        response = render_to_json(
            serializer_vips,
            main_property='vips',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(response, status=status.HTTP_200_OK)
예제 #22
0
    def get(self, request, *args, **kwargs):
        """
        Returns list of pool by environment vip
        """
        try:
            environment_vip_id = kwargs['environment_vip_id']
            pools = facade.get_pool_list_by_environmentvip(environment_vip_id)
            only_main_property = True

            # serializer pools
            pool_serializer = serializers.PoolV3Serializer(
                pools,
                many=True,
                fields=(
                    'id',
                    'identifier',
                ) + self.fields,
                include=self.include,
                exclude=self.exclude,
                kind=self.kind)

            # prepare serializer with customized properties
            response = render_to_json(pool_serializer,
                                      main_property='server_pools',
                                      obj_model=pools,
                                      request=request,
                                      only_main_property=only_main_property)

            return CustomResponse(response,
                                  status=status.HTTP_200_OK,
                                  request=request)
        except Exception, exception:
            log.exception(exception)
            raise rest_exceptions.NetworkAPIException(exception)
예제 #23
0
    def get(self, request, *args, **kwargs):
        """Returns a list of ListConfigBGPs by ids ou dict."""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_list_config_bgp_by_search(self.search)
            objects = obj_model['query_set']
            only_main_property = False
        else:
            ids = kwargs.get('obj_ids').split(';')
            objects = facade.get_list_config_bgp_by_ids(ids)
            only_main_property = True
            obj_model = None

        # serializer
        serializer = serializers.ListConfigBGPV4Serializer(
            objects,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        # prepare serializer with customized properties
        data = render_to_json(
            serializer,
            main_property='lists_config_bgp',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(data, status=status.HTTP_200_OK)
예제 #24
0
    def get(self, request, *args, **kwargs):
        """URL: api/v3/interface/"""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_interface_by_search(self.search)
            interfaces = obj_model['query_set']
            only_main_property = False
        else:
            interface_ids = kwargs.get('obj_ids').split(';')
            interfaces = facade.get_interface_by_ids(interface_ids)
            only_main_property = True
            obj_model = None

        serializer_interface = serializers.InterfaceV3Serializer(
            interfaces,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind)

        data = render_to_json(serializer_interface,
                              main_property='interfaces',
                              obj_model=obj_model,
                              request=request,
                              only_main_property=only_main_property)

        return Response(data, status=status.HTTP_200_OK)
예제 #25
0
    def get(self, request, *args, **kwargs):
        """Returns a list of networkv4 by ids ou dict."""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_networkipv4_by_search(self.search)
            networks = obj_model['query_set']
            only_main_property = False
        else:
            obj_ids = kwargs.get('obj_ids').split(';')
            networks = facade.get_networkipv4_by_ids(obj_ids)
            only_main_property = True
            obj_model = None

        # serializer networks
        serializer_net = serializers.NetworkIPv4V3Serializer(
            networks,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        # prepare serializer with customized properties
        data = render_to_json(
            serializer_net,
            main_property='networks',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(data, status=status.HTTP_200_OK)
예제 #26
0
    def get(self, request, *args, **kwargs):
        """Returns a list of RouteMapEntries by ids ou dict."""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_route_map_entry_by_search(self.search)
            objects = obj_model['query_set']
            only_main_property = False
        else:
            ids = kwargs.get('obj_ids').split(';')
            objects = facade.get_route_map_entry_by_ids(ids)
            only_main_property = True
            obj_model = None

        # serializer
        serializer = serializers.RouteMapEntryV4Serializer(
            objects,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind)

        # prepare serializer with customized properties
        data = render_to_json(serializer,
                              main_property='route_map_entries',
                              obj_model=obj_model,
                              request=request,
                              only_main_property=only_main_property)

        return Response(data, status=status.HTTP_200_OK)
예제 #27
0
    def get(self, request, *args, **kwargs):
        """
        Method to return environment vip list.
        Param obj_ids: obj_ids
        """
        if not kwargs.get('obj_id'):
            obj_model = facade.get_environmentvip_by_search(self.search)
            environments_vip = obj_model['query_set']
            only_main_property = False
        else:
            obj_ids = kwargs['obj_id'].split(';')
            environments_vip = facade.get_environmentvip_by_ids(obj_ids)
            only_main_property = True
            obj_model = None

        environmentvip_serializer = serializers.EnvironmentVipV3Serializer(
            environments_vip,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        # prepare serializer with customized properties
        response = render_to_json(
            environmentvip_serializer,
            main_property='environments_vip',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(response, status=status.HTTP_200_OK)
예제 #28
0
    def get(self, request, *args, **kwargs):

        if not kwargs.get('obj_ids'):
            obj_model = facade_v3.get_ipv6_by_search(self.search)
            ips = obj_model['query_set']
            only_main_property = False
        else:
            obj_ids = kwargs.get('obj_ids').split(';')
            ips = facade_v3.get_ipv6_by_ids(obj_ids)
            only_main_property = True
            obj_model = None

        # serializer ips
        serializer_ip = serializers.Ipv6V4Serializer(
            ips,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        # prepare serializer with customized properties
        data = render_to_json(
            serializer_ip,
            main_property='ips',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(data, status=status.HTTP_200_OK)
예제 #29
0
    def get(self, request, *args, **kwargs):
        """
        Returns a list of vlans with details by ids ou dict.
        """

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_vlan_by_search(self.search)
            vlans = obj_model['query_set']
            only_main_property = False
        else:
            obj_ids = kwargs['obj_ids'].split(';')
            vlans = facade.get_vlan_by_ids(obj_ids)
            obj_model = None
            only_main_property = True

        # serializer vips
        serializer_vips = serializers.VlanV3Serializer(
            vlans,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        # prepare serializer with customized properties
        response = render_to_json(
            serializer_vips,
            main_property='vlans',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(response, status=status.HTTP_200_OK)
예제 #30
0
    def get(self, request, *args, **kwargs):
        """Returns a list of environment by ids ou dict."""

        if not kwargs.get('obj_ids'):
            obj_model = facade.get_l3_environment_by_search(self.search)
            environments = obj_model['query_set']
            only_main_property = False
        else:
            return Response(dict(), status=status.HTTP_400_BAD_REQUEST)

        # serializer environments
        serializer_env = serializers.GrupoL3Serializer(environments,
                                                       many=True,
                                                       fields=self.fields,
                                                       include=self.include,
                                                       exclude=self.exclude,
                                                       kind=self.kind)

        data = render_to_json(serializer_env,
                              main_property='l3_environments',
                              obj_model=obj_model,
                              request=request,
                              only_main_property=only_main_property)

        return Response(data, status=status.HTTP_200_OK)
예제 #31
0
    def get(self, request, *args, **kwargs):
        """Returns a list of vip request by ids ou dict."""

        if not kwargs.get('obj_ids'):
            obj_model = facade_v3.get_ipv4_by_search(self.search)
            ips = obj_model['query_set']
            only_main_property = False
        else:
            obj_ids = kwargs.get('obj_ids').split(';')
            ips = facade_v3.get_ipv4_by_ids(obj_ids)
            only_main_property = True
            obj_model = None

        # serializer ips
        serializer_ip = serializers.IPv4V4Serializer(ips,
                                                     many=True,
                                                     fields=self.fields,
                                                     include=self.include,
                                                     exclude=self.exclude,
                                                     kind=self.kind)

        # prepare serializer with customized properties
        data = render_to_json(serializer_ip,
                              main_property='ips',
                              obj_model=obj_model,
                              request=request,
                              only_main_property=only_main_property)

        return Response(data, status=status.HTTP_200_OK)
예제 #32
0
    def get(self, request, *args, **kwargs):
        """
        Return list of equipments

        :param rights_write(optional): Right of Write - Filter by rights of write
        :param environment(optional): Id of environment - Filter by environment
        :param ipv4(optional): Id of ipv4 - Filter by id ipv4
        :param ipv6(optional): Id of ipv6 - Filter by id ipv6
        :param is_router(optional): Boolean (True|False) - Filter for routers
        :param name(optional): Name of Equipment
        """

        if not kwargs.get('obj_id'):
            rights_write = request.GET.get('rights_write')
            environment = request.GET.get('environment')
            ipv4 = request.GET.get('ipv4')
            ipv6 = request.GET.get('ipv6')
            is_router = request.GET.get('is_router')
            environment_sdn_controller = request.GET.get(
                'environment_sdn_controller')
            name = request.GET.get('name')

            # get equipments queryset
            obj_model = facade.get_equipments(
                user=request.user,
                rights_read=1,
                environment=environment,
                ipv4=ipv4,
                ipv6=ipv6,
                rights_write=rights_write,
                name=name,
                is_router=is_router,
                environment_sdn_controller=environment_sdn_controller,
                search=self.search)
            equipments = obj_model['query_set']
            only_main_property = False

        else:
            obj_ids = kwargs.get('obj_id').split(';')
            equipments = facade.get_equipment_by_ids(obj_ids)
            only_main_property = True
            obj_model = None

        # serializer equipments
        eqpt_serializers = serializers.EquipmentV3Serializer(
            equipments,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind)

        # prepare serializer with customized properties
        data = render_to_json(eqpt_serializers,
                              main_property='equipments',
                              obj_model=obj_model,
                              request=request,
                              only_main_property=only_main_property)

        return Response(data, status=status.HTTP_200_OK)
예제 #33
0
    def get(self, request, *args, **kwargs):
        """
        Return server pools by ids or dict
        """
        try:
            if not kwargs.get('pool_ids'):
                obj_model = facade.get_pool_by_search(self.search)
                pools = obj_model['query_set']
                only_main_property = False
            else:
                pool_ids = kwargs['pool_ids'].split(';')
                pools = facade.get_pool_by_ids(pool_ids)
                only_main_property = True
                obj_model = None

            self.include = (
                'servicedownaction__details',
                'environment__details',
                'groups_permissions__details',
            )

            # serializer pools
            pool_serializer = serializers.PoolV3Serializer(
                pools,
                many=True,
                fields=self.fields,
                include=self.include,
                exclude=self.exclude,
                kind=self.kind)

            # prepare serializer with customized properties
            response = render_to_json(pool_serializer,
                                      main_property='server_pools',
                                      obj_model=obj_model,
                                      request=request,
                                      only_main_property=only_main_property)

            return CustomResponse(response,
                                  status=status.HTTP_200_OK,
                                  request=request)

        except Exception, exception:
            log.exception(exception)
            raise rest_exceptions.NetworkAPIException(exception)
예제 #34
0
    def get(self, request, *args, **kwargs):
        """Returns a list of environment by ids ou dict."""

        # String with all important fields to define response
        request_identifier_to_cache = str(self.search) + str(
            self.fields) + str(self.include) + str(self.exclude) + str(
                self.kind)

        if not kwargs.get('obj_ids'):
            data = get_cached_search(ENVIRONMENT_CACHE_ENTRY,
                                     request_identifier_to_cache)
            if data:
                return Response(data, status=status.HTTP_200_OK)

            obj_model = facade.get_environment_by_search(self.search)
            environments = obj_model['query_set']
            only_main_property = False
        else:
            environment_ids = kwargs.get('obj_ids').split(';')
            environments = facade.get_environment_by_ids(environment_ids)
            only_main_property = True
            obj_model = None

        # serializer environments
        serializer_env = serializers.EnvironmentV3Serializer(
            environments,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind)

        # prepare serializer with customized properties
        data = render_to_json(serializer_env,
                              main_property='environments',
                              obj_model=obj_model,
                              request=request,
                              only_main_property=only_main_property)

        set_cache_search_with_list(ENVIRONMENT_CACHE_ENTRY,
                                   request_identifier_to_cache, data,
                                   facade.get_environment_cache_time())
        return Response(data, status=status.HTTP_200_OK)
예제 #35
0
    def get(self, request, *args, **kwargs):
        """
        Returns a list of networkv6 by ids ou dict
        """

        try:

            if not kwargs.get('obj_id'):
                obj_model = facade.get_networkipv6_by_search(self.search)
                networks = obj_model['query_set']
                only_main_property = False
            else:
                obj_ids = kwargs.get('obj_id').split(';')
                networks = facade.get_networkipv6_by_ids(obj_ids)
                only_main_property = True
                obj_model = None

            # serializer networks
            serializer_net = serializers.NetworkIPv6V3Serializer(
                networks,
                many=True,
                fields=self.fields,
                include=self.include,
                exclude=self.exclude,
                kind=self.kind)

            # prepare serializer with customized properties
            data = render_to_json(serializer_net,
                                  main_property='networks',
                                  obj_model=obj_model,
                                  request=request,
                                  only_main_property=only_main_property)

            return CustomResponse(data,
                                  status=status.HTTP_200_OK,
                                  request=request)

        except Exception, exception:
            log.error(exception)
            raise api_exceptions.NetworkAPIException(exception)
예제 #36
0
    def get(self, request, *args, **kwargs):
        """
        Returns a list of vlans with details by ids ou dict

        """
        try:

            if not kwargs.get('obj_ids'):
                obj_model = facade.get_vlan_by_search(self.search)
                vlans = obj_model['query_set']
                only_main_property = False
            else:
                obj_ids = kwargs['obj_ids'].split(';')
                vlans = facade.get_vlan_by_ids(obj_ids)
                obj_model = None
                only_main_property = True

            # serializer vips
            serializer_vips = serializers.VlanV3Serializer(
                vlans,
                many=True,
                fields=self.fields,
                include=self.include,
                exclude=self.exclude,
                kind=self.kind)

            # prepare serializer with customized properties
            response = render_to_json(serializer_vips,
                                      main_property='vlans',
                                      obj_model=obj_model,
                                      request=request,
                                      only_main_property=only_main_property)

            return CustomResponse(response,
                                  status=status.HTTP_200_OK,
                                  request=request)

        except Exception, exception:
            log.error(exception)
            raise api_exceptions.NetworkAPIException(exception)
예제 #37
0
    def get(self, request, *args, **kwargs):
        """
        Returns a list of vip request by pool id
        """

        pool_id = int(kwargs['pool_id'])

        extends_search = {
            'viprequestport__viprequestportpool__server_pool': pool_id
        }
        self.search['extends_search'] = \
            [ex.append(extends_search) for ex in self.search['extends_search']] \
            if self.search['extends_search'] else [extends_search]

        vips_requests = facade.get_vip_request_by_search(self.search)

        only_main_property = False

        # serializer vips
        serializer_vips = VipRequestV3Serializer(
            vips_requests['query_set'],
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        # prepare serializer with customized properties
        response = render_to_json(
            serializer_vips,
            main_property='vips',
            obj_model=vips_requests,
            request=request,
            only_main_property=only_main_property
        )

        return Response(response, status=status.HTTP_200_OK)
예제 #38
0
    def get(self, request, *args, **kwargs):
        """Returns a list of AS's by ids ou dict."""

        if not kwargs.get('obj_ids') and\
            not kwargs.get('asn_ids') and\
            not kwargs.get('equip_ids'):
            obj_model = facade.get_as_equipment_by_search(self.search)
            as_s = obj_model['query_set']
            only_main_property = False
        else:
            obj_model = None
            only_main_property = True
            if kwargs.get('obj_ids'):
                as_ids = kwargs.get('obj_ids').split(';')
                as_s = facade.get_as_equipment_by_id(as_ids)
            elif kwargs.get('asn_ids'):
                as_ids = kwargs.get('asn_ids').split(';')
                as_s = facade.get_as_equipment_by_asn(as_ids)
            elif kwargs.get('equip_ids'):
                as_ids = kwargs.get('equip_ids').split(';')
                as_s = facade.get_as_equipment_by_equip(as_ids)

        serializer_as = serializers.AsnEquipmentV4Serializer(
            as_s,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind)

        data = render_to_json(serializer_as,
                              main_property='asn_equipment',
                              obj_model=obj_model,
                              request=request,
                              only_main_property=only_main_property)

        return Response(data, status=status.HTTP_200_OK)
예제 #39
0
    def get(self, request, *args, **kwargs):
        """
        Method to return environment vip list.
        Param environment_vip_ids: environment_vip_ids
        """
        try:
            if not kwargs.get('environment_vip_ids'):
                raise NotImplemented()
            else:
                environment_vip_ids = kwargs['environment_vip_ids'].split(';')

                environments_vip = facade.get_environmentvip_by_ids(
                    environment_vip_ids)
                only_main_property = True

            environmentvip_serializer = serializers.EnvironmentVipV3Serializer(
                environments_vip,
                many=True,
                fields=self.fields,
                include=self.include,
                exclude=self.exclude,
                kind=self.kind)

            # prepare serializer with customized properties
            response = render_to_json(environmentvip_serializer,
                                      main_property='environments_vip',
                                      obj_model=environments_vip,
                                      request=request,
                                      only_main_property=only_main_property)

            return CustomResponse(response,
                                  status=status.HTTP_200_OK,
                                  request=request)

        except Exception, exception:
            log.exception(exception)
            raise api_exceptions.NetworkAPIException(exception)
예제 #40
0
    def get(self, request, *args, **kwargs):
        """
        Returns a list of vrf by ids ou dict
        """

        if not kwargs.get('vrf_ids'):
            obj_model = facade.get_vrfs_by_search(self.search)
            vrfs = obj_model['query_set']
            only_main_property = False
        else:
            vrf_ids = kwargs.get('vrf_ids').split(';')
            vrfs = facade.get_vrfs_by_ids(vrf_ids)
            only_main_property = True
            obj_model = None

        serializer_class = serializers.VrfV3Serializer

        # serializer vrfs
        serializer_vrf = serializer_class(
            vrfs,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude
        )

        # prepare serializer with customized properties
        response = render_to_json(
            serializer_vrf,
            main_property='vrfs',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(response, status=status.HTTP_200_OK)
예제 #41
0
    def get(self, request, *args, **kwargs):
        """
        Returns a list of aws vpc by ids ou dict
        """

        if not kwargs.get('aws_vpc_ids'):
            obj_model = facade.get_aws_vpc_by_search(self.search)
            aws_vpc = obj_model['query_set']
            only_main_property = False
        else:
            aws_vpc_ids = kwargs.get('aws_vpc_ids').split(';')
            aws_vpc = facade.get_aws_vpc_by_ids(aws_vpc_ids)
            only_main_property = True
            obj_model = None

        serializer_class = serializers.AwsVPCSerializer

        # serializer aws_vpc
        serializer_aws_vpc = serializer_class(
            aws_vpc,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude
        )

        # prepare serializer with customized properties
        response = render_to_json(
            serializer_aws_vpc,
            main_property='aws_vpc',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(response, status=status.HTTP_200_OK)
예제 #42
0
    def get(self, request, *args, **kwargs):
        """
        Return list of equipments

        :param rights_write(optional): Right of Write - Filter by rights of write
        :param environment(optional): Id of environment - Filter by environment
        :param ipv4(optional): Id of ipv4 - Filter by id ipv4
        :param ipv6(optional): Id of ipv6 - Filter by id ipv6
        :param is_router(optional): Boolean (True|False) - Filter for routers
        :param name(optional): Name of Equipment
        """

        if not kwargs.get('obj_id'):
            rights_write = request.GET.get('rights_write')
            environment = request.GET.get('environment')
            ipv4 = request.GET.get('ipv4')
            ipv6 = request.GET.get('ipv6')
            is_router = request.GET.get('is_router')
            environment_sdn_controller = request.GET.get('environment_sdn_controller')
            name = request.GET.get('name')

            # get equipments queryset
            obj_model = facade_v3.get_equipments(
                user=request.user,
                rights_read=1,
                environment=environment,
                ipv4=ipv4,
                ipv6=ipv6,
                rights_write=rights_write,
                name=name,
                is_router=is_router,
                environment_sdn_controller=environment_sdn_controller,
                search=self.search
            )
            equipments = obj_model['query_set']
            only_main_property = False

        else:
            obj_ids = kwargs.get('obj_id').split(';')
            equipments = facade_v3.get_equipment_by_ids(obj_ids)
            only_main_property = True
            obj_model = None

        # serializer equipments
        eqpt_serializers = serializers.EquipmentV4Serializer(
            equipments,
            many=True,
            fields=self.fields,
            include=self.include,
            exclude=self.exclude,
            kind=self.kind
        )

        # prepare serializer with customized properties
        data = render_to_json(
            eqpt_serializers,
            main_property='equipments',
            obj_model=obj_model,
            request=request,
            only_main_property=only_main_property
        )

        return Response(data, status=status.HTTP_200_OK)