Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions language/resource-api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down