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. |