See also: How to manage actions

In Juju, an action is a script that is triggered via the juju CLI client and applied to a unit. It contains a list of commands defined by a charm to allow a user with the right access level to interact with the application. An action’s parameters are defined as a map in a YAML file, and are validated against the schema defined in the actions.yaml file of the charm.

(Starting with juju v.3.0: ) Actions are identified by integers (instead of UUIDs).

(Starting with juju v.3.0: ) Running an action defaults to waiting for the output before returning. This synchronous behaviour allows actions to be easily be included in command-line pipelines.

(Starting with juju v.3.0: ) Actions are composed of tasks and operations. (If an action defines a named unit of work – e.g., back up the database – that can be executed on selected units, a task is the execution of the action on each target unit, and an operation is the group of tasks queued by running an action across one or more units.)