Beispiel #1
0
    def list(self, name=None, category=None,
             page=1, limit=conf.api.pagination.limit,
             sort=None, visibility=Visibility.DEFAULT, all_parameters=True):
        """
        Return filtered list of services.

        :param str name: Filter for service name
        :param str category: Filter
        :param int page: page number
        :param int limit: number of items per page
        :param str visibility: Visibility options
                               *visible* - Only active services, [by default]
                               *deleted* - Only removed services.
                               *all* - All services.

        :return List service_list: List of services

        **Example**::

            {
                "service_list": {
                    "total": 20,
                    "per_page": 1,
                    "page": 1,
                    "items": [
                        {
                         "service_id":"net.associated_ip",
                         "localized_name":{ 
                            "ru":"net.associated_ip",
                            "en":"net.associated_ip"
                         },
                         "measure":{
                            "measure_id":"hour",
                            "localized_name":{
                               "ru":"\u0447\u0430\u0441",
                               "en":"hour"
                            },
                            "measure_type":"time"
                         },
                         "category":{
                            "localized_name":{
                               "ru":"\u0421\u0435\u0442\u044c",
                               "en":"Network"
                            },
                            "category_id":"net"
                        }
                    }
                ]
            }
        }

        """
        if category:
            category = frozenset(category)

        services = Service.list(only_categories=category, visibility=visibility)
        return {"service_list": self.paginate_services(services, limit, page)}
Beispiel #2
0
    def list(self,
             name=None,
             category=None,
             page=1,
             limit=conf.api.pagination.limit,
             sort=None,
             visibility=Visibility.DEFAULT,
             all_parameters=True):
        """
        Return filtered list of services.

        :param str name: Filter for service name
        :param str category: Filter
        :param int page: page number
        :param int limit: number of items per page
        :param str visibility: Visibility options
                               *visible* - Only active services, [by default]
                               *deleted* - Only removed services.
                               *all* - All services.

        :return List service_list: List of services

        **Example**::

            {
                "service_list": {
                    "total": 20,
                    "per_page": 1,
                    "page": 1,
                    "items": [
                        {
                         "service_id":"net.associated_ip",
                         "localized_name":{ 
                            "ru":"net.associated_ip",
                            "en":"net.associated_ip"
                         },
                         "measure":{
                            "measure_id":"hour",
                            "localized_name":{
                               "ru":"\u0447\u0430\u0441",
                               "en":"hour"
                            },
                            "measure_type":"time"
                         },
                         "category":{
                            "localized_name":{
                               "ru":"\u0421\u0435\u0442\u044c",
                               "en":"Network"
                            },
                            "category_id":"net"
                        }
                    }
                ]
            }
        }

        """
        if category:
            category = frozenset(category)

        services = Service.list(only_categories=category,
                                visibility=visibility)
        return {"service_list": self.paginate_services(services, limit, page)}