Documentation ¶
Overview ¶
Package action defines the API client for the Action facade. This client is used by the Juju CLI to trigger action runs and receive results.
Index ¶
- Variables
- type Action
- type ActionMessage
- type ActionResult
- type ActionSpec
- type Client
- func (c *Client) Actions(ctx context.Context, actionIDs []string) ([]ActionResult, error)
- func (c *Client) ApplicationCharmActions(ctx context.Context, appName string) (map[string]ActionSpec, error)
- func (c *Client) Cancel(ctx context.Context, actionIDs []string) ([]ActionResult, error)
- func (c *Client) EnqueueOperation(ctx context.Context, actions []Action) (EnqueuedActions, error)
- func (c *Client) ListOperations(ctx context.Context, arg OperationQueryArgs) (Operations, error)
- func (c *Client) Operation(ctx context.Context, id string) (Operation, error)
- func (c *Client) Run(ctx context.Context, run RunParams) (EnqueuedActions, error)
- func (c *Client) RunOnAllMachines(ctx context.Context, commands string, timeout time.Duration) (EnqueuedActions, error)
- func (c *Client) WatchActionProgress(ctx context.Context, actionId string) (watcher.StringsWatcher, error)
- type EnqueuedActions
- type Operation
- type OperationQueryArgs
- type Operations
- type Option
- type RunParams
Constants ¶
This section is empty.
Variables ¶
var WithTracer = base.WithTracer
WithTracer returns an Option that configures the Client to use the supplied tracer.
Functions ¶
This section is empty.
Types ¶
type ActionMessage ¶
ActionMessage represents a logged message on an action.
type ActionResult ¶
type ActionResult struct { Action *Action Enqueued time.Time Started time.Time Completed time.Time Status string Message string Log []ActionMessage Output map[string]interface{} Error error }
ActionResult is the result of running an action.
type ActionSpec ¶
ActionSpec is a definition of the parameters and traits of an Action. The Params map is expected to conform to JSON-Schema Draft 4 as defined at http://json-schema.org/draft-04/schema# (see http://json-schema.org/latest/json-schema-core.html)
type Client ¶
type Client struct { base.ClientFacade // contains filtered or unexported fields }
Client provides access to the action facade.
func NewClient ¶
func NewClient(st base.APICallCloser, options ...Option) *Client
NewClient returns a new actions client.
func (*Client) Actions ¶
Actions takes a list of action IDs, and returns the full Action for each ID.
func (*Client) ApplicationCharmActions ¶
func (c *Client) ApplicationCharmActions(ctx context.Context, appName string) (map[string]ActionSpec, error)
ApplicationCharmActions is a single query which uses ApplicationsCharmsActions to get the charm.Actions for a single Application by tag.
func (*Client) EnqueueOperation ¶
EnqueueOperation takes a list of Actions and queues them up to be executed as an operation, each action running as a task on the the designated ActionReceiver. We return the ID of the overall operation and each individual task.
func (*Client) ListOperations ¶
func (c *Client) ListOperations(ctx context.Context, arg OperationQueryArgs) (Operations, error)
ListOperations fetches the operation summaries for specified apps/units.
func (*Client) Run ¶
Run the Commands specified on the machines identified through the ids provided in the machines, applications and units slices.
func (*Client) RunOnAllMachines ¶
func (c *Client) RunOnAllMachines(ctx context.Context, commands string, timeout time.Duration) (EnqueuedActions, error)
RunOnAllMachines runs the command on all the machines with the specified timeout.
func (*Client) WatchActionProgress ¶
func (c *Client) WatchActionProgress(ctx context.Context, actionId string) (watcher.StringsWatcher, error)
WatchActionProgress returns a watcher that reports on action log messages. The result strings are json formatted core.actions.ActionMessage objects.
type EnqueuedActions ¶
type EnqueuedActions struct { OperationID string Actions []ActionResult }
EnqueuedActions represents the result of enqueuing actions to run.
type Operation ¶
type Operation struct { ID string Summary string Fail string Enqueued time.Time Started time.Time Completed time.Time Status string Actions []ActionResult Error error }
Operation holds a list of actions run as part of the operation
type OperationQueryArgs ¶
type OperationQueryArgs struct { Applications []string Units []string Machines []string ActionNames []string Status []string // These attributes are used to support client side // batching of results. Offset *int Limit *int }
OperationQueryArgs holds args for listing operations.
type Operations ¶
Operations holds a list of operations and whether the list has been truncated (used for batch queries).
type RunParams ¶
type RunParams struct { Commands string Timeout time.Duration Machines []string Applications []string Units []string Parallel *bool ExecutionGroup *string // WorkloadContext for CAAS is true when the Commands should be run on // the workload not the operator. WorkloadContext bool }
RunParams is used to provide the parameters to the Run method.