Skip to content

Commit e53f106

Browse files
author
Will Meek
committed
(FM-7819) Detail known Bolt keywords
Detail the keywords currently known from Bolt
1 parent 1dc1a27 commit e53f106

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

README.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,34 @@ Puppet::ResourceAPI.register_transport(
268268
)
269269
```
270270

271-
After this, `puppet device` will be able to use the new provider, and supply it (through the device class) with the URL specified in the [`device.conf`](https://puppet.com/docs/puppet/5.3/config_file_device.html).
271+
##### Transport Schema keywords
272+
273+
Please note that within the transport schema, the following keywords are reserved words:
274+
275+
###### Usable within the schema
276+
277+
The following keywords are encouraged within the Transport schema:
278+
279+
* `uri` - Use when you need to specify a specific URL to connect to. All of the following keys will be computed from the `uri` if possible. In the future more url parts may be computed from the URI as well.
280+
* `host` - Use to specify and IP or address to connect to.
281+
* `protocol` - Use to specify which protocol the transport should use for example `http`, `https`, `ssh` or `tcp`
282+
* `user` - The user the transport should connect as.
283+
* `port` - The port the transport should connect to.
284+
285+
###### Non-Usable within the schema
286+
287+
The following keywords are keywords that must not be used by the transport schema:
288+
289+
* `name` - transports should use `uri` instead of name.
290+
* `path`
291+
* `query`
292+
* `run-on` - This is used by bolt to determine which target to proxy to. Transports should not rely on this key.
293+
* `remote-transport` - This is used to determine which transport to load. It should always be the transport class name "declassified".
294+
* `remote-*` Any key starting with `remote-` is reserved for future use.
295+
296+
Note: Currently bolt inventory requires that a name be set for every target and always uses that name as the URI. This means there is no way to specify `host` separately from the host section of the `name` when parsed as a URI.
297+
298+
After the device class, transport class and transport schema have been implemented, `puppet device` will be able to use the new provider, and supply it (through the device class) with the URL specified in the [`device.conf`](https://puppet.com/docs/puppet/5.3/config_file_device.html).
272299

273300
#### Transport/device specific providers
274301

0 commit comments

Comments
 (0)