Skip to content

Plugin Provider

The Plugin Provider Object defines the components inside a plugin provider. The binary contains this read-only object and is added to the system when the plugin provider loaded.

Removing the plugin provider does not remove the content, but does invalidate the Plugin.

Fields

Field Definition
AutoStart If AutoStart is true, a Plugin will be created for this
Provider at provider definition time, if one is not already present.
AvailableActions AvailableActions lists the actions that this PluginProvider
can take.
AvailableActions/Command Command is the action name
AvailableActions/Model Model is the type of object this action should apply.
AvailableActions/OptionalParams OptionalParams is a list of parameters that can alter the behavior of this action.
AvailableActions/Provider Provider is the name of the provider that provides this action.
AvailableActions/RequiredParams RequiredParams is a list of parameters that are required for this action.
Content Content Bundle Yaml string - can be optional or empty
Documentation Documentation of this plugin provider. This should tell what
the plugin provider is for, any special considerations that
should be taken into account when using it, etc. in rich structured text (rst).
HasPublish HasPlugin is deprecated, plugin provider binaries should use a websocket
event stream instead.
Meta Meta contains the meta data of the object.

The type of this field is a key / value map/dictionary.
The key type is string.
The value type is also string.

The general content of the field is undefined and can be an arbritary store.
There are some common known keys:

color - The color the UX uses when displaying
icon - The icon the UX uses when displaying
* title - The UX uses this for additional display information. Often the source of the object.

Specific Object types use additional meta data fields. These are described at:
https://docs.rackn.io/stable/redirect/?ref=rs_object_metadata
Name Name is the unique name of the PluginProvider.
Each Plugin provider must have a unique Name.
OptionalParams OptionalParams are Params that can be present on a Plugin for the Provider
to operate. This is used to ensure default parameters are available.
PluginVersion This is used to indicate what version the plugin is built for
This is effectively the API version of the protocol that
plugin providers use to communicate with dr-provision.
Right now, all plugin providers must set this to version 4,
which is the only supported protocol version.
RequiredParams RequiredParams are Params that must be present on a Plugin for the Provider
to operate.
StoreObjects Object prefixes that can be accessed by this plugin.
The interface can be empty struct{} or a JSONSchema draft v4
This allows PluginProviders to define custom Object types that dr-provision will
store and check the validity of.
Version The version of the PluginProvider. This is a semver compatible string.