diff --git a/language/resource-api/README.md b/language/resource-api/README.md index de9889f..625ec5c 100644 --- a/language/resource-api/README.md +++ b/language/resource-api/README.md @@ -432,23 +432,26 @@ Password attributes should also set `sensitive: true` to ensure that the data is #### Schema -A transport schema accepts the following keywords: +To align with [Bolt's inventory file](https://puppet.com/docs/bolt/latest/inventory_file.html), a transport schema prefers the following keywords (when relevant): -* `uri`: use when you need to specify a specific URL to connect to. All of the following keys will be computed from the `uri` when possible. In the future more url parts may be computed from the URI. -* `host`: use to specify an IP or address to connect to. +* `uri`: use when you need to specify a specific URL to connect to. Bolt will compute the following keys from the `uri` when possible. In the future more url parts may be computed from the URI. * `protocol`: use to specify which protocol the transport should use for example `http`, `https`, `ssh` or `tcp`. -* `user`: the user the transport should connect as. +* `host`: use to specify an IP or address to connect to. * `port`: the port the transport should connect to. +* `user`: the user the transport should connect as. +* `password`: the password for the specified user. Do not use the following keywords when writing a schema: +* `implementations`: reserved by Bolt. * `name`: transports should use `uri` instead of name. * `path`: reserved as a uri part. * `query`: reserved as a uri part. -* `run-on`: This is used by Bolt to determine which target to proxy to. Transports should not rely on this key. -* `remote-transport`: This is used to determine which transport to load. It should always be the transport class named "declassified". * `remote-*`: any key starting with `remote-` is reserved for future use. -* `implementations`: reserved by Bolt. +* `remote-transport`: determines which transport to load. Uses the transport name. +* `run-on`: Bolt uses this keyword to determine which target to proxy to. Transports should not rely on this key. + +> Note: Bolt inventory requires you to set a name for every target and always use it for the URI. This means that there is no way to specify `host` separately from the host section of the `name` when parsed as a URI. #### Implementation