Each provider must be able to describe itself. Descriptions are written in YAML following the format defined in this document. A complete example can be found here
---
provider:
type: service
invoke: simple
actions: [list,find,update]
suitable: true
The entries under provider
have the following meaning:
type
: the name of the provider's underlying typeinvoke
: the calling convention the provider uses. Must be either simple or jsonactions
: an array listing the actions this provider supports; the possible values depend on the calling convention: for the simple calling convention, they are any combination oflist
,find
andupdate
, and for the JSON calling convention they are eitherset
orget
(or both)suitable
: indicates whether the provider can be used on the target system (see below)
In addition to this data, a provider also needs to describe its attributes as defined in this document.
The suitable
attribute in the provider metadata can either be the boolean
true
or false
, or a list of commands that must be or must not be
available. For the latter, the suitable
attribute would look like:
...
suitable:
commands: [yum, not dnf]
...
This indicates that the provider will be suitable if the yum
command is
present, and the dnf
command is not present.