congress.api.policy_model module

congress.api.policy_model module

class congress.api.policy_model.PolicyModel(name, bus=None)

Bases: congress.api.base.APIModel

Model for handling API requests about Policies.

add_item(item, params, id_=None, context=None)

Add item to model.

Param:

item: The item to add to the model

Param:

params: A dict-like object containing parameters from the request query string and body.

Param:

id_: The ID of the item, or None if an ID should be generated

Param:

context: Key-values providing frame of reference of request

Returns:

Tuple of (ID, newly_created_item)

Raises:
  • KeyError – ID already exists.
  • DataModelException – Addition cannot be performed.
  • BadRequest – library_policy parameter and request body both present
delete_item(id_, params, context=None)

Remove item from model.

Param:id_: The ID or name of the item to be removed
Param:params:
Param:context: Key-values providing frame of reference of request
Returns:The removed item.
Raises:KeyError – Item with specified id_ not present.
execute_action(params, context=None, request=None)

Execute the action.

get_item(id_, params, context=None)

Retrieve item with id id_ from model.

Param:id_: The ID of the item to retrieve
Param:params: A dict-like object containing parameters from the request query string and body.
Param:context: Key-values providing frame of reference of request
Returns:The matching item or None if id_ does not exist.
get_items(params, context=None)

Get items in model.

Param:params: A dict-like object containing parameters from the request query string and body.
Param:context: Key-values providing frame of reference of request
Returns:A dict containing at least a ‘results’ key whose value is a list of items in the model. Additional keys set in the dict will also be rendered for the user.
simulate_action(params, context=None, request=None)

Simulate the effects of executing a sequence of updates.

Returns:the result of a query.
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.