keystone.limit.backends.sql module

keystone.limit.backends.sql module

class keystone.limit.backends.sql.LimitModel(*args, **kwargs)[source]

Bases: sqlalchemy.ext.declarative.api.Base, keystone.common.sql.core.ModelDictMixin

attributes = ['internal_id', 'id', 'project_id', 'domain_id', 'service_id', 'region_id', 'resource_name', 'resource_limit', 'description', 'registered_limit_id']
description
domain_id
id
internal_id
project_id
region_id
registered_limit
registered_limit_id
resource_limit
resource_name
service_id
to_dict()[source]

Return the model’s attributes as a dictionary.

class keystone.limit.backends.sql.RegisteredLimitModel(*args, **kwargs)[source]

Bases: sqlalchemy.ext.declarative.api.Base, keystone.common.sql.core.ModelDictMixin

attributes = ['internal_id', 'id', 'service_id', 'region_id', 'resource_name', 'default_limit', 'description']
default_limit
description
id
internal_id
region_id
resource_name
service_id
to_dict()[source]

Return the model’s attributes as a dictionary.

class keystone.limit.backends.sql.UnifiedLimit[source]

Bases: keystone.limit.backends.base.UnifiedLimitDriverBase

create_limits(limits)[source]

Create new limits.

Parameters

limits – a list of dictionaries representing limits to create.

Returns

all the newly created limits.

Raises
create_registered_limits(registered_limits)[source]

Create new registered limits.

Parameters

registered_limits – a list of dictionaries representing limits to create.

Returns

all the newly created registered limits.

Raises

keystone.exception.Conflict – If a duplicate registered limit exists.

delete_limit(limit_id)[source]

Delete an existing limit.

Parameters

limit_id – the limit id to delete.

Raises

keystone.exception.LimitNotFound – If limit doesn’t exist.

delete_limits_for_project(project_id)[source]

Delete the existing limits which belong to the specified project.

Parameters

project_id – the limits’ project id.

Returns

a dictionary representing the deleted limits id. Used for cache invalidating.

delete_registered_limit(registered_limit_id)[source]

Delete an existing registered limit.

Parameters

registered_limit_id – the registered limit id to delete.

Raises

keystone.exception.RegisteredLimitNotFound – If registered limit doesn’t exist.

get_limit(limit_id)[source]

Get a limit.

Parameters

limit_id – the limit id to get.

Returns

a dictionary representing a limit reference.

Raises

keystone.exception.LimitNotFound – If limit doesn’t exist.

get_registered_limit(registered_limit_id)[source]

Get a registered limit.

Parameters

registered_limit_id – the registered limit id to get.

Returns

a dictionary representing a registered limit reference.

Raises

keystone.exception.RegisteredLimitNotFound – If registered limit doesn’t exist.

list_limits(hints)[source]

List all limits.

Parameters

hints – contains the list of filters yet to be satisfied. Any filters satisfied here will be removed so that the caller will know if any filters remain.

Returns

a list of dictionaries or an empty list.

list_registered_limits(hints)[source]

List all registered limits.

Parameters

hints – contains the list of filters yet to be satisfied. Any filters satisfied here will be removed so that the caller will know if any filters remain.

Returns

a list of dictionaries or an empty registered limit.

update_limit(limit_id, limit)[source]

Update existing limits.

Parameters
  • limit_id – the id of the limit.

  • limit – a dict containing the limit attributes to update.

Returns

the updated limit.

Raises
update_registered_limit(registered_limit_id, registered_limit)[source]

Update existing registered limits.

Parameters
  • registered_limit_id – the id of the registered limit.

  • registered_limit – a dict containing the registered limit attributes to update.

Returns

the updated registered limit.

Raises
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.