diff --git a/docs/docsite/rst/network/user_guide/platform_exos.rst b/docs/docsite/rst/network/user_guide/platform_exos.rst new file mode 100644 index 00000000000..fd7e51f4a4f --- /dev/null +++ b/docs/docsite/rst/network/user_guide/platform_exos.rst @@ -0,0 +1,68 @@ +.. _exos_platform_options: + +*************************************** +EXOS Platform Options +*************************************** + +Extreme EXOS Ansible modules only support CLI connections today. This page offers details on how to +use ``network_cli`` on EXOS in Ansible 2.6. + +.. contents:: Topics + +Connections Available +================================================================================ + ++---------------------------+-----------------------------------------------+ +|.. | CLI | ++===========================+===============================================+ +| **Protocol** | SSH | ++---------------------------+-----------------------------------------------+ +| | **Credentials** | | uses SSH keys / SSH-agent if present | +| | | | accepts ``-u myuser -k`` if using password | ++---------------------------+-----------------------------------------------+ +| **Indirect Access** | via a bastion (jump host) | ++---------------------------+-----------------------------------------------+ +| | **Connection Settings** | | ``ansible_connection: network_cli`` | +| | | | | +| | | | | +| | | | | +| | | | | ++---------------------------+-----------------------------------------------+ +| | **Enable Mode** | | not supported by EXOS | +| | (Privilege Escalation) | | | ++---------------------------+-----------------------------------------------+ +| **Returned Data Format** | ``stdout[0].`` | ++---------------------------+-----------------------------------------------+ + +EXOS does not support ``ansible_connection: local``. You must use ``ansible_connection: network_cli``. + +Using CLI in Ansible 2.6 +================================================================================ + +Example CLI ``group_vars/exos.yml`` +----------------------------------- + +.. code-block:: yaml + + ansible_connection: network_cli + ansible_network_os: exos + ansible_user: myuser + ansible_ssh_pass: !vault... + ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"' + + +- If you are using SSH keys (including an ssh-agent) you can remove the ``ansible_ssh_pass`` configuration. +- If you are accessing your host directly (not through a bastion/jump host) you can remove the ``ansible_ssh_common_args`` configuration. +- If you are accessing your host through a bastion/jump host, you cannot include your SSH password in the ``ProxyCommand`` directive. To prevent secrets from leaking out (for example in ``ps`` output), SSH does not support providing passwords via environment variables. + +Example CLI Task +---------------- + +.. code-block:: yaml + + - name: Retrieve EXOS OS version + exos_command: + commands: show version + when: ansible_network_os == 'exos' + +.. include:: shared_snippets/SSH_warning.txt diff --git a/docs/docsite/rst/network/user_guide/platform_index.rst b/docs/docsite/rst/network/user_guide/platform_index.rst index c2e50c0f30b..2bcb3f1ca93 100644 --- a/docs/docsite/rst/network/user_guide/platform_index.rst +++ b/docs/docsite/rst/network/user_guide/platform_index.rst @@ -11,11 +11,13 @@ Some Ansible Network platforms support multiple connection types, privilege esca :caption: Platform Options platform_eos + platform_exos platform_ios platform_ironware platform_junos platform_nxos platform_routeros + platform_slxos .. _settings_by_platform: @@ -37,8 +39,12 @@ Settings by Platform +-------------------+-------------------------+----------------------+----------------------+------------------+------------------+ | Cisco NX-OS* | ``nxos`` | in v. >=2.5 | N/A | in v. >=2.6 | in v. >=2.4 | +-------------------+-------------------------+----------------------+----------------------+------------------+------------------+ +| Extreme EXOS | ``exos`` | in v. >=2.6 | N/A | N/A | N/A | ++-------------------+-------------------------+----------------------+----------------------+------------------+------------------+ | Extreme IronWare | ``ironware`` | in v. >=2.5 | N/A | N/A | in v. >=2.5 | +-------------------+-------------------------+----------------------+----------------------+------------------+------------------+ +| Extreme SLX-OS | ``slxos`` | in v. >=2.6 | N/A | N/A | N/A | ++-------------------+-------------------------+----------------------+----------------------+------------------+------------------+ | F5 BIG-IP | N/A | N/A | N/A | N/A | in v. >=2.0 | +-------------------+-------------------------+----------------------+----------------------+------------------+------------------+ | F5 BIG-IQ | N/A | N/A | N/A | N/A | in v. >=2.0 | diff --git a/docs/docsite/rst/network/user_guide/platform_slxos.rst b/docs/docsite/rst/network/user_guide/platform_slxos.rst new file mode 100644 index 00000000000..02256e9a0b9 --- /dev/null +++ b/docs/docsite/rst/network/user_guide/platform_slxos.rst @@ -0,0 +1,70 @@ +.. _slxos_platform_options: + +*************************************** +SLX-OS Platform Options +*************************************** + +Extreme SLX-OS Ansible modules only support CLI connections today. ``httpapi`` modules may be added in future. +This page offers details on how to use ``network_cli`` on SLX-OS in Ansible 2.6. + +.. contents:: Topics + +Connections Available +================================================================================ + ++---------------------------+-----------------------------------------------+ +|.. | CLI | ++===========================+===============================================+ +| **Protocol** | SSH | ++---------------------------+-----------------------------------------------+ +| | **Credentials** | | uses SSH keys / SSH-agent if present | +| | | | accepts ``-u myuser -k`` if using password | ++---------------------------+-----------------------------------------------+ +| **Indirect Access** | via a bastion (jump host) | ++---------------------------+-----------------------------------------------+ +| | **Connection Settings** | | ``ansible_connection: network_cli`` | +| | | | | +| | | | | +| | | | | +| | | | | ++---------------------------+-----------------------------------------------+ +| | **Enable Mode** | | not supported by SLX-OS | +| | (Privilege Escalation) | | | ++---------------------------+-----------------------------------------------+ +| **Returned Data Format** | ``stdout[0].`` | ++---------------------------+-----------------------------------------------+ + +SLX-OS does not support ``ansible_connection: local``. You must use ``ansible_connection: network_cli``. + +Using CLI in Ansible 2.6 +================================================================================ + +Example CLI ``group_vars/slxos.yml`` +------------------------------------ + +.. code-block:: yaml + + ansible_connection: network_cli + ansible_network_os: slxos + ansible_user: myuser + ansible_ssh_pass: !vault... + ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"' + + +- If you are using SSH keys (including an ssh-agent) you can remove the ``ansible_ssh_pass`` configuration. +- If you are accessing your host directly (not through a bastion/jump host) you can remove the ``ansible_ssh_common_args`` configuration. +- If you are accessing your host through a bastion/jump host, you cannot include your SSH password in the ``ProxyCommand`` directive. To prevent secrets from leaking out (for example in ``ps`` output), SSH does not support providing passwords via environment variables. + +Example CLI Task +---------------- + +.. code-block:: yaml + + - name: Backup current switch config (slxos) + slxos_config: + backup: yes + register: backup_slxos_location + when: ansible_network_os == 'slxos' + + +.. include:: shared_snippets/SSH_warning.txt