charm: github.com/juju/charm/hooks Index | Files

package hooks

import "github.com/juju/charm/hooks"

hooks provides types and constants that define the hooks known to Juju.

Index

Package Files

hooks.go

type Kind Uses

type Kind string

Kind enumerates the different kinds of hooks that exist.

const (
    // None of these hooks are ever associated with a relation; each of them
    // represents a change to the state of the unit as a whole. The values
    // themselves are all valid hook names.
    Install               Kind = "install"
    Start                 Kind = "start"
    ConfigChanged         Kind = "config-changed"
    UpgradeCharm          Kind = "upgrade-charm"
    Stop                  Kind = "stop"
    Action                Kind = "action"
    CollectMetrics        Kind = "collect-metrics"
    MeterStatusChanged    Kind = "meter-status-changed"
    LeaderElected         Kind = "leader-elected"
    LeaderDeposed         Kind = "leader-deposed"
    LeaderSettingsChanged Kind = "leader-settings-changed"
    UpdateStatus          Kind = "update-status"
    PreSeriesUpgrade      Kind = "pre-series-upgrade"
    PostSeriesUpgrade     Kind = "post-series-upgrade"

    // These hooks require an associated relation, and the name of the relation
    // unit whose change triggered the hook. The hook file names that these
    // kinds represent will be prefixed by the relation name; for example,
    // "db-relation-joined".
    RelationJoined   Kind = "relation-joined"
    RelationChanged  Kind = "relation-changed"
    RelationDeparted Kind = "relation-departed"

    // This hook requires an associated relation. The represented hook file name
    // will be prefixed by the relation name, just like the other Relation* Kind
    // values.
    RelationBroken Kind = "relation-broken"

    // These hooks require an associated storage. The hook file names that these
    // kinds represent will be prefixed by the storage name; for example,
    // "shared-fs-storage-attached".
    StorageAttached  Kind = "storage-attached"
    StorageDetaching Kind = "storage-detaching"
)

func RelationHooks Uses

func RelationHooks() []Kind

RelationHooks returns all known relation hook kinds.

func StorageHooks Uses

func StorageHooks() []Kind

StorageHooks returns all known storage hook kinds.

func UnitHooks Uses

func UnitHooks() []Kind

UnitHooks returns all known unit hook kinds.

func (Kind) IsRelation Uses

func (kind Kind) IsRelation() bool

IsRelation returns whether the Kind represents a relation hook.

func (Kind) IsStorage Uses

func (kind Kind) IsStorage() bool

IsStorage returns whether the Kind represents a storage hook.

Package hooks is imported by 18 packages. Updated 2018-08-04. Refresh now. Tools for package owners.