Adding parameters to metadata
To document and validate task parameters, add the parameters
to the task metadata as JSON object, parameters
.
If a task includes parameters
in its metadata, the task runner rejects any parameters input to the
task that aren't defined in the metadata.
In the parameter
object, give each parameter a description
and specify its Puppet type. For a complete list of types, see
the types documentation.
For example, the following code in a metadata file describes a provider
parameter:
"provider": { "description": "The provider to use to manage or inspect the service, defaults to the system service manager", "type": "Optional[String[1]]" }
Define default parameters
You can define default task parameters, which are supplied to a task run even if the user does not specify a value for the parameter.
For example, the default location for this log_location
parameter is /var/log/puppetlabs
"log_location": { "type": "String", "description": "The location the log will be stored in" "default": "/var/log/puppetlabs" }
Define sensitive parameters
You can define task parameters as sensitive, for example, passwords and API keys. These
values are masked when they appear in logs and API responses. When you want to view these
values, set the log file to level: debug
.
To define a parameter as sensitive within the JSON metadata, add the "sensitive": true
property.
{ "description": "This task has a sensitive property denoted by its metadata", "input_method": "stdin", "parameters": { "user": { "description": "The user", "type": "String[1]" }, "password": { "description": "The password", "type": "String[1]", "sensitive": true } } }