Esempio n. 1
0
    def get_all(self,
                service_id=None,
                field_id=None,
                group_id=None,
                no_group=False,
                tenant_id=None,
                filter_tenant=False):
        """Get the threshold list

        :param service_id: Service UUID to filter on.
        :param field_id: Field UUID to filter on.
        :param group_id: Group UUID to filter on.
        :param no_group: Filter on orphaned thresholds.
        :param tenant_id: Tenant UUID to filter on.
        :param filter_tenant: Explicitly filter on tenant (default is to not
        filter on tenant). Useful if you want to filter on tenant being None.
        :return: List of every thresholds.
        """
        hashmap = db_api.get_instance()
        threshold_list = []
        search_opts = dict()
        if filter_tenant:
            search_opts['tenant_uuid'] = tenant_id
        thresholds_uuid_list = hashmap.list_thresholds(service_uuid=service_id,
                                                       field_uuid=field_id,
                                                       group_uuid=group_id,
                                                       **search_opts)
        for threshold_uuid in thresholds_uuid_list:
            threshold_db = hashmap.get_threshold(uuid=threshold_uuid)
            threshold_list.append(
                threshold_models.Threshold(**threshold_db.export_model()))
        res = threshold_models.ThresholdCollection(thresholds=threshold_list)
        return res
Esempio n. 2
0
    def get_one(self, threshold_id):
        """Return a threshold.

        :param threshold_id: UUID of the threshold to filter on.
        """
        hashmap = db_api.get_instance()
        try:
            threshold_db = hashmap.get_threshold(uuid=threshold_id)
            return threshold_models.Threshold(**threshold_db.export_model())
        except db_api.NoSuchThreshold as e:
            pecan.abort(404, six.text_type(e))
Esempio n. 3
0
    def thresholds(self, group_id):
        """Get the thresholds attached to the group.

        :param group_id: UUID of the group to filter on.
        """
        hashmap = db_api.get_instance()
        threshold_list = []
        thresholds_uuid_list = hashmap.list_thresholds(group_uuid=group_id)
        for threshold_uuid in thresholds_uuid_list:
            threshold_db = hashmap.get_threshold(uuid=threshold_uuid)
            threshold_list.append(
                threshold_models.Threshold(**threshold_db.export_model()))
        res = threshold_models.ThresholdCollection(thresholds=threshold_list)
        return res
Esempio n. 4
0
    def post(self, threshold_data):
        """Create a threshold.

        :param threshold_data: Informations about the threshold to create.
        """
        hashmap = db_api.get_instance()
        try:
            threshold_db = hashmap.create_threshold(
                level=threshold_data.level,
                map_type=threshold_data.map_type,
                cost=threshold_data.cost,
                field_id=threshold_data.field_id,
                group_id=threshold_data.group_id,
                service_id=threshold_data.service_id)
            pecan.response.location = pecan.request.path_url
            if pecan.response.location[-1] != '/':
                pecan.response.location += '/'
            pecan.response.location += threshold_db.threshold_id
            return threshold_models.Threshold(**threshold_db.export_model())
        except db_api.ThresholdAlreadyExists as e:
            pecan.abort(409, six.text_type(e))
Esempio n. 5
0
    def get_all(self,
                service_id=None,
                field_id=None,
                group_id=None,
                no_group=False):
        """Get the threshold list

        :param service_id: Service UUID to filter on.
        :param field_id: Field UUID to filter on.
        :param group_id: Group UUID to filter on.
        :param no_group: Filter on orphaned thresholds.
        :return: List of every thresholds.
        """
        hashmap = db_api.get_instance()
        threshold_list = []
        thresholds_uuid_list = hashmap.list_thresholds(service_uuid=service_id,
                                                       field_uuid=field_id,
                                                       group_uuid=group_id)
        for threshold_uuid in thresholds_uuid_list:
            threshold_db = hashmap.get_threshold(uuid=threshold_uuid)
            threshold_list.append(
                threshold_models.Threshold(**threshold_db.export_model()))
        res = threshold_models.ThresholdCollection(thresholds=threshold_list)
        return res