hooks provides types and constants that define the hooks known to Juju.
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" )
RelationHooks returns all known relation hook kinds.
StorageHooks returns all known storage hook kinds.
UnitHooks returns all known unit hook kinds.
IsRelation returns whether the Kind represents a relation hook.
IsStorage returns whether the Kind represents a storage hook.