keystone.limit.backends.base module

class keystone.limit.backends.base.UnifiedLimitDriverBase[source]

Bases: object

abstract create_limits(limits)[source]

Create new limits.

Parameters:

limits – a list of dictionaries representing limits to create.

Returns:

all the newly created limits.

Raises:
abstract 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.

abstract 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.

abstract 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.

abstract 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.

abstract 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.

abstract 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.

abstract 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.

abstract 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.

abstract 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:
abstract 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: