diff --git a/README.md b/README.md index 2a63d7d..2bd4565 100644 --- a/README.md +++ b/README.md @@ -1,173 +1,173 @@ # VyOS Collection [![CI](https://zuul-ci.org/gated.svg)](https://dashboard.zuul.ansible.com/t/ansible/project/github.com/ansible-collections/vyos) The Ansible VyOS collection includes a variety of Ansible content to help automate the management of VyOS network appliances. This collection has been tested against VyOS 1.1.8 (helium). ## Ansible version compatibility This collection has been tested against following Ansible versions: **>=2.9.10**. Plugins and modules within a collection may be tested with only specific Ansible versions. A collection may contain metadata that identifies these versions. PEP440 is the schema used to describe the versions of Ansible. ### Supported connections The VyOS collection supports ``network_cli`` connections. ## Included content ### Cliconf plugins Name | Description --- | --- [vyos.vyos.vyos](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_cliconf.rst)|Use vyos cliconf to run command on VyOS platform ### Filter plugins Name | Description --- | --- +### Inventory plugins +Name | Description +--- | --- + ### Modules Name | Description --- | --- [vyos.vyos.vyos_banner](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_banner_module.rst)|Manage multiline banners on VyOS devices [vyos.vyos.vyos_command](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_command_module.rst)|Run one or more commands on VyOS devices [vyos.vyos.vyos_config](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_config_module.rst)|Manage VyOS configuration on remote device [vyos.vyos.vyos_facts](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_facts_module.rst)|Get facts about vyos devices. [vyos.vyos.vyos_firewall_global](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_firewall_global_module.rst)|FIREWALL global resource module [vyos.vyos.vyos_firewall_interfaces](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_firewall_interfaces_module.rst)|FIREWALL interfaces resource module [vyos.vyos.vyos_firewall_rules](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_firewall_rules_module.rst)|FIREWALL rules resource module [vyos.vyos.vyos_interface](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_interface_module.rst)|(deprecated, removed after 2022-06-01) Manage Interface on VyOS network devices [vyos.vyos.vyos_interfaces](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_interfaces_module.rst)|Interfaces resource module [vyos.vyos.vyos_l3_interface](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_l3_interface_module.rst)|(deprecated, removed after 2022-06-01) Manage L3 interfaces on VyOS network devices [vyos.vyos.vyos_l3_interfaces](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_l3_interfaces_module.rst)|L3 interfaces resource module [vyos.vyos.vyos_lag_interfaces](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_lag_interfaces_module.rst)|LAG interfaces resource module [vyos.vyos.vyos_linkagg](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_linkagg_module.rst)|(deprecated, removed after 2022-06-01) Manage link aggregation groups on VyOS network devices [vyos.vyos.vyos_lldp](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_lldp_module.rst)|(deprecated, removed after 2022-06-01) Manage LLDP configuration on VyOS network devices [vyos.vyos.vyos_lldp_global](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_lldp_global_module.rst)|LLDP global resource module [vyos.vyos.vyos_lldp_interface](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_lldp_interface_module.rst)|(deprecated, removed after 2022-06-01) Manage LLDP interfaces configuration on VyOS network devices [vyos.vyos.vyos_lldp_interfaces](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_lldp_interfaces_module.rst)|LLDP interfaces resource module [vyos.vyos.vyos_logging](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_logging_module.rst)|Manage logging on network devices [vyos.vyos.vyos_ospf_interfaces](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_ospf_interfaces_module.rst)|OSPF Interfaces Resource Module. [vyos.vyos.vyos_ospfv2](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_ospfv2_module.rst)|OSPFv2 resource module [vyos.vyos.vyos_ospfv3](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_ospfv3_module.rst)|OSPFV3 resource module [vyos.vyos.vyos_ping](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_ping_module.rst)|Tests reachability using ping from VyOS network devices [vyos.vyos.vyos_static_route](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_static_route_module.rst)|(deprecated, removed after 2022-06-01) Manage static IP routes on Vyatta VyOS network devices [vyos.vyos.vyos_static_routes](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_static_routes_module.rst)|Static routes resource module [vyos.vyos.vyos_system](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_system_module.rst)|Run `set system` commands on VyOS devices [vyos.vyos.vyos_user](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_user_module.rst)|Manage the collection of local users on VyOS device [vyos.vyos.vyos_vlan](https://github.com/ansible-collections/vyos.vyos/blob/main/docs/vyos.vyos.vyos_vlan_module.rst)|Manage VLANs on VyOS network devices -### Inventory plugins -Name | Description ---- | --- - Click the ``Content`` button to see the list of content included in this collection. ## Installing this collection You can install the VyOS collection with the Ansible Galaxy CLI: ansible-galaxy collection install vyos.vyos You can also include it in a `requirements.yml` file and install it with `ansible-galaxy collection install -r requirements.yml`, using the format: ```yaml --- collections: - name: vyos.vyos ``` ## Using this collection This collection includes [network resource modules](https://docs.ansible.com/ansible/latest/network/user_guide/network_resource_modules.html). ### Using modules from the VyOS collection in your playbooks You can call modules by their Fully Qualified Collection Namespace (FQCN), such as `vyos.vyos.vyos_static_routes`. The following example task replaces configuration changes in the existing configuration on a VyOS network device, using the FQCN: ```yaml --- - name: Replace device configurations of listed static routes with provided configurations register: result vyos.vyos.vyos_static_routes: &id001 config: - address_families: - afi: ipv4 routes: - dest: 192.0.2.32/28 blackhole_config: distance: 2 next_hops: - forward_router_address: 192.0.2.7 - forward_router_address: 192.0.2.8 - forward_router_address: 192.0.2.9 state: replaced ``` **NOTE**: For Ansible 2.9, you may not see deprecation warnings when you run your playbooks with this collection. Use this documentation to track when a module is deprecated. ### See Also: * [VyOS Platform Options](https://docs.ansible.com/ansible/latest/network/user_guide/platform_vyos.html) * [Ansible Using collections](https://docs.ansible.com/ansible/latest/user_guide/collections_using.html) for more details. ## Contributing to this collection We welcome community contributions to this collection. If you find problems, please open an issue or create a PR against the [VyOS collection repository](https://github.com/ansible-collections/vyos). See [Contributing to Ansible-maintained collections](https://docs.ansible.com/ansible/devel/community/contributing_maintained_collections.html#contributing-maintained-collections) for complete details. You can also join us on: - Freenode IRC - ``#ansible-network`` Freenode channel - Slack - https://ansiblenetwork.slack.com See the [Ansible Community Guide](https://docs.ansible.com/ansible/latest/community/index.html) for details on contributing to Ansible. ### Code of Conduct This collection follows the Ansible project's [Code of Conduct](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html). Please read and familiarize yourself with this document. ## Changelogs ## Release notes Release notes are available [here](https://github.com/ansible-collections/vyos.vyos/blob/main/changelogs/CHANGELOG.rst). ## Roadmap ## More information - [Ansible network resources](https://docs.ansible.com/ansible/latest/network/getting_started/network_resources.html) - [Ansible Collection overview](https://github.com/ansible-collections/overview) - [Ansible User guide](https://docs.ansible.com/ansible/latest/user_guide/index.html) - [Ansible Developer guide](https://docs.ansible.com/ansible/latest/dev_guide/index.html) - [Ansible Community code of conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html) ## Licensing GNU General Public License v3.0 or later. See [LICENSE](https://www.gnu.org/licenses/gpl-3.0.txt) to see the full text. diff --git a/changelogs/fragments/.keep b/changelogs/fragments/.keep new file mode 100644 index 0000000..e69de29 diff --git a/changelogs/fragments/122-rpc-unbloat.yaml b/changelogs/fragments/122-rpc-unbloat.yaml new file mode 100644 index 0000000..0bee3e8 --- /dev/null +++ b/changelogs/fragments/122-rpc-unbloat.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - cliconf plugin - Prevent `get_capabilities()` from getting larger every time it is called diff --git a/docs/vyos.vyos.vyos_banner_module.rst b/docs/vyos.vyos.vyos_banner_module.rst index 8e14ce3..d046cc4 100644 --- a/docs/vyos.vyos.vyos_banner_module.rst +++ b/docs/vyos.vyos.vyos_banner_module.rst @@ -1,280 +1,280 @@ .. _vyos.vyos.vyos_banner_module: ********************* vyos.vyos.vyos_banner ********************* **Manage multiline banners on VyOS devices** Version added: 1.0.0 .. contents:: :local: :depth: 1 Synopsis -------- - This will configure both pre-login and post-login banners on remote devices running VyOS. It allows playbooks to add or remote banner text from the active running configuration. Parameters ---------- .. raw:: html
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
banner
string
/ required
|
|
Specifies which banner that should be configured on the remote device.
|
|
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
||
state
string
|
|
Specifies whether or not the configuration is present in the current devices active running configuration.
|
|
text
string
|
The banner text that should be present in the remote device running configuration. This argument accepts a multiline string, with no empty lines. Requires state=present.
|
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
commands
list
/ elements=raw
/ required
|
The ordered set of commands to execute on the remote device running VyOS. The output from the command execution is returned to the playbook. If the wait_for argument is provided, the module is not returned until the condition is satisfied or the number of retries has been exceeded.
If a command sent to the device requires answering a prompt, it is possible to pass a dict containing command, answer and prompt. Common answers are 'y' or "\r" (carriage return, must be double quotes). Refer below examples.
|
||
interval
integer
|
Default: 1
|
Configures the interval in seconds to wait between retries of the command. If the command does not pass the specified conditions, the interval indicates how long to wait before trying the command again.
|
|
match
string
|
|
The match argument is used in conjunction with the wait_for argument to specify the match policy. Valid values are
all or any . If the value is set to all then all conditionals in the wait_for must be satisfied. If the value is set to any then only one of the values must be satisfied. |
|
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
||
retries
integer
|
Default: 10
|
Specifies the number of retries a command should be tried before it is considered failed. The command is run on the target device every retry and evaluated against the wait_for conditionals.
|
|
wait_for
list
/ elements=string
|
Specifies what to evaluate from the output of the command and what conditionals to apply. This argument will cause the task to wait for a particular conditional to be true before moving forward. If the conditional is not true by the configured retries, the task fails. See examples.
aliases: waitfor |
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
backup
boolean
|
|
The
backup argument will backup the current devices active configuration to the Ansible control host prior to making any changes. If the backup_options value is not given, the backup file will be located in the backup folder in the playbook root directory or role root directory, if playbook is part of an ansible role. If the directory does not exist, it is created. |
|
backup_options
dictionary
|
This is a dict object containing configurable options related to backup file path. The value of this option is read only when
backup is set to yes, if backup is set to no this option will be silently ignored. |
||
dir_path
path
|
This option provides the path ending with directory name in which the backup configuration file will be stored. If the directory does not exist it will be first created and the filename is either the value of
filename or default filename as described in filename options description. If the path value is not given in that case a backup directory will be created in the current working directory and backup configuration will be copied in filename within backup directory. |
||
filename
string
|
The filename to be used to store the backup configuration. If the filename is not given it will be generated based on the hostname, current time and date in format defined by <hostname>_config.<current-date>@<current-time>
|
||
comment
string
|
Default: "configured by vyos_config"
|
Allows a commit description to be specified to be included when the configuration is committed. If the configuration is not changed or committed, this argument is ignored.
|
|
config
string
|
The
config argument specifies the base configuration to use to compare against the desired configuration. If this value is not specified, the module will automatically retrieve the current active configuration from the remote device. |
||
lines
list
/ elements=string
|
The ordered set of configuration lines to be managed and compared with the existing configuration on the remote device.
|
||
match
string
|
|
The
match argument controls the method used to match against the current active configuration. By default, the desired config is matched against the active config and the deltas are loaded. If the match argument is set to none the active configuration is ignored and the configuration is always loaded. |
|
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
||
save
boolean
|
|
The
save argument controls whether or not changes made to the active configuration are saved to disk. This is independent of committing the config. When set to True, the active configuration is saved. |
|
src
path
|
The
src argument specifies the path to the source config file to load. The source config file can either be in bracket format or set format. The source file can include Jinja2 template variables. |
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
gather_network_resources
list
/ elements=string
|
When supplied, this argument will restrict the facts collected to a given subset. Possible values for this argument include all and the resources like interfaces. Can specify a list of values to include a larger subset. Values can also be used with an initial
! to specify that a specific subset should not be collected. Valid subsets are 'all', 'interfaces', 'l3_interfaces', 'lag_interfaces', 'lldp_global', 'lldp_interfaces', 'static_routes', 'firewall_rules', 'firewall_global', 'firewall_interfaces', 'ospfv3', 'ospfv2'. |
||
gather_subset
list
/ elements=string
|
Default: "!config"
|
When supplied, this argument will restrict the facts collected to a given subset. Possible values for this argument include all, default, config, and neighbors. Can specify a list of values to include a larger subset. Values can also be used with an initial
! to specify that a specific subset should not be collected. |
|
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
Parameter | Choices/Defaults | Comments | ||
---|---|---|---|---|
aggregate
list
/ elements=dictionary
|
List of Interfaces definitions.
|
|||
delay
integer
|
Time in seconds to wait before checking for the operational state on remote device. This wait is applicable for operational state argument which are state with values
up /down and neighbors. |
|||
description
string
|
Description of Interface.
|
|||
duplex
string
|
|
Interface link status.
|
||
enabled
boolean
|
|
Interface link status.
|
||
mtu
integer
|
Maximum size of transmit packet.
|
|||
name
string
/ required
|
Name of the Interface.
|
|||
neighbors
list
/ elements=dictionary
|
Check the operational state of given interface
name for LLDP neighbor.The following suboptions are available.
|
|||
host
string
|
LLDP neighbor host for given interface
name . |
|||
port
string
|
LLDP neighbor port to which given interface
name is connected. |
|||
speed
string
|
Interface link speed.
|
|||
state
string
|
|
State of the Interface configuration,
up means present and operationally up and down means present and operationally down |
||
delay
integer
|
Default: 10
|
Time in seconds to wait before checking for the operational state on remote device. This wait is applicable for operational state argument which are state with values
up /down and neighbors. |
||
description
string
|
Description of Interface.
|
|||
duplex
string
|
|
Interface link status.
|
||
enabled
boolean
|
|
Interface link status.
|
||
mtu
integer
|
Maximum size of transmit packet.
|
|||
name
string
|
Name of the Interface.
|
|||
neighbors
list
/ elements=dictionary
|
Check the operational state of given interface
name for LLDP neighbor.The following suboptions are available.
|
|||
host
string
|
LLDP neighbor host for given interface
name . |
|||
port
string
|
LLDP neighbor port to which given interface
name is connected. |
|||
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
|||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
|||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
|||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
|||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
|||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
|||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
|||
speed
string
|
Interface link speed.
|
|||
state
string
|
|
State of the Interface configuration,
up means present and operationally up and down means present and operationally down |
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
aggregate
list
/ elements=dictionary
|
List of L3 interfaces definitions
|
||
ipv4
string
|
IPv4 of the L3 interface.
|
||
ipv6
string
|
IPv6 of the L3 interface.
|
||
name
string
/ required
|
Name of the L3 interface.
|
||
state
string
|
|
State of the L3 interface configuration.
|
|
ipv4
string
|
IPv4 of the L3 interface.
|
||
ipv6
string
|
IPv6 of the L3 interface.
|
||
name
string
|
Name of the L3 interface.
|
||
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
||
state
string
|
|
State of the L3 interface configuration.
|
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
aggregate
list
/ elements=dictionary
|
List of link aggregation definitions.
|
||
members
list
/ elements=string
|
List of members of the link aggregation group.
|
||
mode
string
|
|
Mode of the link aggregation group.
|
|
name
string
/ required
|
Name of the link aggregation group.
|
||
state
string
|
|
State of the link aggregation group.
|
|
members
list
/ elements=string
|
List of members of the link aggregation group.
|
||
mode
string
|
|
Mode of the link aggregation group.
|
|
name
string
|
Name of the link aggregation group.
|
||
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
||
state
string
|
|
State of the link aggregation group.
|
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
aggregate
list
/ elements=dictionary
|
List of interfaces LLDP should be configured on.
|
||
name
string
/ required
|
Name of the interface LLDP should be configured on.
|
||
state
string
|
|
State of the LLDP configuration.
|
|
name
string
|
Name of the interface LLDP should be configured on.
|
||
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
||
state
string
|
|
State of the LLDP configuration.
|
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
interfaces
list
/ elements=string
|
Name of the interfaces.
|
||
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
||
state
string
|
|
State of the link aggregation group.
|
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
aggregate
list
/ elements=dictionary
|
List of logging definitions.
|
||
dest
string
|
|
Destination of the logs.
|
|
facility
string
|
Set logging facility.
|
||
level
string
|
Set logging severity levels.
|
||
name
string
|
If value of
dest is file it indicates file-name, for user it indicates username and for host indicates the host name to be notified. |
||
state
string
|
|
State of the logging configuration.
|
|
dest
string
|
|
Destination of the logs.
|
|
facility
string
|
Set logging facility.
|
||
level
string
|
Set logging severity levels.
|
||
name
string
|
If value of
dest is file it indicates file-name, for user it indicates username and for host indicates the host name to be notified. |
||
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
||
state
string
|
|
State of the logging configuration.
|
Key | Returned | Description |
---|---|---|
commands
list
|
always |
The list of configuration mode commands to send to the device
Sample:
['set system syslog global facility all level notice']
|
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
count
integer
|
Default: 5
|
Number of packets to send to check reachability.
|
|
dest
string
/ required
|
The IP Address or hostname (resolvable by the device) of the remote node.
|
||
interval
integer
|
Determines the interval (in seconds) between consecutive pings.
|
||
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
||
size
integer
|
Determines the size (in bytes) of the ping packet(s).
|
||
source
string
|
The source interface or IP Address to use while sending the ping packet(s).
|
||
state
string
|
|
Determines if the expected result is success or fail.
|
|
ttl
integer
|
The time-to-live value for the ICMP packet(s).
|
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
admin_distance
integer
|
Admin distance of the static route.
|
||
aggregate
list
/ elements=dictionary
|
List of static route definitions
|
||
admin_distance
integer
|
Admin distance of the static route.
|
||
mask
string
|
Network prefix mask of the static route.
|
||
next_hop
string
|
Next hop IP of the static route.
|
||
prefix
string
/ required
|
Network prefix of the static route.
mask param should be ignored if prefix is provided with mask value prefix/mask . |
||
state
string
|
|
State of the static route configuration.
|
|
mask
string
|
Network prefix mask of the static route.
|
||
next_hop
string
|
Next hop IP of the static route.
|
||
prefix
string
|
Network prefix of the static route.
mask param should be ignored if prefix is provided with mask value prefix/mask . |
||
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
||
state
string
|
|
State of the static route configuration.
|
Key | Returned | Description |
---|---|---|
commands
list
|
always |
The list of configuration mode commands to send to the device
Sample:
['set protocols static route 192.168.2.0/16 next-hop 10.0.0.1']
|
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
domain_name
string
|
The new domain name to apply to the device.
|
||
domain_search
list
/ elements=string
|
A list of domain names to search. Mutually exclusive with name_server
|
||
host_name
string
|
Configure the device hostname parameter. This option takes an ASCII string value.
|
||
name_server
list
/ elements=string
|
A list of name servers to use with the device. Mutually exclusive with domain_search
aliases: name_servers |
||
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
||
state
string
|
|
Whether to apply (
present ) or remove (absent ) the settings. |
Key | Returned | Description |
---|---|---|
commands
list
|
always |
The list of configuration mode commands to send to the device
Sample:
['set system hostname vyos01', 'set system domain-name foo.example.com']
|
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
aggregate
list
/ elements=dictionary
|
The set of username objects to be configured on the remote VyOS device. The list entries can either be the username or a hash of username and properties. This argument is mutually exclusive with the
name argument.aliases: users, collection |
||
configured_password
string
|
The password to be configured on the VyOS device. The password needs to be provided in clear and it will be encrypted on the device. Please note that this option is not same as
provider password . |
||
full_name
string
|
The
full_name argument provides the full name of the user account to be created on the remote device. This argument accepts any text string value. |
||
level
string
|
The
level argument configures the level of the user when logged into the system. This argument accepts string values admin or operator.aliases: role |
||
name
string
/ required
|
The username to be configured on the VyOS device. This argument accepts a string value and is mutually exclusive with the
aggregate argument. Please note that this option is not same as provider username . |
||
state
string
|
|
Configures the state of the username definition as it relates to the device operational configuration. When set to present, the username(s) should be configured in the device active configuration and when set to absent the username(s) should not be in the device active configuration
|
|
update_password
string
|
|
Since passwords are encrypted in the device running config, this argument will instruct the module when to change the password. When set to
always , the password will always be updated in the device and when set to on_create the password will be updated only if the username is created. |
|
configured_password
string
|
The password to be configured on the VyOS device. The password needs to be provided in clear and it will be encrypted on the device. Please note that this option is not same as
provider password . |
||
full_name
string
|
The
full_name argument provides the full name of the user account to be created on the remote device. This argument accepts any text string value. |
||
level
string
|
The
level argument configures the level of the user when logged into the system. This argument accepts string values admin or operator.aliases: role |
||
name
string
|
The username to be configured on the VyOS device. This argument accepts a string value and is mutually exclusive with the
aggregate argument. Please note that this option is not same as provider username . |
||
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
||
purge
boolean
|
|
Instructs the module to consider the resource definition absolute. It will remove any previously configured usernames on the device with the exception of the `admin` user (the current defined set of users).
|
|
state
string
|
|
Configures the state of the username definition as it relates to the device operational configuration. When set to present, the username(s) should be configured in the device active configuration and when set to absent the username(s) should not be in the device active configuration
|
|
update_password
string
|
|
Since passwords are encrypted in the device running config, this argument will instruct the module when to change the password. When set to
always , the password will always be updated in the device and when set to on_create the password will be updated only if the username is created. |
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
address
string
|
Configure Virtual interface address.
|
||
aggregate
list
/ elements=dictionary
|
List of VLANs definitions.
|
||
address
string
|
Configure Virtual interface address.
|
||
associated_interfaces
list
/ elements=string
|
This is a intent option and checks the operational state of the for given vlan
name for associated interfaces. If the value in the associated_interfaces does not match with the operational state of vlan on device it will result in failure. |
||
delay
integer
|
Delay the play should wait to check for declarative intent params values.
|
||
interfaces
list
/ elements=string
/ required
|
List of interfaces that should be associated to the VLAN.
|
||
name
string
|
Name of the VLAN.
|
||
state
string
|
|
State of the VLAN configuration.
|
|
vlan_id
integer
/ required
|
ID of the VLAN. Range 0-4094.
|
||
associated_interfaces
list
/ elements=string
|
This is a intent option and checks the operational state of the for given vlan
name for associated interfaces. If the value in the associated_interfaces does not match with the operational state of vlan on device it will result in failure. |
||
delay
integer
|
Default: 10
|
Delay the play should wait to check for declarative intent params values.
|
|
interfaces
list
/ elements=string
|
List of interfaces that should be associated to the VLAN.
|
||
name
string
|
Name of the VLAN.
|
||
provider
dictionary
|
Deprecated
Starting with Ansible 2.5 we recommend using
connection: network_cli .For more information please see the Network Guide.
A dict object containing connection details.
|
||
host
string
|
Specifies the DNS host name or address for connecting to the remote device over the specified transport. The value of host is used as the destination address for the transport.
|
||
password
string
|
Specifies the password to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_PASSWORD will be used instead. |
||
port
integer
|
Specifies the port to use when building the connection to the remote device.
|
||
ssh_keyfile
path
|
Specifies the SSH key to use to authenticate the connection to the remote device. This value is the path to the key used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_SSH_KEYFILE will be used instead. |
||
timeout
integer
|
Specifies the timeout in seconds for communicating with the network device for either connecting or sending commands. If the timeout is exceeded before the operation is completed, the module will error.
|
||
username
string
|
Configures the username to use to authenticate the connection to the remote device. This value is used to authenticate the SSH session. If the value is not specified in the task, the value of environment variable
ANSIBLE_NET_USERNAME will be used instead. |
||
purge
boolean
|
|
Purge VLANs not defined in the aggregate parameter.
|
|
state
string
|
|
State of the VLAN configuration.
|
|
vlan_id
integer
|
ID of the VLAN. Range 0-4094.
|