The watcher.api.controllers.v1.action_plan Module

An Action Plan specifies a flow of Actions that should be executed in order to satisfy a given Goal. It also contains an estimated global efficacy alongside a set of efficacy indicators.

An Action Plan is generated by Watcher when an Audit is successful which implies that the Strategy which was used has found a Solution to achieve the Goal of this Audit.

In the default implementation of Watcher, an action plan is composed of a list of successive Actions (i.e., a Workflow of Actions belonging to a unique branch).

However, Watcher provides abstract interfaces for many of its components, allowing other implementations to generate and handle more complex Action Plan(s) composed of two types of Action Item(s):

  • simple Actions: atomic tasks, which means it can not be split into smaller tasks or commands from an OpenStack point of view.
  • composite Actions: which are composed of several simple Actions ordered in sequential and/or parallel flows.

An Action Plan may be described using standard workflow model description formats such as Business Process Model and Notation 2.0 (BPMN 2.0) or Unified Modeling Language (UML).

To see the life-cycle and description of Action Plan states, visit the Action Plan state machine.

class watcher.api.controllers.v1.action_plan.ActionPlan(**kwargs)[source]

Bases: watcher.api.controllers.base.APIBase

API representation of a action plan.

This class enforces type checking and value constraints, and converts between the internal object model and the API representation of an action plan.

classmethod sample(expand=True)[source]
class watcher.api.controllers.v1.action_plan.ActionPlanCollection(**kwargs)[source]

Bases: watcher.api.controllers.v1.collection.Collection

API representation of a collection of action_plans.

classmethod sample()[source]
class watcher.api.controllers.v1.action_plan.ActionPlanPatchType(**kw)[source]

Bases: watcher.api.controllers.v1.types.JsonPatchType

static internal_attrs()[source]
static mandatory_attrs()[source]
static validate(patch)[source]
class watcher.api.controllers.v1.action_plan.ActionPlansController[source]

Bases: pecan.rest.RestController

REST controller for Actions.

delete(*args, **kwargs)[source]

Delete an action plan.

Parameters:action_plan_uuid – UUID of a action.
detail(*args, **kwargs)[source]

Retrieve a list of action_plans with detail.

Parameters:
  • marker – pagination marker for large data sets.
  • limit – maximum number of resources to return in a single result.
  • sort_key – column to sort results by. Default: id.
  • sort_dir – direction to sort. “asc” or “desc”. Default: asc.
  • audit_uuid – Optional UUID of an audit, to get only actions for that audit.
  • strategy – strategy UUID or name to filter by
get_all(*args, **kwargs)[source]

Retrieve a list of action plans.

Parameters:
  • marker – pagination marker for large data sets.
  • limit – maximum number of resources to return in a single result.
  • sort_key – column to sort results by. Default: id.
  • sort_dir – direction to sort. “asc” or “desc”. Default: asc.
  • audit_uuid – Optional UUID of an audit, to get only actions for that audit.
  • strategy – strategy UUID or name to filter by
get_one(*args, **kwargs)[source]

Retrieve information about the given action plan.

Parameters:action_plan_uuid – UUID of a action plan.
patch(*args, **kwargs)[source]

Update an existing action plan.

Parameters:
  • action_plan_uuid – UUID of a action plan.
  • patch – a json PATCH document to apply to this action plan.