diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-18 05:52:22 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-18 05:52:22 +0000 |
commit | 38b7c80217c4e72b1d8988eb1e60bb6e77334114 (patch) | |
tree | 356e9fd3762877d07cde52d21e77070aeff7e789 /ansible_collections/dellemc/os10/docs | |
parent | Adding upstream version 7.7.0+dfsg. (diff) | |
download | ansible-38b7c80217c4e72b1d8988eb1e60bb6e77334114.tar.xz ansible-38b7c80217c4e72b1d8988eb1e60bb6e77334114.zip |
Adding upstream version 9.4.0+dfsg.upstream/9.4.0+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ansible_collections/dellemc/os10/docs')
35 files changed, 0 insertions, 6619 deletions
diff --git a/ansible_collections/dellemc/os10/docs/dellemc.os10.os10_command_module.rst b/ansible_collections/dellemc/os10/docs/dellemc.os10.os10_command_module.rst deleted file mode 100644 index 4bec5b231..000000000 --- a/ansible_collections/dellemc/os10/docs/dellemc.os10.os10_command_module.rst +++ /dev/null @@ -1,446 +0,0 @@ -.. Document meta - - -.. Anchors - -.. _ansible_collections.dellemc.os10.os10_command_module: - -.. Anchors: short name for ansible.builtin - -.. Anchors: aliases - - - -.. Title - -dellemc.os10.os10_command -- Run commands on devices running Dell EMC SmartFabric OS10 -++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -.. Collection note - -.. note:: - This plugin is part of the `dellemc.os10 collection <https://galaxy.ansible.com/dellemc/os10>`_. - - To install it use: :code:`ansible-galaxy collection install dellemc.os10`. - - To use it in a playbook, specify: :code:`dellemc.os10.os10_command`. - -.. version_added - - -.. contents:: - :local: - :depth: 1 - -.. Deprecated - - -Synopsis --------- - -.. Description - -- Sends arbitrary commands to a OS10 device and returns the results read from the device. This module includes an argument that will cause the module to wait for a specific condition before returning or timing out if the condition is not met. -- This module does not support running commands in configuration mode. Please use `dellemc.os10.os10_config <dellemc.os10.os10_config_module.rst>`_ to configure OS10 devices. - - -.. Aliases - - -.. Requirements - - -.. Options - -Parameters ----------- - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="2">Parameter</th> - <th>Choices/<font color="blue">Defaults</font></th> - <th width="100%">Comments</th> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-commands"></div> - <b>commands</b> - <a class="ansibleOptionLink" href="#parameter-commands" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> / <span style="color: red">required</span> </div> - </td> - <td> - </td> - <td> - <div>List of commands to send to the remote OS10 device over the configured provider. The resulting output from the command is returned. If the <em>wait_for</em> argument is provided, the module is not returned until the condition is satisfied or the number of retries has expired.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-interval"></div> - <b>interval</b> - <a class="ansibleOptionLink" href="#parameter-interval" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - <b>Default:</b><br/><div style="color: blue">1</div> - </td> - <td> - <div>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.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-match"></div> - <b>match</b> - <a class="ansibleOptionLink" href="#parameter-match" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li><div style="color: blue"><b>all</b> ←</div></li> - <li>any</li> - </ul> - </td> - <td> - <div>The <em>match</em> argument is used in conjunction with the <em>wait_for</em> argument to specify the match policy. Valid values are <code>all</code> or <code>any</code>. If the value is set to <code>all</code> then all conditionals in the wait_for must be satisfied. If the value is set to <code>any</code> then only one of the values must be satisfied.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-provider"></div> - <b>provider</b> - <a class="ansibleOptionLink" href="#parameter-provider" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">dictionary</span> - </div> - </td> - <td> - </td> - <td> - <div>A dict object containing connection details.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/auth_pass"></div> - <b>auth_pass</b> - <a class="ansibleOptionLink" href="#parameter-provider/auth_pass" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the password to use if required to enter privileged mode on the remote device. If <em>authorize</em> is false, then this argument does nothing. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_AUTH_PASS</code> will be used instead.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/authorize"></div> - <b>authorize</b> - <a class="ansibleOptionLink" href="#parameter-provider/authorize" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">boolean</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li><div style="color: blue"><b>no</b> ←</div></li> - <li>yes</li> - </ul> - </td> - <td> - <div>Instructs the module to enter privileged mode on the remote device before sending any commands. If not specified, the device will attempt to execute all commands in non-privileged mode. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_AUTHORIZE</code> will be used instead.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/host"></div> - <b>host</b> - <a class="ansibleOptionLink" href="#parameter-provider/host" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>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.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/password"></div> - <b>password</b> - <a class="ansibleOptionLink" href="#parameter-provider/password" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Password to authenticate the SSH session to the remote device. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_PASSWORD</code> will be used instead.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/port"></div> - <b>port</b> - <a class="ansibleOptionLink" href="#parameter-provider/port" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the port to use when building the connection to the remote device.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/ssh_keyfile"></div> - <b>ssh_keyfile</b> - <a class="ansibleOptionLink" href="#parameter-provider/ssh_keyfile" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">path</span> - </div> - </td> - <td> - </td> - <td> - <div>Path to an ssh key used to authenticate the SSH session to the remote device. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_SSH_KEYFILE</code> will be used instead.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/timeout"></div> - <b>timeout</b> - <a class="ansibleOptionLink" href="#parameter-provider/timeout" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies idle timeout (in seconds) for the connection. Useful if the console freezes before continuing. For example when saving configurations.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/username"></div> - <b>username</b> - <a class="ansibleOptionLink" href="#parameter-provider/username" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>User to authenticate the SSH session to the remote device. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_USERNAME</code> will be used instead.</div> - </td> - </tr> - - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-retries"></div> - <b>retries</b> - <a class="ansibleOptionLink" href="#parameter-retries" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - <b>Default:</b><br/><div style="color: blue">10</div> - </td> - <td> - <div>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 <em>wait_for</em> conditions.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-wait_for"></div> - <b>wait_for</b> - <a class="ansibleOptionLink" href="#parameter-wait_for" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td> - </td> - <td> - <div>List of conditions to evaluate against the output of the command. The task will wait for each condition to be true before moving forward. If the conditional is not true within the configured number of <em>retries</em>, the task fails. See examples.</div> - </td> - </tr> - </table> - <br/> - -.. Notes - -Notes ------ - -.. note:: - - For more information on using Ansible to manage Dell EMC Network devices see https://www.ansible.com/ansible-dell-networking. - -.. Seealso - - -.. Examples - -Examples --------- - -.. code-block:: yaml+jinja - - - tasks: - - name: run show version on remote devices - os10_command: - commands: show version - - - name: run show version and check to see if output contains OS10 - os10_command: - commands: show version - wait_for: result[0] contains OS10 - - - name: run multiple commands on remote nodes - os10_command: - commands: - - show version - - show interface - - - name: run multiple commands and evaluate the output - os10_command: - commands: - - show version - - show interface - wait_for: - - result[0] contains OS10 - - result[1] contains Ethernet - - - - -.. Facts - - -.. Return values - -Return Values -------------- -Common return values are documented `here <https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values>`_, the following are the fields unique to this module: - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="1">Key</th> - <th>Returned</th> - <th width="100%">Description</th> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-failed_conditions"></div> - <b>failed_conditions</b> - <a class="ansibleOptionLink" href="#return-failed_conditions" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td>failed</td> - <td> - <div>The list of conditionals that have failed</div> - <br/> - <div style="font-size: smaller"><b>Sample:</b></div> - <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['...', '...']</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-stdout"></div> - <b>stdout</b> - <a class="ansibleOptionLink" href="#return-stdout" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td>always apart from low level errors (such as action plugin)</td> - <td> - <div>The set of responses from the commands</div> - <br/> - <div style="font-size: smaller"><b>Sample:</b></div> - <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['...', '...']</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-stdout_lines"></div> - <b>stdout_lines</b> - <a class="ansibleOptionLink" href="#return-stdout_lines" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td>always apart from low level errors (such as action plugin)</td> - <td> - <div>The value of stdout split into a list</div> - <br/> - <div style="font-size: smaller"><b>Sample:</b></div> - <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">[['...', '...'], ['...'], ['...']]</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-warnings"></div> - <b>warnings</b> - <a class="ansibleOptionLink" href="#return-warnings" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td>always</td> - <td> - <div>The list of warnings (if any) generated by module based on arguments</div> - <br/> - <div style="font-size: smaller"><b>Sample:</b></div> - <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['...', '...']</div> - </td> - </tr> - </table> - <br/><br/> - -.. Status (Presently only deprecated) - - -.. Authors - -Authors -~~~~~~~ - -- Senthil Kumar Ganesan (@skg-net) - - - -.. Parsing errors - diff --git a/ansible_collections/dellemc/os10/docs/dellemc.os10.os10_config_module.rst b/ansible_collections/dellemc/os10/docs/dellemc.os10.os10_config_module.rst deleted file mode 100644 index 737478087..000000000 --- a/ansible_collections/dellemc/os10/docs/dellemc.os10.os10_config_module.rst +++ /dev/null @@ -1,606 +0,0 @@ -.. Document meta - - -.. Anchors - -.. _ansible_collections.dellemc.os10.os10_config_module: - -.. Anchors: short name for ansible.builtin - -.. Anchors: aliases - - - -.. Title - -dellemc.os10.os10_config -- Manage Dell EMC SmartFabric OS10 configuration sections -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -.. Collection note - -.. note:: - This plugin is part of the `dellemc.os10 collection <https://galaxy.ansible.com/dellemc/os10>`_. - - To install it use: :code:`ansible-galaxy collection install dellemc.os10`. - - To use it in a playbook, specify: :code:`dellemc.os10.os10_config`. - -.. version_added - - -.. contents:: - :local: - :depth: 1 - -.. Deprecated - - -Synopsis --------- - -.. Description - -- OS10 configurations use a simple block indent file syntax for segmenting configuration into sections. This module provides an implementation for working with OS10 configuration sections in a deterministic way. - - -.. Aliases - - -.. Requirements - - -.. Options - -Parameters ----------- - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="2">Parameter</th> - <th>Choices/<font color="blue">Defaults</font></th> - <th width="100%">Comments</th> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-after"></div> - <b>after</b> - <a class="ansibleOptionLink" href="#parameter-after" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td> - </td> - <td> - <div>The ordered set of commands to append to the end of the command stack if a change needs to be made. Just like with <em>before</em> this allows the playbook designer to append a set of commands to be executed after the command set.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-backup"></div> - <b>backup</b> - <a class="ansibleOptionLink" href="#parameter-backup" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">boolean</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li><div style="color: blue"><b>no</b> ←</div></li> - <li>yes</li> - </ul> - </td> - <td> - <div>This argument will cause the module to create a full backup of the current <code>running-config</code> from the remote device before any changes are made. If the <code>backup_options</code> value is not given, the backup file is written to the <code>backup</code> folder in the playbook root directory. If the directory does not exist, it is created.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-backup_options"></div> - <b>backup_options</b> - <a class="ansibleOptionLink" href="#parameter-backup_options" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">dictionary</span> - </div> - </td> - <td> - </td> - <td> - <div>This is a dict object containing configurable options related to backup file path. The value of this option is read only when <code>backup</code> is set to <em>yes</em>, if <code>backup</code> is set to <em>no</em> this option will be silently ignored.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-backup_options/dir_path"></div> - <b>dir_path</b> - <a class="ansibleOptionLink" href="#parameter-backup_options/dir_path" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">path</span> - </div> - </td> - <td> - </td> - <td> - <div>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 <code>filename</code> or default filename as described in <code>filename</code> options description. If the path value is not given in that case a <em>backup</em> directory will be created in the current working directory and backup configuration will be copied in <code>filename</code> within <em>backup</em> directory.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-backup_options/filename"></div> - <b>filename</b> - <a class="ansibleOptionLink" href="#parameter-backup_options/filename" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>The filename to be used to store the backup configuration. If the 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></div> - </td> - </tr> - - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-before"></div> - <b>before</b> - <a class="ansibleOptionLink" href="#parameter-before" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td> - </td> - <td> - <div>The ordered set of commands to push on to the command stack if a change needs to be made. This allows the playbook designer the opportunity to perform configuration commands prior to pushing any changes without affecting how the set of commands are matched against the system.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-config"></div> - <b>config</b> - <a class="ansibleOptionLink" href="#parameter-config" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>The module, by default, will connect to the remote device and retrieve the current running-config to use as a base for comparing against the contents of source. There are times when it is not desirable to have the task get the current running-config for every task in a playbook. The <em>config</em> argument allows the implementer to pass in the configuration to use as the base config for comparison.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-lines"></div> - <b>lines</b> - <a class="ansibleOptionLink" href="#parameter-lines" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td> - </td> - <td> - <div>The ordered set of commands that should be configured in the section. The commands must be the exact same commands as found in the device running-config. Be sure to note the configuration command syntax as some commands are automatically modified by the device config parser. This argument is mutually exclusive with <em>src</em>.</div> - <div style="font-size: small; color: darkgreen"><br/>aliases: commands</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-match"></div> - <b>match</b> - <a class="ansibleOptionLink" href="#parameter-match" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li><div style="color: blue"><b>line</b> ←</div></li> - <li>strict</li> - <li>exact</li> - <li>none</li> - </ul> - </td> - <td> - <div>Instructs the module on the way to perform the matching of the set of commands against the current device config. If match is set to <em>line</em>, commands are matched line by line. If match is set to <em>strict</em>, command lines are matched with respect to position. If match is set to <em>exact</em>, command lines must be an equal match. Finally, if match is set to <em>none</em>, the module will not attempt to compare the source configuration with the running configuration on the remote device.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-parents"></div> - <b>parents</b> - <a class="ansibleOptionLink" href="#parameter-parents" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td> - </td> - <td> - <div>The ordered set of parents that uniquely identify the section or hierarchy the commands should be checked against. If the parents argument is omitted, the commands are checked against the set of top level or global commands.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-provider"></div> - <b>provider</b> - <a class="ansibleOptionLink" href="#parameter-provider" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">dictionary</span> - </div> - </td> - <td> - </td> - <td> - <div>A dict object containing connection details.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/auth_pass"></div> - <b>auth_pass</b> - <a class="ansibleOptionLink" href="#parameter-provider/auth_pass" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the password to use if required to enter privileged mode on the remote device. If <em>authorize</em> is false, then this argument does nothing. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_AUTH_PASS</code> will be used instead.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/authorize"></div> - <b>authorize</b> - <a class="ansibleOptionLink" href="#parameter-provider/authorize" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">boolean</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li><div style="color: blue"><b>no</b> ←</div></li> - <li>yes</li> - </ul> - </td> - <td> - <div>Instructs the module to enter privileged mode on the remote device before sending any commands. If not specified, the device will attempt to execute all commands in non-privileged mode. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_AUTHORIZE</code> will be used instead.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/host"></div> - <b>host</b> - <a class="ansibleOptionLink" href="#parameter-provider/host" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>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.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/password"></div> - <b>password</b> - <a class="ansibleOptionLink" href="#parameter-provider/password" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Password to authenticate the SSH session to the remote device. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_PASSWORD</code> will be used instead.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/port"></div> - <b>port</b> - <a class="ansibleOptionLink" href="#parameter-provider/port" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the port to use when building the connection to the remote device.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/ssh_keyfile"></div> - <b>ssh_keyfile</b> - <a class="ansibleOptionLink" href="#parameter-provider/ssh_keyfile" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">path</span> - </div> - </td> - <td> - </td> - <td> - <div>Path to an ssh key used to authenticate the SSH session to the remote device. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_SSH_KEYFILE</code> will be used instead.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/timeout"></div> - <b>timeout</b> - <a class="ansibleOptionLink" href="#parameter-provider/timeout" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies idle timeout (in seconds) for the connection. Useful if the console freezes before continuing. For example when saving configurations.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/username"></div> - <b>username</b> - <a class="ansibleOptionLink" href="#parameter-provider/username" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>User to authenticate the SSH session to the remote device. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_USERNAME</code> will be used instead.</div> - </td> - </tr> - - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-replace"></div> - <b>replace</b> - <a class="ansibleOptionLink" href="#parameter-replace" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li><div style="color: blue"><b>line</b> ←</div></li> - <li>block</li> - </ul> - </td> - <td> - <div>Instructs the module on the way to perform the configuration on the device. If the replace argument is set to <em>line</em> then the modified lines are pushed to the device in configuration mode. If the replace argument is set to <em>block</em> then the entire command block is pushed to the device in configuration mode if any line is not correct.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-save"></div> - <b>save</b> - <a class="ansibleOptionLink" href="#parameter-save" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">boolean</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li><div style="color: blue"><b>no</b> ←</div></li> - <li>yes</li> - </ul> - </td> - <td> - <div>The <code>save</code> argument instructs the module to save the running- config to the startup-config at the conclusion of the module running. If check mode is specified, this argument is ignored.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-src"></div> - <b>src</b> - <a class="ansibleOptionLink" href="#parameter-src" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">path</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the source path to the file that contains the configuration or configuration template to load. The path to the source file can either be the full path on the Ansible control host or a relative path from the playbook or role root directory. This argument is mutually exclusive with <em>lines</em>.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-update"></div> - <b>update</b> - <a class="ansibleOptionLink" href="#parameter-update" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li><div style="color: blue"><b>merge</b> ←</div></li> - <li>check</li> - </ul> - </td> - <td> - <div>The <em>update</em> argument controls how the configuration statements are processed on the remote device. Valid choices for the <em>update</em> argument are <em>merge</em> and <em>check</em>. When you set this argument to <em>merge</em>, the configuration changes merge with the current device running configuration. When you set this argument to <em>check</em> the configuration updates are determined but not actually configured on the remote device.</div> - </td> - </tr> - </table> - <br/> - -.. Notes - -Notes ------ - -.. note:: - - For more information on using Ansible to manage Dell EMC Network devices see https://www.ansible.com/ansible-dell-networking. - -.. Seealso - - -.. Examples - -Examples --------- - -.. code-block:: yaml+jinja - - - - os10_config: - lines: ['hostname {{ inventory_hostname }}'] - - - os10_config: - lines: - - 10 permit ip host 1.1.1.1 any log - - 20 permit ip host 2.2.2.2 any log - - 30 permit ip host 3.3.3.3 any log - - 40 permit ip host 4.4.4.4 any log - - 50 permit ip host 5.5.5.5 any log - parents: ['ip access-list test'] - before: ['no ip access-list test'] - match: exact - - - os10_config: - lines: - - 10 permit ip host 1.1.1.1 any log - - 20 permit ip host 2.2.2.2 any log - - 30 permit ip host 3.3.3.3 any log - - 40 permit ip host 4.4.4.4 any log - parents: ['ip access-list test'] - before: ['no ip access-list test'] - replace: block - - - os10_config: - lines: ['hostname {{ inventory_hostname }}'] - backup: yes - backup_options: - filename: backup.cfg - dir_path: /home/user - - - - -.. Facts - - -.. Return values - -Return Values -------------- -Common return values are documented `here <https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values>`_, the following are the fields unique to this module: - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="1">Key</th> - <th>Returned</th> - <th width="100%">Description</th> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-backup_path"></div> - <b>backup_path</b> - <a class="ansibleOptionLink" href="#return-backup_path" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td>when backup is yes</td> - <td> - <div>The full path to the backup file</div> - <br/> - <div style="font-size: smaller"><b>Sample:</b></div> - <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">/playbooks/ansible/backup/os10_config.2016-07-16@22:28:34</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-commands"></div> - <b>commands</b> - <a class="ansibleOptionLink" href="#return-commands" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td>always</td> - <td> - <div>The set of commands that will be pushed to the remote device</div> - <br/> - <div style="font-size: smaller"><b>Sample:</b></div> - <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['hostname foo', 'router bgp 1', 'router-id 1.1.1.1']</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-saved"></div> - <b>saved</b> - <a class="ansibleOptionLink" href="#return-saved" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">boolean</span> - </div> - </td> - <td>When not check_mode.</td> - <td> - <div>Returns whether the configuration is saved to the startup configuration or not.</div> - <br/> - <div style="font-size: smaller"><b>Sample:</b></div> - <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">True</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-updates"></div> - <b>updates</b> - <a class="ansibleOptionLink" href="#return-updates" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td>always</td> - <td> - <div>The set of commands that will be pushed to the remote device.</div> - <br/> - <div style="font-size: smaller"><b>Sample:</b></div> - <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['hostname foo', 'router bgp 1', 'router-id 1.1.1.1']</div> - </td> - </tr> - </table> - <br/><br/> - -.. Status (Presently only deprecated) - - -.. Authors - -Authors -~~~~~~~ - -- Senthil Kumar Ganesan (@skg-net) - - - -.. Parsing errors - diff --git a/ansible_collections/dellemc/os10/docs/dellemc.os10.os10_facts_module.rst b/ansible_collections/dellemc/os10/docs/dellemc.os10.os10_facts_module.rst deleted file mode 100644 index 658a3d9da..000000000 --- a/ansible_collections/dellemc/os10/docs/dellemc.os10.os10_facts_module.rst +++ /dev/null @@ -1,511 +0,0 @@ -.. Document meta - - -.. Anchors - -.. _ansible_collections.dellemc.os10.os10_facts_module: - -.. Anchors: short name for ansible.builtin - -.. Anchors: aliases - - - -.. Title - -dellemc.os10.os10_facts -- Collect facts from devices running Dell EMC SmartFabric OS10 -+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -.. Collection note - -.. note:: - This plugin is part of the `dellemc.os10 collection <https://galaxy.ansible.com/dellemc/os10>`_. - - To install it use: :code:`ansible-galaxy collection install dellemc.os10`. - - To use it in a playbook, specify: :code:`dellemc.os10.os10_facts`. - -.. version_added - - -.. contents:: - :local: - :depth: 1 - -.. Deprecated - - -Synopsis --------- - -.. Description - -- Collects a base set of device facts from a remote device that is running OS10. This module prepends all of the base network fact keys with ``ansible_net_<fact>``. The facts module will always collect a base set of facts from the device and can enable or disable collection of additional facts. - - -.. Aliases - - -.. Requirements - - -.. Options - -Parameters ----------- - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="2">Parameter</th> - <th>Choices/<font color="blue">Defaults</font></th> - <th width="100%">Comments</th> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-gather_subset"></div> - <b>gather_subset</b> - <a class="ansibleOptionLink" href="#parameter-gather_subset" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td> - <b>Default:</b><br/><div style="color: blue">["!config"]</div> - </td> - <td> - <div>When supplied, this argument will restrict the facts collected to a given subset. Possible values for this argument include all, hardware, config, and interfaces. Can specify a list of values to include a larger subset. Values can also be used with an initial <code><span class='module'>!</span></code> to specify that a specific subset should not be collected.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-provider"></div> - <b>provider</b> - <a class="ansibleOptionLink" href="#parameter-provider" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">dictionary</span> - </div> - </td> - <td> - </td> - <td> - <div>A dict object containing connection details.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/auth_pass"></div> - <b>auth_pass</b> - <a class="ansibleOptionLink" href="#parameter-provider/auth_pass" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the password to use if required to enter privileged mode on the remote device. If <em>authorize</em> is false, then this argument does nothing. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_AUTH_PASS</code> will be used instead.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/authorize"></div> - <b>authorize</b> - <a class="ansibleOptionLink" href="#parameter-provider/authorize" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">boolean</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li><div style="color: blue"><b>no</b> ←</div></li> - <li>yes</li> - </ul> - </td> - <td> - <div>Instructs the module to enter privileged mode on the remote device before sending any commands. If not specified, the device will attempt to execute all commands in non-privileged mode. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_AUTHORIZE</code> will be used instead.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/host"></div> - <b>host</b> - <a class="ansibleOptionLink" href="#parameter-provider/host" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>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.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/password"></div> - <b>password</b> - <a class="ansibleOptionLink" href="#parameter-provider/password" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Password to authenticate the SSH session to the remote device. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_PASSWORD</code> will be used instead.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/port"></div> - <b>port</b> - <a class="ansibleOptionLink" href="#parameter-provider/port" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies the port to use when building the connection to the remote device.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/ssh_keyfile"></div> - <b>ssh_keyfile</b> - <a class="ansibleOptionLink" href="#parameter-provider/ssh_keyfile" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">path</span> - </div> - </td> - <td> - </td> - <td> - <div>Path to an ssh key used to authenticate the SSH session to the remote device. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_SSH_KEYFILE</code> will be used instead.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/timeout"></div> - <b>timeout</b> - <a class="ansibleOptionLink" href="#parameter-provider/timeout" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Specifies idle timeout (in seconds) for the connection. Useful if the console freezes before continuing. For example when saving configurations.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-provider/username"></div> - <b>username</b> - <a class="ansibleOptionLink" href="#parameter-provider/username" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>User to authenticate the SSH session to the remote device. If the value is not specified in the task, the value of environment variable <code>ANSIBLE_NET_USERNAME</code> will be used instead.</div> - </td> - </tr> - - </table> - <br/> - -.. Notes - -Notes ------ - -.. note:: - - For more information on using Ansible to manage Dell EMC Network devices see https://www.ansible.com/ansible-dell-networking. - -.. Seealso - - -.. Examples - -Examples --------- - -.. code-block:: yaml+jinja - - - # Collect all facts from the device - - os10_facts: - gather_subset: all - - # Collect only the config and default facts - - os10_facts: - gather_subset: - - config - - # Do not collect hardware facts - - os10_facts: - gather_subset: - - "!hardware" - - - - -.. Facts - - -.. Return values - -Return Values -------------- -Common return values are documented `here <https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values>`_, the following are the fields unique to this module: - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="1">Key</th> - <th>Returned</th> - <th width="100%">Description</th> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_all_ipv4_addresses"></div> - <b>ansible_net_all_ipv4_addresses</b> - <a class="ansibleOptionLink" href="#return-ansible_net_all_ipv4_addresses" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td>when interfaces is configured</td> - <td> - <div>All IPv4 addresses configured on the device</div> - <br/> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_all_ipv6_addresses"></div> - <b>ansible_net_all_ipv6_addresses</b> - <a class="ansibleOptionLink" href="#return-ansible_net_all_ipv6_addresses" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td>when interfaces is configured</td> - <td> - <div>All IPv6 addresses configured on the device</div> - <br/> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_config"></div> - <b>ansible_net_config</b> - <a class="ansibleOptionLink" href="#return-ansible_net_config" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td>when config is configured</td> - <td> - <div>The current active config from the device</div> - <br/> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_cpu_arch"></div> - <b>ansible_net_cpu_arch</b> - <a class="ansibleOptionLink" href="#return-ansible_net_cpu_arch" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td>when hardware is configured</td> - <td> - <div>CPU Architecture of the remote device.</div> - <br/> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_gather_subset"></div> - <b>ansible_net_gather_subset</b> - <a class="ansibleOptionLink" href="#return-ansible_net_gather_subset" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=string</span> </div> - </td> - <td>always</td> - <td> - <div>The list of fact subsets collected from the device</div> - <br/> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_hostname"></div> - <b>ansible_net_hostname</b> - <a class="ansibleOptionLink" href="#return-ansible_net_hostname" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td>always</td> - <td> - <div>The configured hostname of the device</div> - <br/> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_interfaces"></div> - <b>ansible_net_interfaces</b> - <a class="ansibleOptionLink" href="#return-ansible_net_interfaces" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">dictionary</span> - </div> - </td> - <td>when interfaces is configured</td> - <td> - <div>A hash of all interfaces running on the system</div> - <br/> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_memfree_mb"></div> - <b>ansible_net_memfree_mb</b> - <a class="ansibleOptionLink" href="#return-ansible_net_memfree_mb" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td>when hardware is configured</td> - <td> - <div>The available free memory on the remote device in Mb</div> - <br/> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_memtotal_mb"></div> - <b>ansible_net_memtotal_mb</b> - <a class="ansibleOptionLink" href="#return-ansible_net_memtotal_mb" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td>when hardware is configured</td> - <td> - <div>The total memory on the remote device in Mb</div> - <br/> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_model"></div> - <b>ansible_net_model</b> - <a class="ansibleOptionLink" href="#return-ansible_net_model" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td>always</td> - <td> - <div>The model name returned from the device.</div> - <br/> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_name"></div> - <b>ansible_net_name</b> - <a class="ansibleOptionLink" href="#return-ansible_net_name" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td>Always.</td> - <td> - <div>The name of the OS that is running.</div> - <br/> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_neighbors"></div> - <b>ansible_net_neighbors</b> - <a class="ansibleOptionLink" href="#return-ansible_net_neighbors" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">dictionary</span> - </div> - </td> - <td>when interfaces is configured</td> - <td> - <div>The list of LLDP neighbors from the remote device</div> - <br/> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_servicetag"></div> - <b>ansible_net_servicetag</b> - <a class="ansibleOptionLink" href="#return-ansible_net_servicetag" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td>always</td> - <td> - <div>The service tag number of the remote device.</div> - <br/> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-ansible_net_version"></div> - <b>ansible_net_version</b> - <a class="ansibleOptionLink" href="#return-ansible_net_version" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td>always</td> - <td> - <div>The operating system version running on the remote device</div> - <br/> - </td> - </tr> - </table> - <br/><br/> - -.. Status (Presently only deprecated) - - -.. Authors - -Authors -~~~~~~~ - -- Senthil Kumar Ganesan (@skg-net) - - - -.. Parsing errors - diff --git a/ansible_collections/dellemc/os10/docs/os10_aaa.md b/ansible_collections/dellemc/os10/docs/os10_aaa.md deleted file mode 100644 index cabee7ea9..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_aaa.md +++ /dev/null @@ -1,136 +0,0 @@ -AAA role -======== - -This role facilitates the configuration of authentication, authorization, and acccounting (AAA). It supports the configuration of RADIUS server, TACACS server, and AAA. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The AAA role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_aaa keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``radius_server`` | dictionary | Configures the RADIUS server (see ``radius_server.*``) | os10 | -| ``radius_server.retransmit`` | integer | Configures the number of retransmissions | os10 | -| ``radius_server.timeout`` | integer | Configures the timeout for retransmissions | os10 | -| ``radius_server.host`` | dictionary | Configures the RADIUS server host (see ``host.*``) | os10 | -| ``host.ip`` | string | Configures the RADIUS server host address | os10 | -| ``host.key`` | string (required); 0,7,LINE | Configures the authentication key | os10 | -| ``host.auth_port`` | integer | Configures the authentication port (0 to 65535) | os10 | -| ``host.state`` | string: present,absent | Removes the RADIUS server host if set to absent | os10 | -| ``auth.key`` | string (required); 0,7,LINE | Configures the authentication key | os10 | -| ``tacacs_server`` | dictionary | Configures the TACACS server (see ``tacacs_server.*``) | os10 | -| ``tacacs_server.timeout`` | integer | Configures the timeout for retransmissions | os10 | -| ``tacacs_server.host`` | dictionary | Configures the TACACS server host (see ``host.*``) | os10 | -| ``host.ip`` | string | Configures the TACACS server host address | os10 | -| ``host.key`` | string (required); 0,7,LINE | Configures the authentication key | os10 | -| ``host.auth_port`` | integer | Configures the authentication port (0 to 65535) | os10 | -| ``host.state`` | string: present,absent | Removes the TACACS server host if set to absent | os10 | -| ``auth.key`` | string (required); 0,7,LINE | Configures the authentication key | os10 | -| ``aaa_accounting`` | dictionary | Configures accounting parameters (see ``aaa_accounting.*``) | os10 | -| ``aaa_accounting.accounting.accounting_type`` | dictionary | Configures accounting type | os10 | -| ``aaa_accounting.accounting.connection_type`` | dictionary | Configures accounting connection type | os10 | -| ``aaa_accounting.accounting.account_mode`` | dictionary | Configures accounting mode | os10 | -| ``aaa_accounting.accounting.server_group`` | dictionary | Configures accounting server group | os10 | -| ``aaa_accounting.accounting.state`` | string: present,absent | Configures/unconfigures accounting parameters | os10 | -| ``aaa_authentication`` | dictionary | Configures authentication parameters (see ``aaa_authentication.*``) | os10 | -| ``aaa_authentication.login`` | dictionary | Configures authentication login (see ``aaa_authentication.login.*``)| os10 | -| ``aaa_authentication.login.console`` | dictionary | Configures authentication method for console login | os10 | -| ``aaa_authentication.login.state`` | string: present,absent | Unconfigures authentication login if set to absent | os10 | -| ``aaa_authentication.login.type`` | dictionary | Configures authentication type | os10 | -| ``aaa_authentication.re_authenticate`` | boolean | Configures re-authenticate by enable if set to true | os10 | - -> **NOTE**: Asterisk (*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_aaa* role to configure AAA for radius and TACACS servers. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with the corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in the *build_dir* path. By default, it is set to false and it writes a simple playbook that only references the *os10_aaa* role. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - - os10_aaa: - radius_server: - retransmit: 5 - timeout: 10 - host: - - ip: 2001:4898:f0:f09b::1001 - key: 0 - value: "abc" - auth_port: 3 - state: present - tacacs_server: - host: - - ip: 2001:4898:f0:f09b::1001 - key: 0 - value: "abc" - auth_port: 3 - state: present - timeout: 6 - aaa_authentication: - login: - - console: true - type: group radius group tacacs+ local - state: present - re_authenticate: true - aaa_accounting: - accounting: - - accounting_type: commands - connection_type: console - account_mode: start-stop - server_group: group tacacs+ - state: present - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_aaa - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
\ No newline at end of file diff --git a/ansible_collections/dellemc/os10/docs/os10_acl.md b/ansible_collections/dellemc/os10/docs/os10_acl.md deleted file mode 100644 index 14a1fe2a5..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_acl.md +++ /dev/null @@ -1,130 +0,0 @@ -ACL role -======== - -This role facilitates the configuration of an access-control list (ACL). It supports the configuration of different types of ACLs (standard and extended) for both IPv4 and IPv6, and assigns the access-class to the line terminals. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The ACL role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_acl keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``type`` | string (required): ipv4, ipv6, mac | Configures the L3 (IPv4/IPv6) or L2 (MAC) access-control list | os10 | -| ``name`` | string (required) | Configures the name of the access-control list | os10 | -| ``description`` | string | Configures the description about the access-control list | os10 | -| ``remark`` | list | Configures the ACL remark (see ``remark.*``) | os10| -| ``remark.number`` | integer (required) | Configures the remark sequence number | os10 | -| ``remark.description`` | string | Configures the remark description | os10 | -| ``remark.state`` | string: absent,present\* | Deletes the configured remark for an ACL entry if set to absent | os10 | -| ``entries`` | list | Configures ACL rules (see ``seqlist.*``) | os10 | -| ``entries.number`` | integer (required) | Specifies the sequence number of the ACL rule | os10 | -| ``entries.permit`` | boolean (required): true,false | Specifies the rule to permit packets if set to true; specifies to reject packets if set to false | os10 | -| ``entries.protocol`` | string (required) | Specifies the type of protocol or the protocol number to filter | os10 | -| ``entries.source`` | string (required) | Specifies the source address to match in the packets | os10 | -| ``entries.src_condition`` | string | Specifies the condition to filter packets from the source address; ignored if MAC | os10 | -| ``entries.destination`` | string (required) | Specifies the destination address to match in the packets | os10 | -| ``entries.dest_condition`` | string | Specifies the condition to filter packets to the destination address | os10 | -| ``entries.other_options`` | string | Specifies the other options applied on packets (count, log, order, monitor, and so on) | os10 | -| ``entries.state`` | string: absent,present\* | Deletes the rule from the ACL if set to absent | os10 | -| ``stage_ingress`` | list | Configures ingress ACL to the interface (see ``stage_ingress.*``) | os10 | -| ``stage_ingress.name`` | string (required) | Configures the ingress ACL filter to the interface with this interface name | os10 | -| ``stage_ingress.state`` | string: absent,present\* | Deletes the configured ACL from the interface if set to absent | os10 | -| ``stage_egress`` | list | Configures egress ACL to the interface (see ``stage_egress.*``) | os10 | -| ``stage_egress.name`` | string (required) | Configures the egress ACL filter to the interface with this interface name | os10 | -| ``stage_egress.state`` | string: absent,present\* | Deletes the configured egress ACL from the interface if set to absent | os10 | -| ``lineterminal`` | list | Configures the terminal to apply the ACL (see ``lineterminal.*``) | os10 | -| ``lineterminal.state`` | string: absent,present\* | Deletes the access-class from line terminal if set to absent | os10 | -| ``state`` | string: absent,present\* | Deletes the ACL if set to absent | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-------------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOM`E environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (_*_) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_acl* role to configure different types of ACLs (standard and extended) for both IPv4 and IPv6 and assigns the access-class to the line terminals. The example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with the corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, it generates the configuration commands as a .part file in the *build_dir* path. By default it is set to false. It writes a simple playbook that only references the *os10_acl* role. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - os10_acl: - - name: ssh - type: ipv4 - description: acl - remark: - - description: 1 - number: 3 - state: absent - entries: - - number: 14 - permit: true - protocol: tcp - source: any - src_condition: neq 6 - destination: any - dest_condition: eq 4 - other_options: count - state: present - stage_ingress: - - name: ethernet 1/1/1 - state: absent - - name: ethernet 1/1/2 - state: absent - stage_egress: - - name: ethernet 1/1/3 - state: absent - lineterminal: - state: absent - state: present - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_acl - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
\ No newline at end of file diff --git a/ansible_collections/dellemc/os10/docs/os10_bfd.md b/ansible_collections/dellemc/os10/docs/os10_bfd.md deleted file mode 100644 index c69079924..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_bfd.md +++ /dev/null @@ -1,89 +0,0 @@ -BFD role -=========== - -This role facilitates the configuration of bidirectional forwarding detection (BFD) global attributes. It specifically enables configuration of BFD interval, min_rx, multiplier, and role. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The BFD role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_bfd keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``bfd`` | dictionary | Configures global BFD parameters (see ``bfd.*``) | os10 | -| ``bfd.interval`` | integer | Configures the time interval in ms (100 to 1000) | os10 | -| ``bfd.min_rx`` | integer | Configures maximum waiting time for receiving control packets from BFD peers in ms (100 to 1000)| os10 | -| ``bfd.multiplier`` | integer | Configures the maximum number of consecutive packets that are not received from BFD peers before session state changes to Down (3 to 50) | os10 | -| ``bfd.role`` | string: passive,active\* | Configures the BFD role | os10 | -| ``bfd.state`` | string: absent,present\* | Removes the global BFD if set to absent | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables -******************** - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_bfd role* to completely set the global BFD attributes. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. The bfd role writes a simple playbook that only references the *os10_bfd* role. By including the role, you automatically get access to all of the tasks to configure BFD feature. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/os10 - - os10_bfd: - bfd: - interval: 100 - min_rx: 100 - multiplier: 3 - role: "active" - state: "present" - -**Simple playbook to setup bfd — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_bfd - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
\ No newline at end of file diff --git a/ansible_collections/dellemc/os10/docs/os10_bgp.md b/ansible_collections/dellemc/os10/docs/os10_bgp.md deleted file mode 100644 index e4e7c94e1..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_bgp.md +++ /dev/null @@ -1,729 +0,0 @@ -BGP role -======== - -This role facilitates the configuration of border gateway protocol (BGP) attributes. It supports the configuration of router ID, networks, neighbors, and maximum paths. This role is abstracted for Dell EMC PowerSwitch platforms running SmartFabric OS10. - -The BGP role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, it generates the role configuration commands in a file -- Any role variable with a corresponding state variable setting to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_bgp keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``asn`` | string (required) | Configures the autonomous system (AS) number of the local BGP instance | os10 | -| ``router_id`` | string | Configures the IP address of the local BGP router instance | os10 | -| ``graceful_restart`` | boolean | Configures graceful restart capability | os10 | -| ``maxpath_ibgp`` | integer | Configures the maximum number of paths to forward packets through iBGP (1 to 64; default 1) | os10 | -| ``maxpath_ebgp`` | integer | Configures the maximum number of paths to forward packets through eBGP (1 to 64; default 1) | os10 | -| ``log_neighbor_changes`` | boolean | Configures log neighbors up/down | os10 | -| ``fast_ext_fallover`` | boolean | Configures a reset session if a link to a directly connected external peer goes down | os10 | -| ``always_compare_med`` | boolean | Configures comparing MED from different neighbors | os10 | -| ``default_loc_pref`` | integer | Configures the default local preference value | os10 | -| ``as_notation`` | string | Configures AS number notation format | os10 | -| ``enforce_first_as`` | boolean | Configures the first AS for eBGP routes | os10 | -| ``non_deterministic_med`` | boolean | Configures nondeterministic path selection algorithm | os10 | -| ``outbound_optimization`` | boolean | Configures outbound optimization for iBGP peer-group members | os10 | -| ``confederation`` | dictionary | Configures AS confederation parameters (see ``confederation.*``) | os10 | -| ``confederation.identifier`` | integer | Configures the routing domain confederation AS | os10 | -| ``confederation.peers`` | string | Configures the peer AS in BGP confederation | os10 | -| ``confederation.peers_state`` | string: absent,present\* | Deletes the peer AS in BGP confederation if set to absent | os10 | -| ``route_reflector`` | dictionary | Configures route reflection parameters (see ``route_reflector.*``) | os10 | -| ``route_reflector.client_to_client`` | boolean | Configures client-to-client route reflection | os10 | -| ``route_reflector.cluster_id`` | string | Configures the route reflector cluster-id | os10 | -| ``address_family_ipv4`` | dictionary | Configures IPv4 address family parameters (see ``address_family_ipv4.*``) | os10 | -| ``address_family_ipv4.aggregate_addr`` | list | Configures IPv4 BGP aggregate entries (see ``aggregate_addr.*``) | os10 | -| ``aggregate_addr.ip_and_mask`` | string | Configures the IPv4 BGP aggregate address | os10 | -| ``aggregate_addr.adv_map`` | string | Configures the advertise map for IPv4 BGP aggregate address | os10 | -| ``aggregate_addr.attr_map`` | string | Configures the attribute map for IPv4 BGP aggregate address | os10 | -| ``aggregate_addr.suppress_map`` | string | Configures the suppress map for IPv4 BGP aggregate address | os10 | -| ``aggregate_addr.summary_only`` | boolean | Sets address to summary only if true | os10 | -| ``aggregate_addr.state`` | string: absent,present\* | Deletes an IPv4 BGP aggregate entry if set to absent | os10 | -| ``address_family_ipv4.dampening`` | dictionary | Configures route-flap dampening (see ``dampening.*``) | os10 | -| ``dampening.value`` | dictionary | Configures dampening values (<half-life time> <start value to reuse> <start value to suppress> <max duration> format; default 15 750 2000 60) | os10 | -| ``dampening.route_map`` | string | Configures the route-map to specify criteria for dampening | os10 | -| ``dampening.state`` | string: absent,present\* | Deletes dampening if set to absent | os10 | -| ``address_family_ipv4.ibgp_redist_internal`` | dictionary | Configures internal BGP reditribution (see ``ibgp_redist_internal.*``) | os10 | -| ``ibgp_redist_internal.state`` | boolean | Configures the internal BGP redistribution for an IPv4 address family | os10 | -| ``address_family_ipv4.default_metric`` | integer | Configures the metric of redistributed routes for IPv4 address family | os10 | -| ``address_family_ipv4.distance_bgp`` | dictionary | Configures BGP distances (see ``distance_bgp.*``) | os10 | -| ``distance_bgp.value`` | dictionary | Configures the BGP administrative distance for IPv4 address family (<routes external to AS> <routes internal to AS> <local routes> format; distance bgp 2 3 4) | os10 | -| ``distance_bgp.state`` | string: absent,present\* | Deletes distance BGP if set to absent | os10 | -| ``address_family_ipv6`` | dictionary | Configures IPv6 address family parameters (see ``address_family_ipv6.*``) | os10 | -| ``address_family_ipv6.aggregate_addr`` | list | Configures IPv6 BGP aggregate entries (see ``aggregate_addr.*``) | os10 | -| ``aggregate_addr.ip_and_mask`` | string | Configures the IPv6 BGP aggregate address | os10 | -| ``aggregate_addr.adv_map`` | string | Configures the advertise map for IPv6 BGP aggregate address | os10 | -| ``aggregate_addr.attr_map`` | string | Configures the attribute map for IPv6 BGP aggregate address | os10 | -| ``aggregate_addr.suppress_map`` | string | Configures the suppress map for IPv6 BGP aggregate address | os10 | -| ``aggregate_addr.summary_only`` | boolean | Sets address to summary-only if true | os10 | -| ``aggregate_addr.state`` | string: absent,present\* | Deletes an IPv6 BGP aggregate entry if set to absent | os10 | -| ``address_family_ipv6.dampening`` | dictionary | Configures route-flap dampening (see ``dampening.*``) | os10 | -| ``dampening.value`` | dictionary | Configures dampening values (<half-life time> <start value to reuse> <start value to suppress> <max duration> format; default 15 750 2000 60) | os10 | -| ``dampening.route_map`` | string | Configures the route-map to specify criteria for dampening | os10 | -| ``dampening.state`` | string: absent,present\* | Deletes dampening if set to absent | os10 | -| ``address_family_ipv6.ibgp_redist_internal`` | dictionary | Configures iBGP reditribution (see ``ibgp_redist_internal.*``) | os10 | -| ``ibgp_redist_internal.state`` | boolean | Configures the iBGP redistribution for an IPv6 address family | os10 | -| ``address_family_ipv6.default_metric`` | integer | Configures the metric of redistributed routes for IPv6 address family | os10 | -| ``address_family_ipv6.distance_bgp`` | dictionary | Configures BGP distances (see ``distance_bgp.*``) | os10 | -| ``distance_bgp.value`` | dictionary | Configures the BGP administrative distance for an IPv6 address family (<routes external to AS> <routes internal to AS> <local routes> format; distance bgp 2 3 4) | os10 | -| ``distance_bgp.state`` | string: absent,present\* | Deletes distance BGP if set to absent | os10 | -| ``best_path`` | list | Configures the default best-path selection (see ``best_path.*``) | os10 | -| ``best_path.as_path`` | string (required): ignore,multipath-relax | Configures the AS path used for the best-path computation | os10 | -| ``best_path.as_path_state`` | string: absent,present\* | Deletes the AS path configuration if set to absent | os10 | -| ``best_path.ignore_router_id`` | boolean: true,false | Ignores the router identifier in best-path computation if set to true | os10 | -| ``best_path.med`` | list | Configures the MED attribute (see ``med.*``) | os10 | -| ``med.attribute`` | string (required): confed,missing-as-best | Configures the MED attribute used for the best-path computation | os10 | -| ``med.state`` | string: absent,present\* | Deletes the MED attribute if set to absent | os10 | -| ``ipv4_network`` | list | Configures an IPv4 BGP networks (see ``ipv4_network.*``) | os10 | -| ``ipv4_network.address`` | string (required) | Configures the IPv4 address of the BGP network (A.B.C.D/E format) | os10 | -| ``ipv4_network.state`` | string: absent,present\* | Deletes an IPv4 BGP network if set to absent | os10 | -| ``ipv6_network`` | list | Configures an IPv6 BGP network (see ``ipv6_network.*``) | os10 | -| ``ipv6_network.address`` | string (required) | Configures the IPv6 address of the BGP network (2001:4898:5808:ffa2::1/126 format) | os10 | -| ``ipv6_network.state`` | string: absent,present\* | Deletes an IPv6 BGP network if set to absent | os10 | -| ``neighbor`` | list | Configures IPv4 BGP neighbors (see ``neighbor.*``) | os10 | -| ``neighbor.ip`` | string (required) | Configures the IPv4 address of the BGP neighbor (10.1.1.1) | os10 | -| ``neighbor.interface`` | string | Configures the BGP neighbor interface details | os10 | -| ``neighbor.name`` | string (required) | Configures the BGP peer-group with this name; supported only when the neighbor is a peer group; mutually exclusive with *neighbor.ip* | os10 | -| ``neighbor.type`` | string (required): ipv4,ipv6,peergroup | Specifies the BGP neighbor type | os10 | -| ``neighbor.auto_peer`` |string: unnumbered-auto | Enables auto discovery of neighbors | os10 | -| ``neighbor.password`` | string | Configures the BGP neighbor password | os10 | -| ``neighbor.peergroup_type`` | string (ibgp, ebgp) | Configures the BGP neighbor peer-group type| os10 | -| ``neighbor.ebgp_peergroup`` | string | Configures the peer-group to all auto-discovered external neighbors | os10 | -| ``neighbor.ebgp_peergroup_state`` | string: present,absent | Removes the peer-group from all auto-discovered external neighbors | os10 | -| ``neighbor.ibgp_peergroup`` | string | Configures the peer-group to all auto-discovered internal neighbors | os10 | -| ``neighbor.ibgp_peergroup_state`` | string: present,absent | Removes the peer-group from all auto-discovered internal neighbors | os10 | -| ``neighbor.route_reflector_client`` | boolean | Configures router reflector client on the BGP neighbor | os10 | -| ``neighbor.local_as`` | integer | Configures the local AS for the BGP peer | os10 | -| ``neighbor.weight`` | integer | Configures the default weight for routes from the neighbor interface | os10 | -| ``neighbor.send_community`` | list | Configures the send community attribute to the BGP neighbor (see ``send_community.*``) | os10 | -| ``send_community.type`` | string (required) | Configures the send community attribute to the BGP neighbor | os10 | -| ``send_community.state`` | string: absent,present\* | Deletes the send community attribute of the BGP neighbor if set to absent | os10 | -| ``neighbor.address_family`` | list | Configures address family commands on the BGP neighbor (see ``address_family.*``)| os10 | -| ``address_family.type`` | string (required): ipv4,ipv6,l2vpn | Configures IPv4/IPv6/EVPN address family command mode on the BGP neighbor | os10 | -| ``address_family.activate`` | boolean | Configures activation/deactivation of IPv4/IPv6 address family command mode on the BGP neighbor | os10 | -| ``address_family.sender_loop_detect`` | boolean | Enables/disables the sender-side loop detection process for a BGP neighbor of IPv4/IPv6/l2vpn address family | os10 | -| ``address_family.allow_as_in`` | integer | Configures the local AS number in the as-path | os10 | -| ``address_family.next_hop_self`` | boolean | Configures disabling the next-hop calculation for the neighbor | os10 | -| ``address_family.soft_reconf`` | boolean | Configures per neighbor soft reconfiguration | os10 | -| ``address_family.add_path`` | string | Configures send or receive multiple paths (value can be 'both <no of paths>', 'send <no of paths>', 'receive')| os10 | -| ``address_family.route_map`` | list | Configures the route-map on the BGP neighbor (see ``route_map.*``) | os10 | -| ``route_map.name`` | string | Configures the name of the route-map for the BGP neighbor | os10 | -| ``route_map.filter`` | string | Configures the filter for routing updates | os10 | -| ``route_map.state`` | string, choices: absent,present\* | Deletes the route-map of the BGP neighbor if set to absent | os10 | -| ``address_family.max_prefix`` | dictionary | Configures maximum-prefix parameters (see ``max_prefix.\*``) | os10 | -| ``max_prefix.count`` | integer | Configures maximum number of prefix accepted from the peer | os10 | -| ``max_prefix.state`` | string: absent,present | Deletes maximum prefix configured for the peer | os10 | -| ``max_prefix.threshold`` | integer | Configures threshold percentage at which warning log is thrown | os10 | -| ``max_prefix.warning``| boolean | Configures a warning without dropping the session when maximum limit exceeds if set to true | os10| -| ``address_family.default_originate`` | dictionary | Configures default-originate parameters (see ``default_originate.\*``) | os10 | -| ``default_originate.route_map`` | string | Configures the name of the route-map to specify criteria to originate default | os10 | -| ``default_originate.state`` | string, choices: absent,present\* | Deletes the default-originate if set to absent | os10 | -| ``address_family.distribute_list`` | list | Configures the distribute list to filter networks from routing updates (see ``distribute_list.*``) | os10 | -| ``distribute_list.in`` | string | Configures the name of the prefix-list to filter incoming packets | os10 | -| ``distribute_list.in_state`` | string: absent,present\* | Deletes the filter at incoming packets if set to absent | os10 | -| ``distribute_list.out`` | string | Configures the name of the prefix-list to filter outgoing packets | os10 | -| ``distribute_list.out_state`` | string: absent,present\* | Deletes the filter at outgoing packets if set to absent | os10 | -| ``address_family.state`` | string: absent,present\* | Deletes the address family command mode of the BGP neighbor if set to absent | os10 | -| ``neighbor.remote_asn`` | string (required) | Configures the remote AS number of the BGP neighbor | os10 | -| ``neighbor.remote_asn_state`` | string: absent,present\* | Deletes the remote AS number from the peer group if set to absent; supported only when *neighbor.type* is "peergroup" | os10 | -| ``neighbor.timer`` | string | Configures neighbor timers; 5 10, where 5 is the keepalive interval and 10 is the holdtime | os10 | -| ``neighbor.peergroup`` | string | Configures neighbor to BGP peer-group (configured peer-group name) | os10 | -| ``neighbor.peergroup_state`` | string: absent,present\* | Deletes the IPv4 BGP neighbor from the peer-group if set to absent | os10 | -| ``neighbor.distribute_list`` | list | Configures the distribute list to filter networks from routing updates (see ``distribute_list.*``) | os10 | -| ``distribute_list.in`` | string | Configures the name of the prefix-list to filter incoming packets | os10 | -| ``distribute_list.in_state`` | string: absent,present\* | Deletes the filter at incoming packets if set to absent | os10 | -| ``distribute_list.out`` | string | Configures the name of the prefix-list to filter outgoing packets | os10 | -| ``distribute_list.out_state`` | string: absent,present\* | Deletes the filter at outgoing packets if set to absent | os10 | -| ``neighbor.admin`` | string: up,down | Configures the administrative state of the neighbor | os10 | -| ``neighbor.adv_interval`` | integer | Configures the advertisement interval of the neighbor | os10 | -| ``neighbor.adv_start`` | integer | Set the advertisement start of the neighbor | os10 | -| ``neighbor.adv_start_state`` | string: absent,present\* | Configures or unconfigures the advertisement start of a neighbor | os10 | -| ``neighbor.conn_retry_timer`` | integer | Configures the peer connection retry timer | os10 | -| ``neighbor.remove_pri_as`` | string: absent,present | Configures the remove private AS number from outbound updates | os10 | -| ``neighbor.fall_over`` | string: absent,present | Configures the session fall on peer-route loss | os10 | -| ``neighbor.sender_loop_detect`` | boolean: true,false | Enables or disables the sender-side loop detect for neighbors | os10 | -| ``neighbor.src_loopback`` | integer | Configures the source loopback interface for routing packets | os10 | -| ``neighbor.ebgp_multihop`` | integer | Configures the maximum-hop count value allowed in eBGP neighbors that are not directly connected (default 255) | os10 | -| ``neighbor.listen`` | list | Configures listen commands on the BGP template (see ``listen.*``)| os10 | -| ``listen.subnet`` | string (required) | Configures the passive BGP neighbor IPv4/IPv6 to this subnet | os10 | -| ``listen.subnet_state`` | string: absent,present\* | Deletes the subnet range set for dynamic IPv4/IPv6 BGP neighbor if set to absent | os10 | -| ``listen.limit`` | integer | Configures maximum dynamic peers count (key is required together with ``neighbor.subnet``) | os10 | -| ``neighbor.bfd`` | boolean | Enables BFD for neighbor | os10 | -| ``neighbor.description`` | string | Configures neighbor description | os10 | -| ``neighbor.state`` | string: absent,present\* | Deletes the IPv4 BGP neighbor if set to absent | os10 | -| ``redistribute`` | list | Configures the redistribute list to get information from other routing protocols (see ``redistribute.*``) | os10 | -| ``redistribute.route_type`` | string (required): static,connected,imported_bgp,l2vpn,ospf | Configures the name of the routing protocol to redistribute | os10 | -| ``redistribute.route_map_name`` | string | Configures the route-map to redistribute | os10 | -| ``redistribute.imported_bgp_vrf_name`` | string | Configures the redistribute imported BGP VRF name | os10 | -| ``redistribute.ospf_id`` | string | Configures the redistribute OSPF | os10 | -| ``redistribute.address_type`` | string (required): ipv4,ipv6 | Configures the address type of IPv4 or IPv6 routes | os10 | -| ``redistribute.state`` | string: absent,present\* | Deletes the redistribution information if set to absent | os10 | -| ``bfd_all_neighbors`` | dictionary | Enables BFD for all BGP neighbors | os10 | -| ``bfd_all_neighbors.interval`` | integer: 100 to 1000 | Configures time interval for sending control packets to BFD peers in ms| os10 | -| ``bfd_all_neighbors.min_rx`` | integer: 100 to 1000 | Configures maximum waiting time for receiving control packets from BFD peers in ms| os10 | -| ``bfd_all_neighbors.multiplier`` | integer: 3 to 50 | Configures maximum number of consecutive packets that are not received from BFD peers before session state changes to Down| os10 | -| ``bfd_all_neighbors.role``| string: active, passive | Configures BFD role | os10 | -| ``bfd_all_neighbors.state`` |string: absent,present\* | Deletes BFD for all neighbors if set to absent | os10 | -| ``vrfs`` | list | Enables VRF under BGP | os10 | -| ``vrf.name`` | string (Required)| Configures VRF name | os10 | -| ``vrf.router_id`` | string | Configures the IP address of the local BGP router instance in VRF | os10 | -| ``vrf.graceful_restart`` | boolean | Configures graceful restart capability in VRF | os10 | -| ``vrf.maxpath_ibgp`` | integer | Configures the maximum number of paths to forward packets through iBGP (1 to 64; default 1) in VRF | os10 | -| ``vrf.maxpath_ebgp`` | integer | Configures the maximum number of paths to forward packets through eBGP (1 to 64; default 1) in VRF | os10 | -| ``vrf.log_neighbor_changes`` | boolean | Configures log neighbors up/down in VRF | os10 | -| ``vrf.fast_ext_fallover`` | boolean | Configures a reset session if a link to a directly connected external peer goes down in VRF | os10 | -| ``vrf.always_compare_med`` | boolean | Configures comparing MED from different neighbors in VRF | os10 | -| ``vrf.default_loc_pref`` | integer | Configures the default local preference value in VRF | os10 | -| ``vrf.as_notation`` | string | Changes the AS number notation format in VRF | os10 | -| ``vrf.enforce_first_as`` | boolean | Configures the first AS for eBGP routes in VRF | os10 | -| ``vrf.non_deterministic_med`` | boolean | Configures nondeterministic path selection algorithm in VRF | os10 | -| ``vrf.outbound_optimization`` | boolean | Configures outbound optimization for iBGP peer-group members in VRF | os10 | -| ``vrf.route_reflector`` | dictionary | Configures route reflection parameters (see ``route_reflector.*``) in VRF | os10 | -| ``vrf.route_reflector.client_to_client`` | boolean | Configures client-to-client route reflection in VRF | os10 | -| ``vrf.route_reflector.cluster_id`` | string | Configures the route-reflector cluster-id in VRF | os10 | -| ``vrf.address_family_ipv4`` | dictionary | Configures IPv4 address family parameters in VRF (see ``address_family_ipv4.*``) in VRF | os10 | -| ``address_family_ipv4.aggregate_addr`` | list | Configures IPv4 BGP aggregate entries (see ``aggregate_addr.*``) in VRF | os10 | -| ``aggregate_addr.ip_and_mask`` | string | Configures the IPv4 BGP aggregate address in VRF | os10 | -| ``aggregate_addr.adv_map`` | string | Configures the advertise map for IPv4 BGP aggregate address | os10 | -| ``aggregate_addr.attr_map`` | string | Configures the attribute map for IPv4 BGP aggregate address | os10 | -| ``aggregate_addr.suppress_map`` | string | Configures the suppress map for IPv4 BGP aggregate address | os10 | -| ``aggregate_addr.summary_only`` | boolean | Sets address to summary-only if true in VRF | os10 | -| ``aggregate_addr.state`` | string: absent,present\* | Deletes an IPv4 BGP aggregate entry if set to absent in VRF | os10 | -| ``address_family_ipv4.dampening`` | dictionary | Configures route-flap dampening (see ``dampening.*``) | os10 | -| ``dampening.value`` | dictionary | Configures dampening values (<half-life time> <start value to reuse> <start value to suppress> <max duration> format; default 15 750 2000 60) | os10 | -| ``dampening.route_map`` | string | Configures the route-map to specify criteria for dampening | os10 | -| ``dampening.state`` | string: absent,present\* | Deletes dampening if set to absent | os10 | -| ``address_family_ipv4.ibgp_redist_internal`` | dictionary | Configures iBGP reditribution (see ``ibgp_redist_internal.*``) | os10 | -| ``ibgp_redist_internal.state`` | boolean | Configures the iBGP redistribution for a IPV4 address family | os10 | -| ``address_family_ipv4.default_metric`` | integer | Configures the metric of redistributed routes for IPV4 address family | os10 | -| ``address_family_ipv4.distance_bgp`` | dictionary | Configures BGP distances (see ``distance_bgp.*``) | os10 | -| ``distance_bgp.value`` | dictionary | Configures the BGP administrative distance for IPV4 address family (<routes external to AS> <routes internal to AS> <local routes> format; distance bgp 2 3 4) | os10 | -| ``distance_bgp.state`` | string: absent,present\* | Deletes distance BGP if set to absent | os10 | -| ``vrf.address_family_ipv6`` | dictionary | Configures IPv6 address family parameters in VRF (see ``address_family_ipv6.*``) | os10 | -| ``address_family_ipv6.aggregate_addr`` | list | Configures IPv6 BGP aggregate entries (see ``aggregate_addr.*``) | os10 | -| ``aggregate_addr.ip_and_mask`` | string | Configures the IPv6 BGP aggregate address | os10 | -| ``aggregate_addr.adv_map`` | string | Configures the advertise map for IPv6 BGP aggregate address | os10 | -| ``aggregate_addr.attr_map`` | string | Configures the attribute map for IPv6 BGP aggregate address | os10 | -| ``aggregate_addr.suppress_map`` | string | Configures the suppress map for IPv6 BGP aggregate address | os10 | -| ``aggregate_addr.summary_only`` | boolean | Sets address to summary-only if true | os10 | -| ``aggregate_addr.state`` | string: absent,present\* | Deletes an IPv6 BGP aggregate entry if set to absent | os10 | -| ``address_family_ipv6.dampening`` | dictionary | Configures route-flap dampening (see ``dampening.*``) | os10 | -| ``dampening.value`` | dictionary | Configures dampening values (<half-life time> <start value to reuse> <start value to suppress> <max duration> format; default 15 750 2000 60) | os10 | -| ``dampening.route_map`` | string | Configures the route-map to specify criteria for dampening | os10 | -| ``dampening.state`` | string: absent,present\* | Deletes dampening if set to absent | os10 | -| ``address_family_ipv6.ibgp_redist_internal`` | dictionary | Configures iBGP reditribution (see ``ibgp_redist_internal.*``) | os10 | -| ``ibgp_redist_internal.state`` | boolean | Configures the iBGP redistribution for a IPv6 address family | os10 | -| ``address_family_ipv6.default_metric`` | integer | Configures the metric of redistributed routes for IPv6 address family | os10 | -| ``address_family_ipv6.distance_bgp`` | dictionary | Configures BGP distances (see ``distance_bgp.*``) | os10 | -| ``distance_bgp.value`` | dictionary | Configures the BGP administrative distance for IPv6 address family (<routes external to AS> <routes internal to AS> <local routes> format; distance bgp 2 3 4) | os10 | -| ``distance_bgp.state`` | string: absent,present\* | Deletes distance BGP if set to absent | os10 | -| ``vrf.best_path`` | list | Configures the default best-path selection in VRF (see ``best_path.*``) | os10 | -| ``best_path.as_path`` | string (required): ignore,multipath-relax | Configures the AS path used for the best-path computation | os10 | -| ``best_path.as_path_state`` | string: absent,present\* | Deletes the AS path configuration if set to absent | os10 | -| ``best_path.ignore_router_id`` | boolean: true,false | Ignores the router identifier in best-path computation if set to true | os10 | -| ``best_path.med`` | list | Configures the MED attribute (see ``med.*``) | os10 | -| ``med.attribute`` | string (required): confed,missing-as-best | Configures the MED attribute used for the best-path computation | os10 | -| ``med.state`` | string: absent,present\* | Deletes the MED attribute if set to absent | os10 | -| ``vrf.ipv4_network`` | list | Configures an IPv4 BGP networks (see ``ipv4_network.*``) | os10 | -| ``ipv4_network.address`` | string (required) | Configures the IPv4 address of the BGP network (A.B.C.D/E format) | os10 | -| ``ipv4_network.state`` | string: absent,present\* | Deletes an IPv4 BGP network if set to absent | os10 | -| ``vrf.ipv6_network`` | list | Configures an IPv6 BGP network (see ``ipv6_network.*``) | os10 | -| ``ipv6_network.address`` | string (required) | Configures the IPv6 address of the BGP network (2001:4898:5808:ffa2::1/126 format) | os10 | -| ``ipv6_network.state`` | string: absent,present\* | Deletes an IPv6 BGP network if set to absent | os10 | -| ``vrf.neighbor`` | list | Configures IPv4 BGP neighbors in VRF (see ``neighbor.*``) | os10 | -| ``neighbor.ip`` | string (required) | Configures the IPv4 address of the BGP neighbor (10.1.1.1) | os10 | -| ``neighbor.interface`` | string | Configures the BGP neighbor interface details | os10 | -| ``neighbor.name`` | string (required) | Configures the BGP peer-group with this name; supported only when the neighbor is a peer group; mutually exclusive with *neighbor.ip* | os10 | -| ``neighbor.type`` | string (required): ipv4,ipv6,peergroup | Specifies the BGP neighbor type | os10 | -| ``neighbor.auto_peer`` |string: unnumbered-auto | Enable auto-discovery of neighbors | os10 | -| ``neighbor.password`` | string | Configures the BGP neighbor password | os10 | -| ``neighbor.peergroup_type`` | string (ibgp, ebgp) | Configures the BGP neighbor peer-group type| os10 | -| ``neighbor.ebgp_peergroup`` | string | Configures the peer-group to all auto-discovered external neighbors | os10 | -| ``neighbor.ebgp_peergroup_state`` | string: present,absent | Removes the peer-group from all auto-discovered external neighbors | os10 | -| ``neighbor.ibgp_peergroup`` | string | Configures the peer-group to all auto-discovered internal neighbors | os10 | -| ``neighbor.ibgp_peergroup_state`` | string: present,absent | Removes the peer-group from all auto-discovered internal neighbors | os10 | -| ``neighbor.route_reflector_client`` | boolean | Configures router reflector client on the BGP neighbor | os10 | -| ``neighbor.local_as`` | integer | Configures the local AS for the BGP peer | os10 | -| ``neighbor.weight`` | integer | Configures the default weight for routes from the neighbor interface | os10 | -| ``neighbor.send_community`` | list | Configures the send community attribute to the BGP neighbor (see ``send_community.*``) | os10 | -| ``send_community.type`` | string (required) | Configures the send community attribute to the BGP neighbor | os10 | -| ``send_community.state`` | string: absent,present\* | Deletes the send community attribute of the BGP neighbor if set to absent | os10 | -| ``neighbor.address_family`` | list | Configures address family commands on the BGP neighbor (see ``address_family.*``)| os10 | -| ``address_family.type`` | string (required): ipv4,ipv6,l2vpn | Configures IPv4/IPv6 EVPN address family command mode on the BGP neighbor | os10 | -| ``address_family.activate`` | boolean | Configures activation or deactivation of IPv4/IPv6 address family command mode on the BGP neighbor | os10 | -| ``address_family.sender_loop_detect`` | boolean | Enables or disables the sender-side loop detection process for a BGP neighbor of IPv4/IPv6 l2vpn address family | os10 | -| ``address_family.allow_as_in`` | integer | Configures the local AS number in the as-path | os10 | -| ``address_family.next_hop_self`` | boolean | Configures disabling the next-hop calculation for the neighbor | os10 | -| ``address_family.soft_reconf`` | boolean | Configures per neighbor soft reconfiguration | os10 | -| ``address_family.add_path`` | string | Configures send or receive multiple paths (value can be 'both <no of paths>', 'send <no of paths>', 'receive')| os10 | -| ``address_family.route_map`` | list | Configures the route-map on the BGP neighbor (see ``route_map.*``) | os10 | -| ``route_map.name`` | string | Configures the name of the route-map for the BGP neighbor | os10 | -| ``route_map.filter`` | string | Configures the filter for routing updates | os10 | -| ``route_map.state`` | string, choices: absent,present* | Deletes the route-map of the BGP neighbor if set to absent | os10 | -| ``address_family.max_prefix`` | dictionary | Configures maximum-prefix parameters (see ``max_prefix.*``) | os10 | -| ``max_prefix.count`` | integer | Configures maximum number of prefix accepted from the peer | os10 | -| ``max_prefix.state`` | string: absent,present | Deletes maximum prefix configured for the peer | os10 | -| ``max_prefix.threshold`` | integer | Configures threshold percentage at which warning log is thrown | os10 | -| ``max_prefix.warning``| boolean | Configures a warning without dropping session when maximum limit exceeds if set to true | os10| -| ``address_family.default_originate`` | dictionary | Configures default-originate parameters (see ``default_originate.\*``) | os10 | -| ``default_originate.route_map`` | string | Configures the name of the route-map to specify criteria to originate default | os10 | -| ``default_originate.state`` | string, choices: absent,present\* | Deletes the default-originate if set to absent | os10 | -| ``address_family.distribute_list`` | list | Configures the distribute list to filter networks from routing updates (see ``distribute_list.*``) | os10 | -| ``distribute_list.in`` | string | Configures the name of the prefix-list to filter incoming packets | os10 | -| ``distribute_list.in_state`` | string: absent,present\* | Deletes the filter at incoming packets if set to absent | os10 | -| ``distribute_list.out`` | string | Configures the name of the prefix-list to filter outgoing packets | os10 | -| ``distribute_list.out_state`` | string: absent,present\* | Deletes the filter at outgoing packets if set to absent | os10 | -| ``address_family.state`` | string: absent,present\* | Deletes the address family command mode of the BGP neighbor if set to absent | os10 | -| ``neighbor.remote_asn`` | string (required) | Configures the remote AS number of the BGP neighbor | os10 | -| ``neighbor.remote_asn_state`` | string: absent,present\* | Deletes the remote AS number from the peer-group if set to absent; supported only when *neighbor.type* is "peergroup" | os10 | -| ``neighbor.timer`` | string | Configures neighbor timers; 5 10, where 5 is the keepalive interval and 10 is the holdtime | os10 | -| ``neighbor.peergroup`` | string | Configures neighbor to BGP peer-group (configured peer-group name) | os10 | -| ``neighbor.peergroup_state`` | string: absent,present\* | Deletes the IPv4 BGP neighbor from the peer-group if set to absent | os10 | -| ``neighbor.distribute_list`` | list | Configures the distribute list to filter networks from routing updates (see ``distribute_list.*``) | os10 | -| ``distribute_list.in`` | string | Configures the name of the prefix-list to filter incoming packets | os10 | -| ``distribute_list.in_state`` | string: absent,present\* | Deletes the filter at incoming packets if set to absent | os10 | -| ``distribute_list.out`` | string | Configures the name of the prefix-list to filter outgoing packets | os10 | -| ``distribute_list.out_state`` | string: absent,present\* | Deletes the filter at outgoing packets if set to absent | os10 | -| ``neighbor.admin`` | string: up,down | Configures the administrative state of the neighbor | os10 | -| ``neighbor.adv_interval`` | integer | Configures the advertisement interval of the neighbor | os10 | -| ``neighbor.adv_start`` | integer | Set the advertisement start of the neighbor | os10 | -| ``neighbor.adv_start_state`` | string: absent,present\* | Configures or unconfigures the advertisement start of the neighbor | os10 | -| ``neighbor.conn_retry_timer`` | integer | Configures the peer connection retry timer | os10 | -| ``neighbor.remove_pri_as`` | string: absent,present | Removes private AS number from outbound updates | os10 | -| ``neighbor.fall_over`` | string: absent,present | Configures the session fall on peer-route loss | os10 | -| ``neighbor.sender_loop_detect`` | boolean: true,false | Enables or disables the sender-side loop detect for neighbors | os10 | -| ``neighbor.src_loopback`` | integer | Configures the source loopback interface for routing packets | os10 | -| ``neighbor.ebgp_multihop`` | integer | Configures the maximum-hop count value allowed in eBGP neighbors that are not directly connected (default 255) | os10 | -| ``neighbor.listen`` | list | Configures listen commands on the BGP template (see ``listen.*``)| os10 | -| ``listen.subnet`` | string (required) | Configures the passive BGP neighbor IPv4/IPv6 to this subnet | os10 | -| ``listen.subnet_state`` | string: absent,present\* | Deletes the subnet range set for dynamic IPv4/IPv6 BGP neighbor if set to absent | os10 | -| ``listen.limit`` | integer | Configures maximum dynamic peers count (key is required together with ``neighbor.subnet``) | os10 | -| ``neighbor.bfd`` | boolean | Enables BFD for neighbor | os10 | -| ``neighbor.description`` | string | Configures neighbor description | os10 | -| ``neighbor.state`` | string: absent,present\* | Deletes the IPv4 BGP neighbor if set to absent | os10 | -| ``vrf.redistribute`` | list | Configures the redistribute list to get information from other routing protocols in VRF (see ``redistribute.*``) | os10 | -| ``redistribute.route_type`` | string (required): static,connected,imported_bgp | Configures the name of the routing protocol to redistribute | os10 | -| ``redistribute.route_map_name`` | string | Configures the route-map to redistribute | os10 | -| ``redistribute.imported_bgp_vrf_name`` | string | Configures the redistribute imported BGP VRF name | os10 | -| ``redistribute.ospf_id`` | string | Configures the redistribute ospf | os10 | -| ``redistribute.address_type`` | string (required): ipv4,ipv6 | Configures the address type of IPv4 or IPv6 routes | os10 | -| ``redistribute.state`` | string: absent,present\* | Deletes the redistribution information if set to absent | os10 | -| ``vrf.bfd_all_neighbors`` | dictionary | Enables BFD for all BGP neighbors in VRF ((see ``bfd_all_neighbors.*``))| os10 | -| ``bfd_all_neighbors.interval`` | integer: 100 to 1000 | Configures time interval for sending control packets to BFD peers in ms| os10 | -| ``bfd_all_neighbors.min_rx`` | integer: 100 to 1000 | Configures maximum waiting time for receiving control packets from BFD peers in ms| os10 | -| ``bfd_all_neighbors.multiplier`` | integer: 3 to 50 | Configures maximum number of consecutive packets that are not received from BFD peers before session state changes to Down| os10 | -| ``bfd_all_neighbors.role``| string: active, passive | Configures BFD role | os10 | -| ``bfd_all_neighbors.state`` |string: absent,present\* | Deletes BFD for all neighbors if set to absent | os10 | -| ``vrf.state`` | string: absent,present\* | Deletes the VRF instance under router BGP if set to absent | os10 | -| ``state`` | string: absent,present\* | Deletes the local router BGP instance if set to absent | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_bgp* role to configure the BGP network and neighbors. It creates a *hosts* file with the switch details, a *host_vars* file with connection variables and the corresponding role variables. The hosts file should define the `ansible_network_os` variable with the corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. This example writes a simple playbook that only references the *os10_bgp* role. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - - os10_bgp: - asn: 12 - router_id: 90.1.1.4 - maxpath_ibgp: 2 - maxpath_ebgp: 2 - graceful_restart: true - log_neighbor_changes: true - fast_ext_fallover: false - always_compare_med: true - default_loc_pref: 1000 - as_notation: asdot - enforce_first_as: false - non_deterministic_med: true - outbound_optimization: true - confederation: - identifier: 25 - peers: 23 24 - peers_state: present - route_reflector: - client_to_client: false - cluster_id: 4294967295 - address_family_ipv4: - aggregate_address: - - ip_and_mask: 1.1.1.1/16 - state: present - summary_only: true - dampening: - value: 15 750 2000 60 - route_map: qq - state: present - ibgp_redist_internal: - state: present - default_metric: 10 - distance_bgp: - value: 3 4 6 - state: present - address_family_ipv6: - aggregate_address: - - ip_and_mask: 2001:4898:5808:ffa0::/126 - state: present - summary_only: true - ibgp_redist_internal: - state: present - best_path: - as_path: ignore - as_path_state: present - ignore_router_id: true - med: - - attribute: confed - state: present - ipv4_network: - - address: 101.1.1.0/30 - state: present - ipv6_network: - - address: "2001:4898:5808:ffa0::/126" - state: present - neighbor: - - name: ebgp_pg - type: peergroup - bfd: yes - state: present - address_family: - - type: ipv4 - activate: false - state: present - max_prefix: - count: 20 - threshold: 90 - warning: true - state: present - listen: - - subnet: 4.4.4.4/32 - limit: 4 - subnet_state: present - - subnet: 20::/64 - limit: 4 - subnet_state: present - - name: ibgp_pg - type: peergroup - weight: 10 - state: present - - type: ipv4 - interface: vlan20 - send_community: - - type: extended - state: present - address_family: - - type: l2vpn - activate: true - state: present - admin: up - state: present - - type: ipv4 - description: "U_site2-spine1" - remote_asn: 11 - ip: 192.168.10.1 - peergroup: peer1 - peergroup_state: present - peergroup_type: ibgp - adv_interval: 40 - fall_over: present - password: bgppassword - route_reflector_client: true - adv_start: 100 - adv_start_state: present - conn_retry_timer: 20 - remove_pri_as: present - src_loopback: 0 - address_family: - - type: ipv4 - activate: true - state: present - max_prefix: - count: 10 - threshold: 40 - warning: true - state: present - default_originate: - route_map: aa - state: present - distribute_list: - in: XX - in_state: present - out: YY - out_state: present - send_community: - - type: standard - state: present - state: present - - type: ipv4 - remote_asn: 13 - local_as: 10 - weight: 10 - ip: 192.168.12.3 - address_family: - - type: ipv4 - activate: true - allow_as_in: 5 - next_hop_self: true - soft_reconf: true - add_path: both 3 - route_map: - - name: qq - filter: in - state: present - state: present - state: present - - type: ipv6 - remote_asn: 14 - ip: 2001:4898:5808:ffa2::1 - state: present - - type: ipv6 - description: "U_site2-spine1-Auto Discovered peers" - auto_peer: unnumbered-auto - ebgp_peergroup: ebgp_pg - ebgp_peergroup_state: absent - ibgp_peergroup: ibgp_pg - ibgp_peergroup_state: present - sender_loop_detect: true - password: bgppassword - address_family: - - type: ipv4 - activate: true - sender_loop_detect: true - state: present - allow_as_in: 5 - next_hop_self: true - soft_reconf: true - - type: l2vpn - activate: true - sender_loop_detect: false - state: present - send_community: - - type: standard - state: present - admin: up - state: present - redistribute: - - route_type: static - route_map_name: aa - address_type: ipv4 - state: present - bfd_all_neighbors: - interval: 200 - min_rx: 200 - multiplier: 3 - role: active - state: present - vrfs: - - name: "GREEN" - router_id: 50.1.1.1 - maxpath_ibgp: 2 - maxpath_ebgp: 2 - graceful_restart: true - log_neighbor_changes: false - fast_ext_fallover: false - always_compare_med: true - default_loc_pref: 1000 - route_reflector: - client_to_client: false - cluster_id: 1 - address_family_ipv4: - aggregate_address: - - ip_and_mask: 1.1.1.1/16 - state: present - dampening: - value: 15 750 2000 60 - route_map: qq - state: present - ibgp_redist_internal: - state: present - address_family_ipv6: - aggregate_address: - - ip_and_mask: 2001:4898:5808:ffa0::/126 - state: present - summary_only: true - ibgp_redist_internal: - state: present - best_path: - as_path: ignore - as_path_state: present - ignore_router_id: true - med: - - attribute: confed - state: present - - attribute: missing-as-worst - state: present - ipv4_network: - - address: 101.1.1.0/30 - state: present - ipv6_network: - - address: "2001:4898:5808:ffa0::/126" - state: present - neighbor: - - name: peer1 - type: peergroup - bfd: yes - state: present - - name: ebgp_pg - type: peergroup - bfd: yes - state: present - - name: ibgp_pg - type: peergroup - weight: 10 - state: present - - type: ipv4 - interface: vlan10 - description: U_site2 vlan - send_community: - - type: extended - state: present - admin: up - state: present - - type: ipv4 - description: "U_site2 spine1" - remote_asn: 11 - ip: 192.168.20.1 - name: peer1 - peergroup: peer1 - peergroup_state: present - peergroup_type: ibgp - adv_interval: 40 - fall_over: present - route_reflector_client: true - src_loopback: 0 - address_family: - - type: ipv4 - activate: false - state: present - send_community: - - type: standard - state: present - state: present - - type: ipv4 - description: "U_site2 spine1" - remote_asn: 13 - local_as: 10 - weight: 10 - ip: 192.168.15.3 - address_family: - - type: ipv4 - activate: false - allow_as_in: 5 - next_hop_self: true - soft_reconf: true - add_path: both 3 - route_map: - - name: qq - filter: in - state: present - state: present - state: present - - type: ipv6 - remote_asn: 14 - ip: 2001:4898:5808:ffa2::1 - state: present - - type: ipv6 - description: "U_site2-spine1-Auto Discovered peers" - auto_peer: unnumbered-auto - ebgp_peergroup: ebgp_pg - ebgp_peergroup_state: present - ibgp_peergroup: ibgp_pg - ibgp_peergroup_state: present - address_family: - - type: ipv4 - activate: false - sender_loop_detect: false - state: present - allow_as_in: 5 - next_hop_self: true - soft_reconf: true - send_community: - - type: standard - state: present - admin: up - state: present - redistribute: - - route_type: static - route_map_name: aa - address_type: ipv4 - state: present - - route_type: connected - route_map_name: bb - address_type: ipv4 - state: present - - route_type: l2vpn - route_map_name: cc - address_type: ipv4 - state: present - - route_type: imported_bgp - imported_bgp_vrf_name: test6 - route_map_name: dd - address_type: ipv4 - state: present - - route_type: ospf - ospf_id: 12 - address_type: ipv4 - state: present - bfd_all_neighbors: - interval: 200 - min_rx: 200 - multiplier: 3 - role: active - state: present - state: present - state: present - - -**Simple playbook to configure BGP — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_bgp - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_copy_config.md b/ansible_collections/dellemc/os10/docs/os10_copy_config.md deleted file mode 100644 index eadefecb0..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_copy_config.md +++ /dev/null @@ -1,131 +0,0 @@ -Copy-config role -================ - -This role is used to push the backup running configuration into a Dell EMC PowerSwitch platform running Dell EMC SmartFabric OS10, and merges the configuration in the template file with the running configuration of the device. - -The copy-config role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- No predefined variables are part of this role -- Use *host_vars* or *group_vars* as part of the template file -- Configuration file is host-specific -- Copy the host-specific configuration to the respective file under the template directory in *<host_name>.j2* format -- Variables and values are case-sensitive - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_copy_config* role to push the configuration file into the device. It creates a *hosts* file with the switch details and corresponding variables. It writes a simple playbook that only references the *os10_copy_config* role. By including the role, you automatically get access to all of the tasks to push configuration file. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - - # This variable shall be applied in the below jinja template for each host by defining here - os10_bgp - asn: 64801 - -**Sample roles/os10_copy_config/templates/leaf1.j2** - - ! Leaf1 BGP profile on Dell OS10 switch - snmp-server community public ro - hash-algorithm ecmp crc - ! - interface ethernet1/1/1:1 - no switchport - ip address 100.1.1.2/24 - ipv6 address 2001:100:1:1::2/64 - mtu 9216 - no shutdown - ! - interface ethernet1/1/9:1 - no switchport - ip address 100.2.1.2/24 - ipv6 address 2001:100:2:1::2/64 - mtu 9216 - no shutdown - ! - router bgp {{ os10_bgp.asn }} - bestpath as-path multipath-relax - bestpath med missing-as-worst - router-id 100.0.2.1 - ! - address-family ipv4 unicast - ! - address-family ipv6 unicast - ! - neighbor 100.1.1.1 - remote-as 64901 - no shutdown - ! - neighbor 100.2.1.1 - remote-as 64901 - no shutdown - ! - neighbor 2001:100:1:1::1 - remote-as 64901 - no shutdown - ! - address-family ipv4 unicast - no activate - exit - ! - address-family ipv6 unicast - activate - exit - ! - neighbor 2001:100:2:1::1 - remote-as 64901 - no shutdown - ! - address-family ipv4 unicast - no activate - exit - ! - address-family ipv6 unicast - activate - exit - ! - -**Simple playbook to setup to push configuration file into device — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_copy_config - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
\ No newline at end of file diff --git a/ansible_collections/dellemc/os10/docs/os10_dns.md b/ansible_collections/dellemc/os10/docs/os10_dns.md deleted file mode 100644 index b65d7622a..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_dns.md +++ /dev/null @@ -1,125 +0,0 @@ -DNS role -======== - -This role facilitates the configuration of the domain name service (DNS). This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The DNS role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_dns keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``name_server`` | list | Configures DNS (see ``name_server.*``) | os10 | -| ``name_server.ip`` | list | Configures the name server IP | os10 | -| ``name_server.vrf`` | list | Configures VRF for each IP | os10 | -| ``name_server.state`` | string: absent,present\* | Deletes the name server IP if set to absent | os10 | -| ``domain_list`` | list | Configures domain-list (see ``domain_list.*``) | os10 | -| ``domain_list.name`` | list | Configures the domain-list name | os10 | -| ``domain_list.vrf`` | list | Configures VRF for each domain-list name | os10 | -| ``domain_list.state`` | string: absent,present\* | Deletes the domain-list if set to absent | os10 | - - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_dns* role to completely set up the DNS server configuration. The example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, generates the configuration commands as a .part file in *build_dir* path. By default it is set to false. It writes a simple playbook that only references the *os10_dns* role. By including the role, you automatically get access to all of the tasks to configure DNS. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - os10_dns: - domain_lookup: true - name_server: - - ip: - - 3.1.1.1 - - 3.1.1.2 - vrf: - - test - - test1 - - ip: - - 3.1.1.2 - vrf: - - test1 - state: absent - - ip: - - 2.2.2.2 - - ip: - - 3.3.2.2 - state: absent - domain_list: - - name: - - dname7 - - dname8 - vrf: - - test - - test1 - - name: - - dname7 - vrf: - - test - - test1 - state: absent - - name: - - dname3 - - dname4 - - name: - - dname5 - - dname6 - state: absent - -> **NOTE**: vrf should be present which can be configured using os10_vrf role - -**Simple playbook to setup DNS — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_dns - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
\ No newline at end of file diff --git a/ansible_collections/dellemc/os10/docs/os10_ecmp.md b/ansible_collections/dellemc/os10/docs/os10_ecmp.md deleted file mode 100644 index 6932fdf6f..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_ecmp.md +++ /dev/null @@ -1,78 +0,0 @@ -ECMP role -========= - -This role facilitates the configuration of equal cost multi-path (ECMP), and it supports the configuration of ECMP for IPv4. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The ECMP role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_ecmp keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``ecmp_group_max_paths`` | integer | Configures the number of maximum paths per ECMP group | os10 | -| ``trigger_threshold`` | integer | Configures the number of link bundle utilization trigger threshold | os10 | - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_ecmp* role to configure ECMP for IPv4. The example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with the corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. The example writes a simple playbook that only references the *os10_ecmp* role. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - os10_ecmp: - ecmp_group_max_paths: 3 - trigger_threshold: 50 - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_ecmp - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
\ No newline at end of file diff --git a/ansible_collections/dellemc/os10/docs/os10_fabric_summary.md b/ansible_collections/dellemc/os10/docs/os10_fabric_summary.md deleted file mode 100644 index 0ff99bf2f..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_fabric_summary.md +++ /dev/null @@ -1,119 +0,0 @@ -os10_fabric_summary -===================================== -This role is used to get show system information of all devices in the fabric. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The Fabric summary role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``os10_cli_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the default value is used | -| ``os10_cli_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (*) denotes the default value if none is specified. - -Dependencies ------------- - -- *xmltodict* library should be installed to get show command output in dict format from XML -- To install the package use the *pip install xmltodict* command - -Example playbook ----------------- - -This example uses the *os10_fabric_summary* role to completely get the show attributes. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the ansible_network_os variable with the corresponding Dell EMC OS10 name. - -The *os10_fabric_summary* role has a simple playbook that only references the *os10_fabric_summary* role. - -**Sample hosts file** - - site1-spine1 ansible_host=10.11.180.21 os10_cli_user=admin os10_cli_pass=admin ansible_network_os=dellemc.os10.os10 - site1-spine2 ansible_host=10.11.180.22 os10_cli_user=admin os10_cli_pass=admin ansible_network_os=dellemc.os10.os10 - site2-spine1 ansible_host=10.11.180.23 os10_cli_user=admin os10_cli_pass=admin ansible_network_os=dellemc.os10.os10 - site2-spine2 ansible_host=10.11.180.24 os10_cli_user=admin os10_cli_pass=admin ansible_network_os=dellemc.os10.os10 - [spine] - site1-spine1 - site1-spine2 - site2-spine1 - site2-spine2 - [LeafAndSpineSwitch:children] - spine - -**Sample host_vars/site1-spine1** - - - cli: - host: "{{ ansible_host }}" - username: "{{ os10_cli_user | default('admin') }}" - password: "{{ os10_cli_pass | default('admin') }}" - timeout: 300 - os10_cli_user: xxxx - os10_cli_pass: xxxx - ansible_network_os: dellemc.os10.os10 - -**Simple playbook to setup fabric summary — provision.yaml** - - --- - - name: show system summary command - hosts: localhost - gather_facts: False - connection: local - roles: - - os10_fabric_summary - -**Run** - - ansible-playbook -i hosts provision.yaml - -**Samaple Output** - - "results": [ - { - "device type": "S6010-ON", - "host": "10.11.180.21", - "hostname": "host3", - "inv_name": "site1-spine1", - "node-mac": "e4:f0:04:9b:e5:dc", - "service-tag": "D33FXC2", - "software-version": "10.4.9999EX" - }, - { - "device type": "S6010-ON", - "host": "10.11.180.22", - "hostname": "host22", - "inv_name": "site1-spine2", - "node-mac": "e4:f0:04:9b:eb:dc", - "service-tag": "J33FXC2", - "software-version": "10.4.9999EX" - }, - { - "device type": "S6010-ON", - "host": "10.11.180.24", - "hostname": "site2-spine1", - "inv_name": "site2-spine1", - "node-mac": "e4:f0:04:9b:ee:dc", - "service-tag": "343FXC2", - "software-version": "10.4.9999EX" - }, - { - "device type": "S6010-ON", - "host": "10.11.180.23", - "hostname": "site2-spine2", - "inv_name": "site2-spine2", - "node-mac": "e4:f0:04:9b:f1:dc", - "service-tag": "543FXC2", - "software-version": "10.4.9999EX" - } - ] - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
\ No newline at end of file diff --git a/ansible_collections/dellemc/os10/docs/os10_flow_monitor.md b/ansible_collections/dellemc/os10/docs/os10_flow_monitor.md deleted file mode 100644 index dd98aa956..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_flow_monitor.md +++ /dev/null @@ -1,152 +0,0 @@ -ACL flow-based monitor role -=========================== - -This role facilitates configuring ACL flow-based monitoring attributes. Flow-based mirroring is a mirroring session in which traffic matches specified policies that are mirrored to a destination port. Port-based mirroring maintains a database that contains all monitoring sessions (including port monitor sessions). This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The ACL flow-based role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take the `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- `os10_flow_monitor` (dictionary) with session ID key (in *session <ID>* format; 1 to 18) -- Variables and values are case-sensitive - -**session ID keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``session_type`` | string: local_*_,rspan-source,erspan-source | Configures the monitoring session type | os10 | -| ``description`` | string | Configures the monitor session description | os10 | -| ``port_match`` | list | Displays a list of interfaces with location source and destination | os10 | -| ``port_match.interface_name`` | string | Configures the interface | os10 | -| ``port_match.location`` | string: source,destination | Configures the source/destination of an interface | os10 | -| ``port_match.state`` | string: absent,present\* | Deletes the interface if set to absent | os10 | -| ``flow_based`` | boolean | Enables flow-based monitoring | os10 | -| ``shutdown`` | string: up,down\* | Enable/disables the monitoring session | os10 | -| ``state`` | string: absent,present\* | Deletes the monitoring session corresponding to the session ID if set to absent | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_flow_monitor* role to configure session monitor configuration. It creates a *hosts* file with the switch details and corresponding variables. The hosts file defines the `anisble_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in the *build_dir* path. By default, the variable is set to false. -It writes a simple playbook that only references the *os10_flow_monitor* role. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/os10 - os10_flow_monitor: - session 1: - session_type: local - description: "Discription goes here" - port_match: - - interface_name: ethernet 1/1/4 - location: source - state: present - - interface_name: ethernet 1/1/3 - location: destination - state: present - flow_based: true - shutdown: up - state: present - session 2: - session_type: local - description: "Discription of session goes here" - port_match: - - interface_name: ethernet 1/1/6 - location: source - state: present - - interface_name: ethernet 1/1/7 - location: destination - state: present - flow_based: true - shutdown: up - state: present - session 3: - state: absent - os10_acl: - - name: testflow - type: ipv4 - description: testflow description - extended: true - entries: - - number: 5 - permit: true - protocol: icmp - source: any - destination: any - other_options: capture session 1 count - state: present - - number: 10 - permit: true - protocol: ip - source: 102.1.1.0/24 - destination: any - other_option: capture session 1 count byte - state: present - - number: 15 - permit: false - protocol: udp - source: any - destination: any - other_options: capture session 2 count byte - state: present - - number: 20 - permit: false - protocol: tcp - source: any - destination: any - other_options: capture session 2 count byte - state: present - stage_ingress: - - name: ethernet 1/1/1 - state: present - -> **NOTE**: Destination port should not be an L2/L3 port which can be configured using the *os10_interface* role. - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_flow_monitor - - dellemc.os10.os10_acl - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
\ No newline at end of file diff --git a/ansible_collections/dellemc/os10/docs/os10_image_upgrade.md b/ansible_collections/dellemc/os10/docs/os10_image_upgrade.md deleted file mode 100644 index 9ae8f731c..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_image_upgrade.md +++ /dev/null @@ -1,73 +0,0 @@ -Image upgrade role -=================================== - -This role facilitates upgrades or installation of a software image. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The Image upgrade role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_image_upgrade keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``operation_type`` | string: cancel,install | Displays the type of image operation | os10 | -| ``software_image_url`` | string | Configures the URL path to the image file | os10 | -| ``software_version`` | string | Displays the software version of the image file | os10 | -| ``number_of_retries`` | int | Configures the numbe of retries to check the status of image install process | os10 | - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_image_upgrade* role to upgrade/install software image. It creates a *hosts* file with the switch details, corresponding *host_vars* file, and a simple playbook that references the *os10_image_upgrade* role. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - os10_image_upgrade: - operation_type: install - software_image_url: tftp://10.16.148.8/PKGS_OS10-Enterprise-10.2.9999E.5790-installer-x86_64.bin - software_version: 10.2.9999E - number_of_retries: 50 - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_image_upgrade - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_interface.md b/ansible_collections/dellemc/os10/docs/os10_interface.md deleted file mode 100644 index bbb4f8ee6..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_interface.md +++ /dev/null @@ -1,178 +0,0 @@ -Interface role -============== - -This role facilitates the configuration of interface attributes. It supports the configuration of admin state, description, MTU, IP address, IP helper, suppress_ra, and port mode. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The Interface role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable setting to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- `os10_interface` (dictionary) holds a dictionary with the interface name; interface name can correspond to any of the valid OS interfaces with the unique interface identifier name -- For physical interfaces, the interface name must be in *<interfacename> <tuple>* format; for logical interfaces, the interface must be in *<logical_interfacename> <id>* format; physical interface name can be *ethernet 1/1/32* -- For interface ranges, the interface name must be in *range <interface_type> <node/slot/port[:subport]-node/slot/port[:subport]>* format; *range ethernet 1/1/1-1/1/4* -- Logical interface names can be *vlan 1* or *port-channel 1* -- Variables and values are case-sensitive - -> **NOTE**: Only define supported variables for the interface type, and do not define the *switchport* variable for a logical interface. - -**interface name keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``desc`` | string | Configures a single line interface description | os10 | -| ``portmode`` | string | Configures port-mode according to the device type | os10 | -| ``switchport`` | boolean: true,false\* | Configures an interface in L2 mode | os10 | -| ``admin`` | string: up,down\* | Configures the administrative state for the interface; configuring the value as administratively "up" enables the interface; configuring the value as administratively "down" disables the interface | os10 | -| ``mtu`` | integer | Configures the MTU size for L2 and L3 interfaces (1280 to 65535) | os10 | -| ``fanout`` | string:dual, single; string:10g-4x, 40g-1x, 25g-4x, 100g-1x, 50g-2x (os10) | Configures fanout to the appropriate value | os10 | -| ``suppress_ra`` | string; present,absent | Configures IPv6 router advertisements if set to present | os10 | -| ``ip_type_dynamic`` | boolean: true,false | Configures IP address DHCP if set to true (*ip_and_mask* is ignored if set to true) | os10 | -| ``ipv6_type_dynamic`` | boolean: true,false | Configures an IPv6 address for DHCP if set to true (*ipv6_and_mask* is ignored if set to true) | os10 | -| ``ipv6_autoconfig`` | boolean: true,false | Configures stateless configuration of IPv6 addresses if set to true (*ipv6_and_mask* is ignored if set to true) | os10 | -| ``vrf`` | string | Configures the specified VRF to be associated to the interface | os10 | -| ``min_ra`` | string | Configures RA minimum interval time period | os10 | -| ``max_ra`` | string | Configures RA maximum interval time period | os10 | -| ``ip_and_mask`` | string | Configures the specified IP address to the interface | os10 | -| ``ipv6_and_mask`` | string | Configures a specified IPv6 address to the interface | os10 | -| ``virtual_gateway_ip`` | string | Configures an anycast gateway IP address for a VxLAN virtual network as well as VLAN interfaces| os10 | -| ``virtual_gateway_ipv6`` | string | Configures an anycast gateway IPv6 address for VLAN interfaces| os10 | -| ``state_ipv6`` | string: absent,present\* | Deletes the IPV6 address if set to absent | os10 | -| ``ip_helper`` | list | Configures DHCP server address objects (see ``ip_helper.*``) | os10 | -| ``ip_helper.ip`` | string (required) | Configures the IPv4 address of the DHCP server (A.B.C.D format) | os10 | -| ``ip_helper.state`` | string: absent,present\* | Deletes the IP helper address if set to absent | os10 | -| ``flowcontrol`` | dictionary | Configures the flowcontrol attribute (see ``flowcontrol.*``) | os10 | -| ``flowcontrol.mode`` | string: receive,transmit | Configures the flowcontrol mode | os10 | -| ``flowcontrol.enable`` | string: on,off | Configures the flowcontrol mode on | os10 | -| ``flowcontrol.state`` | string: absent,present\* | Deletes the flowcontrol if set to absent | os10 | -| ``ipv6_bgp_unnum`` | dictionary | Configures the IPv6 BGP unnum attributes (see ``ipv6_bgp_unnum.*``) below | os10 | -| ``ipv6_bgp_unnum.state`` | string: absent,present\* | Disables auto discovery of BGP unnumbered peer if set to absent | os10 | -| ``ipv6_bgp_unnum.peergroup_type`` | string: ebgp,ibgp | Specifies the type of template to inherit from | os10 | - -| ``stp_rpvst_default_behaviour`` | boolean: false,true | Configures RPVST default behaviour of BPDU's when set to True which is default | os10 | - -> **NOTE**: Asterisk (*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_interface* role to set up description, MTU, admin status, port mode, and switchport details for an interface. The example creates a *hosts* file with the switch details and orresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, this variable is set to false. The example writes a simple playbook that only references the *os10_interface* role. - -**Sample hosts file** - - leaf3 ansible_host= <ip_address> - -**Sample host_vars/leaf3** - - hostname: "leaf3" - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - - os10_interface: - ethernet 1/1/32: - desc: "Connected to Core 2" - mtu: 2500 - stp_rpvst_default_behaviour: False - portmode: - admin: up - switchport: False - ip_and_mask: - ip_type_dynamic: True - ipv6_type_dynamic: True - ethernet 1/1/12: - desc: "ipv6 auto config" - switchport: False - mtu: 2500 - admin: up - ipv6_autoconfig: True - ethernet 1/1/14: - fanout: 10g-4x - ethernet 1/1/13: - desc: "set ipv6 address" - switchport: False - admin: up - ipv6_and_mask: 2001:4898:5809:faa2::10/126 - state_ipv6: present - ethernet 1/1/1: - desc: "Connected to Leaf1" - portmode: "trunk" - switchport: True - suppress_ra: present - admin: up - stp_rpvst_default_behaviour: False - ethernet 1/1/3: - desc: site2-spine2 - ip_and_mask: 10.9.0.4/31 - mtu: 9216 - switchport: False - admin: up - flowcontrol: - mode: "receive" - enable: "on" - state: "present" - - vlan 100: - ip_and_mask: - ipv6_and_mask: 2001:4898:5808:ffaf::1/64 - state_ipv6: present - ip_helper: - - ip: 10.0.0.33 - state: present - admin: up - range ethernet 1/1/1-1/1/32: - mtu: 2500 - port-channel 10: - admin: up - switchport: False - suppress_ra: - stp_rpvst_default_behaviour: True - ipv6_bgp_unnum: - state: present - peergroup_type: ebgp - vlan 10: - ip_and_mask: "10.1.1.1/24" - virtual_gateway_ip: "10.1.1.254" - virtual_gateway_ipv6: "10:1:1::254" - admin: up - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf3 - roles: - - dellemc.os10.os10_interface - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_lag.md b/ansible_collections/dellemc/os10/docs/os10_lag.md deleted file mode 100644 index eb679dcff..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_lag.md +++ /dev/null @@ -1,103 +0,0 @@ -LAG role -======== - -This role facilitates the configuration of link aggregation group (LAG) attributes, and supports the creation and deletion of a LAG and its member ports. It also supports the configuration of an interface type as a static or dynamic LAG and minimum required link. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The LAG role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Object drives the tasks in this role -- `os10_lag` (dictionary) contains the hostname (dictionary) -- Hostname is the value of the *hostname* variable that corresponds to the name of the OS device -- Any role variable with a corresponding state variable setting to absent negates the configuration of that variable -- Setting an empty value to any variable negates the corresponding configuration -- `os10_lag` (dictionary) holds a dictionary with the port-channel ID key in `Po <ID>` format (1 to 128) -- Variables and values are case-sensitive - -**port-channel ID keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``type`` | string: static,dynamic | Configures the interface either as a static or dynamic LAG | os10 | -| ``min_links`` | integer | Configures the minimum number of links in the LAG that must be in *operup* status (1 to 32) | os10 | -| ``max_bundle_size`` | integer | Configures the maximum bundle size for the port channel | os10 | -| ``lacp_system_priority`` | integer | Configures the LACP system-priority value | os10 | -| ``lacp_fallback_enable`` | boolean | Configures LACP fallback | os10 | -| ``channel_members`` | list | Specifies the list of port members to be associated to the port-channel (see ``channel_members.*``) | os10 | -| ``channel_members.port`` | string | Specifies valid interface names to be configured as port-channel members | os10 | -| ``channel_members.mode`` | string: active,passive,on | Configures mode of channel members | os10 | -| ``channel_members.port_priority`` | integer | Configures port priority on devices for channel members | os10 | -| ``channel_members.lacp_rate_fast`` | boolean | Configures the LACP rate as fast if set to true | os10 | -| ``state`` | string: absent,present\* | Deletes the LAG corresponding to the port-channel ID if set to absent | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_lag* role to setup port channel ID and description, and configures hash algorithm and minimum links for the LAG. Channel members can be configured for the port-channel either in static or dynamic mode. You can also delete the LAG with the port-channel ID or delete the members associated to it. This example creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os10_lag* role. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - - os10_lag: - Po 12: - type: dynamic - min_links: 2 - max_bundle_size: 2 - lacp_system_priority: 2 - channel_members: - - port: ethernet 1/1/31 - mode: "active" - port_priority: 3 - lacp_rate_fast: true - state: present - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_lag - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_lldp.md b/ansible_collections/dellemc/os10/docs/os10_lldp.md deleted file mode 100644 index 0c08af4dc..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_lldp.md +++ /dev/null @@ -1,149 +0,0 @@ -LLDP role -========= - -This role facilitates the configuration of link layer discovery protocol (LLDP) attributes at a global and interface level. It supports the configuration of hello, mode, multiplier, advertise TLVs, management interface, FCoE, and iSCSI at global and interface level. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The LLDP role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_lldp keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``enable`` | boolean | Enables or disables LLDP at a global level | os10 | -| ``multiplier`` | integer | Configures the global LLDP multiplier (2 to 10) | os10 | -| ``reinit`` | integer | Configures the reinit value (1 to 10) | os10 | -| ``timer`` | integer | Configures the timer value (5 to 254) | os10 | -| ``advertise`` | dictionary | Configures LLDP-MED and TLV advertisement at the global level (see ``advertise.*``) | os10 | -| ``advertise.med`` | dictionary | Configures MED TLVs advertisement (see ``med_tlv.*``) | os10 | -| ``med.fast_start_repeat_count`` | integer | Configures med fast start repeat count value (1 to 10) | os10 | -| ``med.application`` | list | Configures global MED TLVs advertisement for an application (see ``application.*``) | os10 | -| ``application.name`` | string | Configures the application name for MED TLVs advertisement | os10 | -| ``application.vlan_id`` | integer | Configures the VLAN ID for the application MED TLVs advertisement (1 to 4094) | os10 | -| ``application.l2_priority`` | integer | Configures the L2 priority for the application MED TLVs advertisement (0 to 7) | os10 | -| ``application.code_point_value`` | integer | Configures differentiated services code point values for MED TLVs advertisement (0 to 63) | os10 | -| ``application.vlan_type`` | string: tag, untag | Configures the VLAN type for the application MED TLvs advertisement | os10 | -| ``application.network_policy_id`` | integer | Configures network policy ID for the application MED TLVs advertisement | os10 | -| ``application.state`` | string: present\*,absent | Deletes the application if set to absent | os10 | -| ``local_interface`` | dictionary | Configures LLDP at the interface level (see ``local_interface.*``) | os10 | -| ``local_interface.<interface name>`` | dictionary | Configures LLDP at the interface level (see ``<interface name>.*``) | os10 | -| ``<interface name>.mode`` | string: rx,tx | Configures LLDP mode configuration at the interface level | os10 | -| ``<interface name>.mode_state`` | string: absent,present | Configures transmit/receive at the interface level| os10 | -| ``<interface name>.advertise`` | dictionary | Configures LLDP-MED TLV advertisement at the interface level (see ``advertise.*``) | os10 | -| ``advertise.med`` | dictionary | Configures MED TLVs advertisement at the interface level (see ``med_tlv.*``) | os10 | -| ``med.enable`` | boolean | Enables interface level MED capabilities | os10 | -| ``med.tlv`` | string | Configures MED TLV advertisement at interface level | os10 | -| ``med.tlv_state`` | string: present\*,absent | Deletes the interface level MED configuration if set to absent | os10 | -| ``med.application`` | list | Configures MED TLVs advertisement for the application at the interface level (see ``application.*``) | os10 | -| ``application.network_policy_id`` | integer | Configures the *network_policy_id* for the application of MED | os10 | -| ``application.state`` | string: present\*,absent | Deletes the associated network policy ID for the application if set to absent.| os10 | -| ``advertise.tlv`` | list | Configures TLVs advertisement at interface level (see `<interface_name>.tlv.*`) | os10 | -| ``tlv.name`` | string: basic-tlv,dcbxp,dcbxp-appln,dot1-tlv,dot3-tlv | Configures corresponding to the TLV name specified at the interface | os10 | -| ``tlv.value`` | string | Specifies corresponding TLV value according to the name as a string | os10 | -| ``tlv.state`` | string: present\*,absent | Deletes the interface level TLVs advertisement if set to absent | os10 | - - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_lldp* role to configure protocol lldp. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os10_lldp* role. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - os10_lldp: - enable: false - multiplier: 3 - reinit: 2 - timer: 5 - advertise: - med: - fast_start_repeat_count: 4 - application: - - name: guest-voice - network_policy_id: 0 - vlan_id: 2 - vlan_type: tag - l2_priority: 3 - code_point_value: 4 - state: present - - name: voice - network_policy_id: 1 - vlan_id: 3 - vlan_type: untag - l2_priority: 3 - code_point_value: 4 - state: absent - local_interface: - ethernet 1/1/1: - mode: rx - mode_state: present - advertise: - med: - enable: true - tlv: inventory - tlv_state: present - application: - - network_policy_id: 4 - state: present - tlv: - - name: basic-tlv - value: management-address port-description - state: present - - name: dcbxp-appln - value: iscsi - state: present - - name: dcbxp - state: present - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_lldp - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_logging.md b/ansible_collections/dellemc/os10/docs/os10_logging.md deleted file mode 100644 index c8a2dbf23..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_logging.md +++ /dev/null @@ -1,97 +0,0 @@ -Logging role -============ - -This role facilitates the configuration of global logging attributes, and it supports the configuration of logging servers. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The Logging role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, it generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_logging keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``logging`` | list | Configures the logging server (see ``logging.*``) | os10 | -| ``logging.ip`` | string (required) | Configures the IPv4 address for the logging server (A.B.C.D format) | os10 | -| ``logging.state`` | string: absent,present\* | Deletes the logging server if set to absent | os10 | -| ``console`` | dictionary | Configures logging to the console (see ``console.*``) | os10 | -| ``console.enable`` | boolean | Enables/disables logging to the console | os10 | -| ``console.severity`` | string | Configures the minimum severity level for logging to the console | os10 | -| ``log_file`` | dictionary | Configures logging to a log file (see ``log_file.*``) | os10 | -| ``log_file.enable`` | boolean | Enables/disables logging to a log file | os10 | -| ``log_file.severity`` | string | Configures the minimum severity level for logging to a log file | os10 | -| ``source_interface`` | string | Configures the source interface for logging | os10 | - -> **NOTE**: Asterisk (_*_) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_logging* role to completely set up logging servers. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - - os10_logging: - logging: - - ip: 1.1.1.1 - state: absent - console: - enable: True - severity: log-err - log_file: - enable: True - severity: log-err - source_interface: "ethernet1/1/30" - -**Simple playbook to setup logging — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_logging - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_network_validation.md b/ansible_collections/dellemc/os10/docs/os10_network_validation.md deleted file mode 100644 index e9014c42b..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_network_validation.md +++ /dev/null @@ -1,304 +0,0 @@ -Network validation role -========================= - -This roles is used to verify network validation. It validates network features of a wiring connection, BGP neighbors, MTU between neighbors, and VLT pairing. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. The Network validation role requires an SSH connection for connectivity to a Dell EMC OS10 device. You can use any of the built-in OS connection variables. - -- **Wiring validation** — Based on the LLDP neighbor establishment, the intended neighbor input model is defined by the _group_var/all_ user which is compared with the actual LLDP neighbor; report is generated if there is any mismatch with the intended neighbors - -- **BGP validation** — Based on the BGP neighbor state establishment, report is generated if the BGP neighbor state is not in an established state - -- **MTU validation** — Based on the interface MTU, the report is generated if there is an MTU mismatch between LLDP neighbors - -- **VLT validation** — Based on the VLT information, the report is generated if the backup VLT link is down or not present - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- Variables and values are case-sensitive - -**wiring_validation keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``intended_neighbors`` | list | Defines topology details planned | os10 | -| ``source_switch`` | string | Defines the source switch inventory name planned | os10 | -| ``source_port`` | string | Defines the source port planned | os10 | -| ``dest_switch`` | string | Defines the destination switch inventory name planned | os10 | -| ``dest_port`` | string | Defines the destination port planned | os10 | - -**bgp_validation keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``intended_bgp_neighbors`` | list | Defines topology details planned | os10 | -| ``source_switch`` | string | Defines the source switch inventory name planned | os10 | - -**vlt_validation keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``intended_vlt_pairs`` | list | Defines topology details planned | os10 | -| ``primary`` | string | Defines the primary role of switch inventory name planned | os10 | -| ``secondary`` | string | Defines the secondary role of switch inventory name planned | os10 | - -Connection variables --------------------- - -Ansible Dell EMC roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible _group_vars_ or _host_vars_ directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if the value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; defaults to 22 | -| ``os10_cli_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the default value is used | -| ``os10_cli_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the _become_ method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use, if required, to enter privileged mode on the remote device; if `ansible_become` is set to no, this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (*) denotes the default value if none is specified. - -Dependencies ------------- - -- The _xmltodict_ library should be installed to convert show command output in dictionary format from XML -- To install the package, use the pip install xmltodict command -- The *os10_fabric_summary* role must be included to query system network summary information - -Example playbook ----------------- - -This example uses the *os10_network_validation* role to verify network validations. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with the corresponding Dell EMC OS10 name. - - -**Sample hosts file** - - site1-spine1 ansible_host=10.11.180.21 os10_cli_user=admin os10_cli_pass=admin ansible_network_os=dellemc.os10.os10 - site1-spine2 ansible_host=10.11.180.22 os10_cli_user=admin os10_cli_pass=admin ansible_network_os=dellemc.os10.os10 - site2-spine1 ansible_host=10.11.180.23 os10_cli_user=admin os10_cli_pass=admin ansible_network_os=dellemc.os10.os10 - site2-spine2 ansible_host=10.11.180.24 os10_cli_user=admin os10_cli_pass=admin ansible_network_os=dellemc.os10.os10 - [spine] - site1-spine1 - site1-spine2 - site2-spine1 - site2-spine2 - [LeafAndSpineSwitch:children] - spine - - -**Sample host_vars/site1-spine1** - - cli: - host: "{{ ansible_host }}" - username: "{{ os10_cli_user | default('admin') }}" - password: "{{ os10_cli_pass | default('admin') }}" - - os10_cli_user: xxxx - os10_cli_pass: xxxx - ansible_network_os: dellemc.os10.os10 - - -#### Sample ``group_var/all`` - -**Sample input for wiring validation** - - - intended_neighbors: - - source_switch: site1-spine2 - source_port: ethernet1/1/5 - dest_port: ethernet1/1/29 - dest_switch: site1-spine1 - - source_switch: site1-spine2 - source_port: ethernet1/1/6 - dest_port: ethernet1/1/30 - dest_switch: site1-spine1 - - source_switch: site1-spine2 - source_port: ethernet1/1/7 - dest_port: ethernet1/1/31 - dest_switch: site1-spine1 - - source_switch: site1-spine2 - source_port: ethernet1/1/8 - dest_port: ethernet1/1/32 - dest_switch: site1-spine1 - - source_switch: site1-spine2 - source_port: ethernet1/1/9 - dest_port: ethernet1/1/21 - dest_switch: site1-spine1 - - source_switch: site1-spine2 - source_port: ethernet1/1/7 - dest_port: ethernet1/1/29 - dest_switch: site1-spine3 - -**Sample input for BGP validation** - - intended_bgp_neighbors: - - source_switch: site1-spine1 - neighbor_ip: ["10.11.0.1","10.9.0.1","10.9.0.3","10.9.0.5","1.1.1.1"] - - source_switch: site1-spine2 - neighbor_ip: ["10.11.0.0","10.9.0.9","10.9.0.11","10.9.0.15"] - -**Sample input for VLT validation** - - intended_vlt_pairs: - - primary: site1-spine1 - secondary: site2-spine2 - - primary: site2-spine1 - secondary: site2-spine2 - - -#### Simple playbook to setup network validation - -**Sample playbook of ``validation.yaml`` to run complete validation** - - --- - - name: setup network validation - hosts: localhost - gather_facts: no - connection: local - roles: - - os10_network_validation - -**Sample playbook to run wiring validation** - - --- - - name: setup wiring validation - hosts: localhost - gather_facts: False - connection: local - collections: - - dellemc.os10 - tasks: - - import_role: - name: os10_network_validation - tasks_from: wiring_validation.yaml - -**Sample playbook to run BGP validation** - - --- - - name: setup bgp validation - hosts: localhost - gather_facts: False - connection: local - collections: - - dellemc.os10 - tasks: - - import_role: - name: os10_network_validation - tasks_from: bgp_validation.yaml - -**Sample playbook to run VLT validation** - - --- - - name: setup vlt validation - hosts: localhost - gather_facts: False - connection: local - collections: - - dellemc.os10 - tasks: - - import_role: - name: os10_network_validation - tasks_from: vlt_validation.yaml - -**Sample playbook to run MTU validation** - - --- - - name: setup mtu validation - hosts: localhost - gather_facts: False - connection: local - collections: - - dellemc.os10 - tasks: - - import_role: - name: os10_network_validation - tasks_from: mtu_validation.yaml - - -**Run** - -Execute the playbook and examine the results. - - ansible-playbook -i inventory.yaml validation.yaml - -**sample output of wiring validation** - - "results": [ - { - "dest_port": "ethernet1/1/1", - "dest_switch": "site2-spine2", - "error_type": "link-missing", - "reason": "link is not found for source switch: site2-spine1,port: ethernet1/1/1", - "source_port": "ethernet1/1/1", - "source_switch": "site2-spine1" - }, - { - "dest_port": "ethernet1/1/2", - "dest_switch": "site2-spine1", - "error_type": "link-mismatch", - "reason": "Destination switch is not an expected value, expected switch: site2-spine1,port: ethernet1/1/2; actual switch: site1-spine2(svc-tag:J33FXC2, node_mac:e4:f0:04:9b:eb:dc), port: ethernet1/1/1", - "source_port": "ethernet1/1/1", - "source_switch": "site1-spine1" - } - ] - -**sample output of BGP validation** - - "results": [ - { - "bgp_neighbor": "10.9.0.1", - "bgp_state": "idle", - "error_type": "remote_port_down", - "possible_reason": "remote port site2-spine1 ethernet1/1/2 is down", - "source_switch": "site1-spine1" - }, - { - "bgp_neighbor": "-", - "bgp_state": "idle", - "error_type": "not_an_intended_neighbor", - "possible_reason": "neighbor 10.9.0.7 is not an intended, please add this neighbor in the intended_bgp_neighbors", - "source_switch": "site1-spine1" - }, - { - "bgp_neighbor": "1.1.1.1", - "error_type": "config_missing", - "possible_reason": "neighbor config missing", - "source_switch": "site1-spine1" - }, - { - "bgp_neighbor": "10.9.0.9", - "bgp_state": "idle", - "error_type": "remote_port_down", - "possible_reason": "remote port site2-spine1 ethernet1/1/3 is down", - "source_switch": "site1-spine2" - } - ] - -**sample output of VLT validation** - - "results": [ - { - "error_type": "secondary_mismatch", - "intended_primary": "site1-spine1", - "intended_secondary": "site2-spine2", - "possible_reason": "config mismatch as site2-spine2 is expected, but the actual secondary is site1-spine2 ", - "secondary": "site1-spine2" - }, - { - "error_type": "peer_missing", - "intended_primary": "site2-spine1", - "intended_secondary": "site2-spine2", - "possible_reason": "peer info is not configured or peer interface is down" - } - ] - -**sample output of MTU validation** - - "msg": { - "results": "There is no MTU mistmatch between neighbors" - } - - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved.
\ No newline at end of file diff --git a/ansible_collections/dellemc/os10/docs/os10_ntp.md b/ansible_collections/dellemc/os10/docs/os10_ntp.md deleted file mode 100644 index 17e879c6b..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_ntp.md +++ /dev/null @@ -1,124 +0,0 @@ -NTP role -======== - -This role facilitates the configuration of network time protocol (NTP) attributes. It specifically enables configuration of NTP server, NTP source, authentication, and broadcast service. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The NTP role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_ntp keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``server`` | list | Configures the NTP server (see ``server.*``) | os10 | -| ``server.ip`` | string (required) | Configures an IPv4 address for the NTP server (A.B.C.D format) | os10 | -| ``server.key`` | integer | Configures the peer authentication key for the NTP server | os10 | -| ``server.prefer`` | boolean | Configures the peer preference | os10 | -| ``server.state`` | string: absent,present\* | Deletes the NTP server if set to absent | os10 | -| ``source`` | string | Configures the interface for the source address | os10 | -| ``master`` | integer | Configures the local clock to act as the server | os10 | -| ``authenticate`` | boolean | Configures authenticate time sources | os10 | -| ``authentication_key`` | list | Configures authentication key for trusted time sources (see ``authentication_key.*``) | os10 | -| ``authentication_key.key_num`` | integer | Configures authentication key number | os10 | -| ``authentication_key.key_string_type`` | integer: 0,9 | Configures hidden authentication key string if the value is 9, and configures unencrypted authentication key string if the value is 0 | os10 | -| ``authentication_key.key_string`` | string | Configures the authentication key string | os10 | -| ``authentication_key.type`` | string: md5,sha1,sha2-256 | Configures the authentication type | os10 | -| ``authentication_key.state`` | string: absent,present\* | Deletes the authenticaton key if set to absent | os10 | -| ``trusted_key`` | list | Configures key numbers for trusted time sources (see ``trusted_key.*``) | os10 | -| ``trusted_key.key_num`` | integer | Configures the key number | os10 | -| ``trusted_key.state`` | string: absent,present\* | Deletes the trusted key if set to absent | os10 | -| ``intf`` | dictionary | Configures NTP on the interface (see ``intf.*``) | os10 | -| ``intf.<interface name>`` | dictionary | Configures NTP on the interface (see ``<interface name>.*``) | os10 | -| ``<interface name>.disable`` | boolean | Configures NTP disable on the interface | os10 | -| ``<interface name>.broadcast`` | boolean | Configures NTP broadcast client service on the interface | os10 | -| ``vrf`` | dictionary | Enables NTP on VRF (see ``vrf.*``) | os10 | -| ``vrf.name`` | string | Name of the VRF to enable NTP | os10 | -| ``vrf.state`` | string: absent,present\* | Disables NTP on the VRF if set to absent | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-------------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_ntp* role to set the NTP server, source ip, authentication and broadcast service. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When the `os10_cfg_generate` variable is set to true, it generates the configuration commands as a .part file in *build_dir* path. By default it is set to false. The example writes a simple playbook that only references the *os10_ntp* role. - -By including the role, you automatically get access to all of the tasks to configure NTP attributes. The sample *host_vars* is for os10. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - host: leaf1 - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/os10 - - os10_ntp: - source: ethernet 1/1/2 - master: 5 - authenticate: true - authentication_key: - - key_num: 123 - key_string_type: 9 - key_string: test - type: md5 - state: present - trusted_key: - - key_num: 1323 - state: present - server: - - ip: 2.2.2.2 - key: 345 - prefer: true - state: present - intf: - ethernet 1/1/2: - disable: true - broadcast: true - vrf: - name: red - state: present - -**Simple playbook to setup NTP — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_ntp - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_prefix_list.md b/ansible_collections/dellemc/os10/docs/os10_prefix_list.md deleted file mode 100644 index dce141e8f..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_prefix_list.md +++ /dev/null @@ -1,104 +0,0 @@ -Prefix-list role -================ - -This role facilitates the configuration of a prefix-list. It supports the configuration of an IP prefix-list, and assigns the prefix-list to line terminals. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The prefix-list role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` value -- If `os10_cfg_generate` set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_prefix_list keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``type`` | string (required): ipv4,ipv6 | Configures an L3 (IPv4/IPv6) prefix-list | os10 | -| ``name`` | string (required) | Configures the prefix-list name | os10 | -| ``description`` | string | Configures the prefix-list description | os10 | -| ``entries`` | list | Configures rules in the prefix-list (see ``seqlist.*``) | os10 | -| ``entries.number`` | int (required) | Specifies the sequence number of the prefix-list rule | os10 | -| ``entries.permit`` | boolean (required): true,false | Specifies the rule to permit packets if set to true, and specifies to reject packets if set to false | os10 | -| ``entries.net_num`` | string (required) | Specifies the network number | os10 | -| ``entries.mask`` | string (required) | Specifies the mask | os10 | -| ``entries.condition_list`` | list | Configures conditions to filter packets (see ``condition_list.*``)| os10 | -| ``condition_list.condition`` | list | Specifies the condition to filter packets from the source address | os10 | -| ``condition_list.prelen`` | string (required) | Specifies the allowed prefix length | os10 | -| ``entries.state`` | string: absent,present\* | Deletes the rule from the prefix-list if set to absent | os10 | -| ``state`` | string: absent,present\* | Deletes the prefix-list if set to absent | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_prefix_list* role to configure prefix-list for both IPv4 and IPv6. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os10_prefix_list* role. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - os10_prefix_list: - - name: testpl - type: ipv4 - description: pl - entries: - - number: 19 - permit: true - net_num: 20.0.0.0 - mask: 16 - condition_list: - - condition: ge - prelen: 17 - - condition: le - prelen: 18 - state: present - state: present - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_prefix_list - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_qos.md b/ansible_collections/dellemc/os10/docs/os10_qos.md deleted file mode 100644 index 584159707..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_qos.md +++ /dev/null @@ -1,90 +0,0 @@ -QoS role -======== - -This role facilitates the configuration quality of service (QoS) attributes like policy-map and class-map. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The QoS role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_qos keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``policy_map`` | list | Configures the policy-map (see ``policy_map.*``) | os10 | -| ``policy_map.name`` | string (required) | Configures the policy-map name | os10 | -| ``policy_map.type`` | string: qos\*, application, control-plane, network-qos, queuing in os10 | Configures the policy-map type | os10 | -| ``policy_map.state`` | string: present\*,absent | Deletes the policy-map if set to absent | os10 | -| ``class_map`` | list | Configures the class-map (see ``class_map.*``) | os10 | -| ``class_map.name`` | string (required) | Configures the class-map name | os10 | -| ``class_map.type`` | string: qos\*,application,control-plane,network-qos,queuing | Configures the class-map type | os10 | -| ``class_map.state`` | string: present\*,absent | Deletes the class-map if set to absent | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_qos* role to configure the policy-map class-map. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os10_qos* role. By including the role, you automatically get access to all of the tasks to configure QoS features. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/os10 - - os10_qos: - policy_map: - - name: testpolicy - type: qos - state: present - class_map: - - name: testclass - type: application - state: present - -**Simple playbook to setup qos — leaf.yaml** - - - hosts: leaf1 - roles: - - Dell-Networking.os10.os10_qos - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_raguard.md b/ansible_collections/dellemc/os10/docs/os10_raguard.md deleted file mode 100644 index abf7cf4af..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_raguard.md +++ /dev/null @@ -1,126 +0,0 @@ -IPv6 RA uard role -=================== - -This role facilitates the configuration of IPv6 RA Guard attributes. It specifically enables configuration of IPv6 RA Guard feature enable/disable, IPv6 RA Guard policy definition and policy parameter configuration, and attachment of IPv6 RA Guard policy to an interface. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The IPv6 RA Guard role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_raguard keys** - - -| Key | Type | Description |Support | -|--------------------------------------|-------------------------|----------------------------------------------------------|---------| -| ``enable`` | boolean | Enables IPv6 RA-Guard feature | os10 | -| ``policy`` | list | Configures the IPv6 RA Guard policy (see ``policy.*``) | os10 | -| ``policy.state`` | string: absent/present\*| Deletes the policy if set to absent | os10 | -| ``policy.name`` | string (required) | Configures the IPv6 RA Guard policy name | os10 | -| ``policy.device_role.value`` | string (required) | Configures the device role for a policy | os10 | -| ``policy.device_role.state`` | string: absent,present\*| Deletes the device role if set to absent | os10 | -| ``policy.managed_config_flag.value`` | string | Configures the managed config flag param for a policy | os10 | -| ``policy.managed_config_flag.state`` | string: absent,present\*| Deletes the managed config flag if set to absent | os10 | -| ``policy.other_config_flag.value`` | string | Configures the other config flag param for a policy | os10 | -| ``policy.other_config_flag.state`` | string: absent,present\*| Deletes the other config flag if set to absent | os10 | -| ``policy.mtu.value`` | integer | Configures the MTU param for a policy | os10 | -| ``policy.mtu.state`` | string: absent,present\*| Deletes the MTU if set to absent | os10 | -| ``policy.reachable_time.value`` | integer | Configures the reachable time param for a policy | os10 | -| ``policy.reachable_time.state`` | string: absent,present\*| Deletes the reachable time if set to absent | os10 | -| ``policy.retrans_timer.value`` | integer | Configures the retransmit timer param for a policy | os10 | -| ``policy.retrans_timer.state`` | string: absent,present\*| Deletes the retransmit timer if set to absent | os10 | -| ``policy.router_lifetime.value`` | integer | Configures the router lifetime param for a policy | os10 | -| ``policy.router_lifetime.state`` | string: absent,present\*| Deletes the router lifetime if set to absent | os10 | -| ``policy.router_preference.value`` | string | Configures the router preference param for a policy | os10 | -| ``policy.router_preference.state`` | string: absent,present\*| Deletes the router preference if set to absent | os10 | -| ``policy.match`` | list | Configures the prefix/ACL/MAC list param for a policy | os10 | -| ``policy.match.type`` | string | Configures the prefix/ACL/MAC type for a policy | os10 | -| ``policy.match.name`` | string | Configures the prefix/ACL/MAC name for a policy | os10 | -| ``policy.match.state`` | string: absent,present\*| Deletes the prefix/ACL/MAC if set to absent | os10 | -| ``intf`` | dictionary | Configures IPv6 RA Guard on the interface (see``intf.*``) | os10 | -| ``intf.<interface name>`` | dictionary | Configures RA Guard on the interface (see``<interface name>.*``)| os10 | -| ``<interface name>.policy_name`` | String | Configures RA Guard policy name to be attached on an interface | os10 | -| ``<interface name>.vlan`` | String | Configures VLAN name to which policy to be attached on an interface| os10| -| ``<interface name>.state`` | String: absent,present\*| Deletes the policy if set to absent an interface | os10| - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-------------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_raguard* role to configure the IPv6 RA Guard feature enable/disable, IPv6 RA Guard Policy defination and policy parameter configuration, Attachment of IPv6 RA Guard policy to an interface. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, it generates the configuration commands as a .part file in *build_dir* path. By default it is set to false. The example writes a simple playbook that only references the *os10_raguard* role. By including the role, you automatically get access to all of the tasks to configure IPv6 RA Guard attributes. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - host: leaf1 - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/os10 - - os10_raguard: - enable: true - policy: - - policy_name: test - device_role: - value: router - state: present - managed_config_flag: - value: "on" - state: present - mtu: - value: 1280 - state: present - match: - - type: prefix_list - name: test_prefix - state: present - state: present - intf: - ethernet 1/1/2: - policy_name: test - vlan: 10 - state: present - -**Simple playbook to setup IPv6 RA Guard — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_raguard - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_route_map.md b/ansible_collections/dellemc/os10/docs/os10_route_map.md deleted file mode 100644 index 1160ca48c..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_route_map.md +++ /dev/null @@ -1,190 +0,0 @@ -Route-map role -============== - -This role facilitates the configuration of route-map attributes. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The route-map role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_route_map keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``route_map`` | list | Configures the route-map (see ``route_map.*``) | os10 | -| ``route_map.name`` | string (required) | Configures the route-map name | os10 | -| ``route_map.permit`` | boolean | Configures permit/deny set operations | os10 | -| ``route_map.seq_num`` | integer | Configures the sequence number | os10 | -| ``route_map.continue`` | integer | Configures the next sequence number | os10 | -| ``route_map.set`` | dictionary | Configures route-map to set values in the destination routing protocol (see ``set.*``) | os10 | -| ``set.local_pref`` | integer | Configures the BGP local preference path attribute | os10 | -| ``set.metric`` | string | Configures a specific value to add or subtract from the existing metric value ("+ <value>", "- <value>", <value> format) | os10 | -| ``set.metric_type`` | string: internal,type-1,type-2 | Configures the metric type for the destination routing protocol | os10 | -| ``set.origin`` | string: igp,egp,incomplete | Configures the BGP origin attribute | os10 | -| ``set.weight`` | integer | Configures the weight for the BGP route | os10 | -| ``set.comm_list`` | dictionary | Configures the BGP community list (see ``comm_list.*``) | os10 | -| ``comm_list.add`` | string | Adds the community attribute of a BGP update | os10 | -| ``comm_list.delete`` | string | Deletes a community attribute of a BGP update | os10 | -| ``set.community`` | string | Configures the community attribute for a BGP route update | os10 | -| ``set.extcomm_list`` | dictionary | Configures the BGP extcommunity list (see ``extcomm_list.*``) | os10 | -| ``extcomm_list.add`` | string | Adds an extended community attribute of a BGP update | os10 | -| ``extcomm_list.delete`` | string | Deletes the extended community attribute of a BGP update | os10 | -| ``set.extcommunity`` | string | Configures the extended community attribute for a BGP route update | os10 | -| ``set.next_hop`` | list | Configures the next-hop address (see ``next_hop.*``) | os10 | -| ``next_hop.type`` | string: ip,ipv6 | Configures the type of the next-hop address | os10 | -| ``next_hop.address`` | string | Configures the next-hop address | os10 | -| ``next_hop.track_id`` | integer | Configures the object track ID | os10 | -| ``next_hop.state`` | string: present\*,absent | Deletes the next-hop address if set to absent | os10 | -| ``route_map.match`` | list | Configures the route-map to match values from the route table (see ``match.*``) | os10 | -| ``match.ip_type`` | string (required): ipv4,ipv6 | Configures the IPv4/IPv6 address to match | os10 | -| ``match.access_group`` | string | Configures the access-group or list to match | os10 | -| ``match.source_protocol_ebgp`` | string | Configures the source protocol to eBGP to match | os10 | -| ``match.source_protocol_ibgp`` | string | Configures the source protocol to iBGP to match | os10 | -| ``match.source_protocol_evpn`` | string | Configures the source protocol to EVPN to match | os10 | -| ``match.source_protocol_static`` | string | Configures the source protocol to static to match | os10 | -| ``match.source_protocol_connected`` | string | Configures the source protocol to connected to match | os10 | -| ``match.source_protocol_ospf`` | string | Configures the source protocol to OSPF to match | os10 | -| ``match.prefix_list`` | string | Configures the IP prefix-list to match against | os10 | -| ``route_map.state`` | string, choices: present\*,absent | Deletes the route-map if set to absent | os10 | -| ``as_path`` | list | Configures the BGP AS path filter (see ``as_path.*``) | os10 | -| ``as_path.access_list`` | string (required) | Configures the access-list name | os10 | -| ``as_path.permit`` | boolean (required) | Configures an AS path to accept or reject | os10 | -| ``as_path.regex``| string (required) | Configures a regular expression | os10 | -| ``as_path.state`` | string: absent,present\* | Deletes the BGP as path filter if set to absent | os10 | -| ``community_list`` | list | Configures a community list entry (see ``community_list.*``) | os10 | -| ``community_list.type`` | string (required): standard,expanded | Configures the type of community-list entry | os10 | -| ``community_list.name`` | string (required) | Configures the name of community-list entry | os10 | -| ``community_list.permit`` | boolean(required) | Configures the community to accept or reject | os10 | -| ``community_list.regex`` | string (required) | Configures the regular expression for extended community list; mutually exclusive with *community_list.community* | os10 | -| ``community_list.community`` | string (required) | Configures a well-known community or community number for standard community list; mutually exclusive with *community_list.regex* | os10 | -| ``community_list.state`` | string: absent,present\* | Deletes the community list entry if set to absent | os10 | -| ``extcommunity_list`` | list | Configures extcommunity-list entry (see ``extcommunity_list.*``) | os10 | -| ``extcommunity_list.type`` | string (required): standard,expanded | Configures the type of extcommunity-list entry | os10 | -| ``extcommunity_list.name`` | string (required) | Configures the name of extcommunity-list entry | os10 | -| ``extcommunity_list.permit`` | boolean(required) | Configures the extcommunity to accept or reject | os10 | -| ``extcommunity_list.regex`` | string (required) | Configures the regular expression for the extended extcommunity list; mutually exclusive with *extcommunity_list.community* | os10 | -| ``extcommunity_list.community`` | string (required) | Configures the extended community for standard community-list; mutually exclusive with *extcommunity_list.regex* | os10 | -| ``extcommunity_list.state`` | string: absent,present\* | Deletes the extcommunity-list entry if set to absent | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_route_map* role for the route-map, policy-map, and class-map. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os10_route_map* role. By including the role, you automatically get access to all of the tasks to configure route-map features. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/os10 - - os10_route_map: - as_path: - - access_list: aa - permit: true - regex: www - state: present - community_list: - - type: expanded - name: qq - permit: true - regex: aaa - state: present - - type: standard - name: qqq - permit: false - community: internet - state: present - extcommunity_list: - - type: expanded - name: qq - permit: true - regex: aaa - state: present - - type: standard - name: qqq - permit: false - community: "rt 22:33" - state: present - route_map: - - name: test - permit: true - seq_num: 1 - continue: 20 - match: - - ip_type: ipv4 - access_group: testaccess - prefix_list: testprefix - source_protocol_ebgp: present - source_protocol_ibgp: present - source_protocol_evpn: present - source_protocol_static: present - source_protocol_ospf: present - source_protocol_connected: present - set: - local_pref: 1200 - metric_type: internal - metric: + 30 - origin: igp - weight: 50 - next_hop: - - type: ip - address: 10.1.1.1 - track_id: 3 - state: present - community: internet - comm_list: - add: qq - delete: qqq - extcommunity: "22:33" - extcomm_list: - add: aa - delete: aa - state: present - -**Simple playbook to setup QoS —leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_route_map - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_snmp.md b/ansible_collections/dellemc/os10/docs/os10_snmp.md deleted file mode 100644 index a875a2340..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_snmp.md +++ /dev/null @@ -1,269 +0,0 @@ -SNMP role -========= - -This role facilitates the configuration of global SNMP attributes. It supports the configuration of SNMP server attributes including users, group, community, location, and traps. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The SNMP role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_snmp keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``snmp_contact`` | string | Configures SNMP contact information | os10 | -| ``snmp_location`` | string | Configures SNMP location information | os10 | -| ``snmp_community`` | list | Configures SNMP community information (see ``snmp_community.*``) | os10 | -| ``snmp_community.name`` | string (required) | Configures the SNMP community string | os10 | -| ``snmp_community.access_mode`` | string: ro,rw | Configures access-mode for the community | os10 | -| ``snmp_community.access_list`` | dictionary | Configures ACL for the community (see ``snmp_community.access_list.*``) | os10 | -| ``snmp_community.access_list.name`` | string | Specifies the name of the ACL for the community | os10 | -| ``snmp_community.access_list.state`` | string: absent,present\* | Deletes the ACL from the community if set to absent | os10 | -| ``snmp_community.state`` | string: absent,present\* | Deletes the SNMP community information if set to absent | os10 | -| ``snmp_engine_id`` | string | Configures SNMP local EngineID | os10 | -| ``snmp_remote_engine_id`` | list | Configures SNMP remote engine information (see ``snmp_remote_engine_id.*``) | os10 | -| ``snmp_remote_engine_id.ip`` | string | Configures the IP address of the SNMP remote engine | os10 | -| ``snmp_remote_engine_id.engine_id`` | string | Configures the EngineID of the SNMP remote engine | os10 | -| ``snmp_remote_engine_id.udpport`` | string | Configures the UDP port of the SNMP remote engine | os10 | -| ``snmp_remote_engine_id.state`` | string: absent,present\* | Deletes the SNMP remote engine information if set to absent | os10 | -| ``snmp_group`` | list | Configures the SNMP group information (see ``snmp_group.*``) | os10 | -| ``snmp_group.name`` | string | Configures the name of the SNMP group | os10 | -| ``snmp_group.version`` | string: 1,2c,3 | Configures the version of the SNMP group | os10 | -| ``snmp_group.security_level`` | string: auth,noauth,priv | Configures the security level of SNMP group for version 3 | os10 | -| ``snmp_group.access_list`` | dictionary | Configures the access list of the SNMP group (see ``snmp_group.access_list.*``)| os10 | -| ``snmp_group.access_list.name`` | string | Specifies the name of the access list for the SNMP group wtih version 1 or 2c | os10 | -| ``snmp_group.access_list.state`` | string: absent,present\* | Deletes the access list from the SNMP group if set to absent | os10 | -| ``snmp_group.read_view`` | dictionary | Configures the read view of the SNMP group (see ``snmp_group.read_view.*``) | os10 | -| ``snmp_group.read_view.name`` | string | Specifies the name of the read view for the SNMP group | os10 | -| ``snmp_group.read_view.state`` | string: absent,present\* | Deletes the read view from the SNMP group if set to absent | os10 | -| ``snmp_group.write_view`` | dictionary | Configures the write view of the SNMP group (see ``snmp_group.write_view``) | os10 | -| ``snmp_group.write_view.name`` | string | Specifies the name of the write view for the SNMP group | os10 | -| ``snmp_group.write_view.state`` | string: absent,present\* | Deletes the write view from the SNMP group if set to absent | os10 | -| ``snmp_group.notify_view`` | dictionary | Configures the notify view of the SNMP group (see ``snmp_group.notify_view.*``) | os10 | -| ``snmp_group.notify_view.name`` | string | Specifies the name of the notify view for the SNMP group | os10 | -| ``snmp_group.notify_view.state`` | string: absent,present\* | Deletes the notify view from the SNMP group if set to absent | os10 | -| ``snmp_group.state`` | string: absent,present\* | Deletes the SNMP group if set to absent | os10 | -| ``snmp_host`` | list | Configures SNMP hosts to receive SNMP traps (see ``snmp_host.*``) | os10 | -| ``snmp_host.ip`` | string | Configures the IP address of the SNMP trap host | os10 | -| ``snmp_host.communitystring`` | string | Configures the SNMP community string of the trap host for version 1 or 2c | os10 | -| ``snmp_host.udpport`` | string | Configures the UDP number of the SNMP trap host (0 to 65535) | os10 | -| ``snmp_host.version`` | string: 1,2c,3 (required) | Specifies the SNMP version of the host (1 or 2c or 3 in os10) | os10 | -| ``snmp_host.security_level`` | string: auth,noauth,priv | Configures the security level of the SNMP host for version 3 | os10 | -| ``snmp_host.security_name`` | string | Configures the security name of the SNMP host for version 3 | os10 | -| ``snmp_host.notification_type`` | string: traps,informs | Configures the notification type of the SNMP host | os10 | -| ``snmp_host.trap_categories`` | dictionary | Enables or disables different trap categories for the SNMP host (see ``snmp_host.trap_categories.*``) | os10 | -| ``snmp_host.trap_categories.dom`` | boolean: true,false | Enables or disables dom category traps for the SNMP host | os10 | -| ``snmp_host.trap_categories.entity`` | boolean: true,false | Enables or disables entity category traps for the SNMP host | os10 | -| ``snmp_host.trap_categories.envmon`` | boolean: true,false | Enables or disables envmon category traps for the SNMP host | os10 | -| ``snmp_host.trap_categories.lldp`` | boolean: true,false | | Enables or disables lldp category traps for the SNMP host | os10 | -| ``snmp_host.trap_categories.snmp`` | boolean: true,false | | Enables or disables snmp category traps for the SNMP host | os10 | -| ``snmp_host.state`` | string: absent,present\* | Deletes the SNMP trap host if set to absent | os10 | -| ``snmp_source_interface`` | string | Configures the source interface for SNMP | os10 | -| ``snmp_traps`` | list | Configures SNMP traps (see ``snmp_traps.*``) | os10 | -| ``snmp_traps.name`` | string | Enables SNMP traps | os10 | -| ``snmp_traps.state`` | string: absent,present\* | Deletes the SNMP trap if set to absent | os10 | -| ``snmp_user`` | list | Configures the SNMP user information (see ``snmp_user.*``) | os10 | -| ``snmp_user.name`` | string | Specifies the name of the SNMP user | os10 | -| ``snmp_user.group_name`` | string | Specifies the group of the SNMP user | os10 | -| ``snmp_user.version `` | string: 1,2c,3 | Configures the version for the SNMP user | os10 | -| ``snmp_user.access_list`` | string | Configures the access list for the SNMP user with version 1 or 2c | os10 | -| ``snmp_user.authentication`` | dictionary | Configures the authentication information for the SNMP user with version 3 (see ``snmp_user.authentication.*``) | os10 | -| ``snmp_user.authentication.localized`` | boolean: true,false | Configures the password to be in localized key format or not | os10 | -| ``snmp_user.authentication.algorithm`` | string: md5, sha | Configures the authentication algorithm for the SNMP user | os10 | -| ``snmp_user.authentication.password`` | string | Configures the authentication password for the SNMP user; if localized is true it should be a hexadecimal string prefixed with 0x and qouted | os10 | -| ``snmp_user.authentication.encryption`` | dictionary | Configures the encryption parameters for the SNMP user | os10 | -| ``snmp_user.authentication.encryption.algorithm`` | string: aes,des | Configures the encryption algorithm for the SNMP user | os10 | -| ``snmp_user.authentication.encryption.password`` | string | Configures encryption password for the SNMP user; if localized is true it should be a hexadecimal string prefixed with 0x and qouted | os10 | -| ``snmp_user.remote`` | dictionary | Configures the remote SNMP entity the user belongs to (see ``snmp_user.remote.*``) | os10 | -| ``snmp_user.remote.ip`` | string | Configures the IP address of the remote entity for the SNMP user | os10 | -| ``snmp_user.remote.udpport`` | string | Configures the UDP port of the remote entiry for the SNMP user | os10 | -| ``snmp_user.state`` | string: absent,present\* | Deletes the SNMP user if set to absent | os10 | -| ``snmp_view`` | list | Configures SNMPv3 view information (see ``snmp_view.*``) | os10 | -| ``snmp_view.name`` | string | Configures the SNMP view name (up to 20 characters) | os10 | -| ``snmp_view.oid_subtree`` | integer | Configures the SNMP view for the OID subtree | os10 | -| ``snmp_view.include`` | boolean: true,false | Specifies if the MIB family should be included or excluded from the view | os10 | -| ``snmp_view.state`` | string: absent,present\* | Deletes the SNMP view if set to absent | os10 | -| ``snmp_vrf`` | string | Configures the VRF for SNMP | os10 | - - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_snmp* role to completely set up the SNMP server attributes. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os10_snmp* role. By including the role, you automatically get access to all of the tasks to configure SNMP features. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - - os10_snmp: - snmp_contact: test - snmp_location: Chennai - snmp_source_interface: loopback 10 - snmp_vrf: test - snmp_community: - - name: public - access_mode: ro - access_list: - name: test_acl - state: present - state: present - snmp_engine_id: 123456789 - snmp_remote_engine_id: - - host: 1.1.1.1 - engine_id: '0xab' - udpport: 162 - state: present - snmp_traps: - - name: all - state: present - snmp_view: - - name: view_1 - oid_subtree: 2 - include: true - state: absent - snmp_host: - - ip: 1.1.1.1 - communitystring: c1 - version: "2c" - udpport: 4 - state: present - - ip: 2.2.2.2 - version: 1 - communitystring: c3 - trap_categories: - dom: true - lldp: true - state: present - - ip: 3.1.1.1 - version: 3 - security_level: priv - security_name: test - notification_type: informs - udpport: 200 - trap_categories: - dom: true - entity: true - envmon: true - snmp: true - state: present - snmp_group: - - name: group_1 - version: "2c" - state: present - access_list: - name: test_acl - state: present - read_view: - name: view_1 - state: present - write_view: - name: view_2 - state: present - notify_view: - name: view_3 - state: present - - name: group_2 - version: 3 - security_level: priv - state: present - read_view: - name: view_1 - state: absent - notify_view: - name: view_3 - state: present - snmp_user: - - name: user_1 - group_name: group_1 - version: 3 - authentication: - localized: true - algorithm: md5 - password: 9fc53d9d908118b2804fe80e3ba8763d - encryption: - algorithm: aes - password: d0452401a8c3ce42804fe80e3ba8763d - state: present - - name: user_2 - group_name: group_1 - version: 3 - remote: - ip: 1.1.1.1 - udpport: 200 - authentication: - localized: true - algorithm: md5 - password: '0x9fc53d9d908118b2804fe80e3ba8763d' - encryption: - algorithm: aes - password: '0xd0452401a8c3ce42804fe80e3ba8763d' - state: present - - name: user_3 - group_name: group_1 - version: 2c - state: present - - name: user_4 - group_name: group_1 - version: 3 - state: present - - name: user_5 - group_name: group_2 - version: 2c - remote: - ip: 1.1.1.1 - udpport: 200 - access_list: test_acl - state: present - -**Simple playbook to setup SNMP — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_snmp - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_system.md b/ansible_collections/dellemc/os10/docs/os10_system.md deleted file mode 100644 index 119138afc..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_system.md +++ /dev/null @@ -1,126 +0,0 @@ -System role -=========== - -This role facilitates the configuration of global system attributes. It specifically enables configuration of hostname and hashing algorithm. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The System role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_system keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``hostname`` | string | Configures a hostname to the device (no negate command) | os10 | -| ``hardware_forwarding`` | string: scaled-l2,scaled-l3-routes,scaled-l3-hosts | Configures hardware forwarding mode | os10 | -| ``hash_algo`` | dictionary | Configures hash algorithm commands (see ``hash_algo.*``) | os10 | -| ``hash_algo.algo`` | list | Configures hashing algorithm (see ``algo.*``) | os10 | -| ``algo.name`` | string (required) | Configures the name of the hashing algorithm | os10 | -| ``algo.mode`` | string (required) | Configures the hashing algorithm mode | os10 | -| ``algo.state`` | string: absent,present\* | Deletes the hashing algorithm if set to absent | os10 | -| ``load_balance`` | dictionary | Configures the global traffic load balance (see ``load_balance.*``) | os10 | -| ``load_balance.ingress_port`` | boolean: true,false | Specifies whether to use the source port ID for the hashing algorithm | os10 | -| ``load_balance.ip_selection`` | list | Configures IPv4 key fields to use in hashing algorithm; | os10 | -| ``ip_selection.field`` | string | Configures IPv4 key fields to use in hashing algorithm | os10 | -| ``ip_selection.state`` | string: absent,present\* | Deletes the IPv4 key fields if set to absent | os10 | -| ``load_balance.ipv6_selection`` | list | Configures IPv6 key fields to use in hashing algorithm | os10 | -| ``ipv6_selection.field`` | string | Configures IPv6 key fields to use in hashing algorithm | os10 | -| ``ipv6_selection.state`` | string: absent,present\* | Deletes the IPv6 key fields if set to absent | os10 | -| ``load_balance.mac_selection`` | list | Configures MAC key fields to use in hashing algorithm (see ``mac_selection.*``) | os10 | -| ``mac_selection.field`` | string | Configures MAC key fields to use in hashing algorithm | os10 | -| ``mac_selection.state`` | string: absent,present\* | Deletes the MAC key fields if set to absent | os10 | -| ``load_balance.tcp_udp_selection`` | list | Configures TCP UDP ports for load balancing configurations (see ``tcp_udp_selection.*``) | os10 | -| ``tcp_udp_selection.field`` | string | Configures TCP UDP port fields to use in hashing algorithm | os10 | -| ``tcp_udp_selection.state`` | string: absent,present\* | Deletes the TCP UDP ports if set to absent | os10 | -| ``min_ra`` | string | Configures global RA minimum interval value, applicable to all interfaces across VRFs | os10 | -| ``max_ra`` | string | Configures global RA maximum interval value, applicable to all interfaces across VRFs | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_system role* to completely set the NTP server, hostname, enable password, management route, hash alogrithm, clock, line terminal, banner and reload type. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. The system role writes a simple playbook that only references the *os10_system* role. By including the role, you automatically get access to all of the tasks to configure system features. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - - os10_system: - hostname: os10 - hardware_forwarding: scaled-l3-hosts - hash_algo: - algo: - - name: lag - mode: crc - state: present - - name: ecmp - mode: xor - state: present - load_balance: - ingress_port: true - ip_selection: - - field: source-ip - state: present - ipv6_selection: - - field: source-ip - state: present - mac_selection: - - field: source-mac - state: present - tcp_udp_selection: - - field: l4-source-port - state: present - max_ra: 15 - min_ra: 10 - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_system - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_template.md b/ansible_collections/dellemc/os10/docs/os10_template.md deleted file mode 100644 index d7faf0132..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_template.md +++ /dev/null @@ -1,75 +0,0 @@ -Template role -============== - -This role provides access to structured data from show commands. This role facilitates the TEXTFSM parsing engine. TextFSM is a template based state machine . It takes the raw string input from the CLI of network devices, run them through a TEXTFSM template and return structured text in the form of a Python dictionary. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The Template role is highly customizable, and it works with separate template definitions which contain variables and rules with regular expressions. This library is very helpful to parse any text-based CLI output from network devices. The Template role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- Variables and values are case-sensitive - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_template* role to parse any text-based CLI output. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. All the supported CLI commands are imported as tasks in tasks/main.yml. - -For the *os10_template* role plugins to be used, you may need to specify the actual path of role in *ansible.cfg* file. - -**Sample ansible.cfg** - - action_plugins = ../../plugins/modules/ - - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> ansible_network_os=dellemc.os10.os10 ansible_ssh_user=xxxxx ansible_ssh_pass=xxxxx - - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_template - -**Example playbook to run specific show command — leaf.yaml** - - - --- - - name: PARSE SHOW IP INTERFACE BRIEF - hosts: leaf1 - collections: - - dellemc.os10 - tasks: - - import_role: - name: os10_template - tasks_from: show_ip_interface_brief.yaml - - - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_uplink.md b/ansible_collections/dellemc/os10/docs/os10_uplink.md deleted file mode 100644 index 8ffeb0e71..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_uplink.md +++ /dev/null @@ -1,109 +0,0 @@ -Uplink role -=========== - -This role facilitates the configuration of uplink failure detection feature attributes. It specifically enables configuration of association between upstream and downstream interfaces known as uplink-state group. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The Uplink role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_uplink keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``uplink_state_group`` | list | Configures the uplink state group (see ``uplink_state_group.*``) | os10 | -| ``uplink_state_group.id`` | integer | Configures the uplink state group instance | os10 | -| ``uplink_state_group.enable`` | boolean: True,False | Enables the uplink state group instance | os10 | -| ``uplink_state_group.defer_time`` | integer | Configures defer timer for the uplink state group | os10 | -| ``uplink_state_group.uplink_type`` | list | Configures the upstream and downstream attribute (see ``uplink_type.*``) | os10 | -| ``uplink_type.type`` | string: upstream,downstream | Configures the uplink type | os10 | -| ``uplink_type.intf`` | string | Configures the uplink interface | os10 | -| ``uplink_type.state`` | string: absent,present\* | Removes the uplink stream if set to absent | os10 | -| ``uplink_state_group.downstream`` | dictionary | Configures downstream information for the uplink state group (see ``downstream.*``) | os10 | -| ``downstream.disable_links`` | integer | Configures number of downstream links to be disabled. String 'all' can be used to disable all downstream links | os10 | -| ``downstream.auto_recover`` | boolean: True,False | Enables or disables auto recover for downstream interfaces | os10 | -| ``uplink_state_group.state`` | string: absent,present\* | Removes the uplink state group instance if set to absent | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables -******************** - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_uplink role* to completely set the uplink sate group instance, and upstream, downstream interfaces. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. The uplink role writes a simple playbook that only references the *os10_uplink* role. By including the role, you automatically get access to all of the tasks to configure uplink features. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/os10 - - os10_uplink: - uplink_state_group: - - id: 1 - enable: True - uplink_type: - - type: "upstream" - intf: "port-channel1" - state: "present" - - type: "downstream" - intf: "ethernet1/1/2-1/1/5" - state: "present" - state: "present" - downstream: - disable_links: all - auto_recover: false - defer_time: 50 - - id: 2 - enable: True - state: "present" - -> **NOTE**: Interfaces should be created using the *os10_interface* role. - -**Simple playbook to setup uplink — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_uplink - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_users.md b/ansible_collections/dellemc/os10/docs/os10_users.md deleted file mode 100644 index 09d55f1dd..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_users.md +++ /dev/null @@ -1,89 +0,0 @@ -Users role -========== - -This role facilitates the configuration of global system user attributes, and it supports the configuration of CLI users. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The Users role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_users list keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``username`` | string (required) | Configures the username which must adhere to specific format guidelines (valid usernames begin with A-Z, a-z, or 0-9 and can also contain `@#$%^&*-_= +;<>,.~` characters) | os10 | -| ``password`` | string | Configures the password set for the username; password length must be at least eight characters | os10 | -| ``role`` | string | Configures the role assigned to the user | os10 | -| ``state`` | string: absent,present\* | Deletes a user account if set to absent | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_users* role to configure global system user attributes. It creates a hosts file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with the corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file. It writes a simple playbook that only references the *os10_users* role. By including the role, you automatically get access to all of the tasks to configure user features. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - - os10_users: - - username: test - password: a1a2a3a4!@#$ - role: sysadmin - state: present - - username: u1 - password: a1a2a3a4!@#$ - role: netadmin - state: present - -**Simple playbook to setup users — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_users - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_vlan.md b/ansible_collections/dellemc/os10/docs/os10_vlan.md deleted file mode 100644 index 71a7adf9a..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_vlan.md +++ /dev/null @@ -1,123 +0,0 @@ -VLAN role -========= - -This role facilitates configuring virtual LAN (VLAN) attributes. It supports the creation and deletion of a VLAN and its member ports. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The VLAN role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- For variables with no state variable, setting an empty value for the variable negates the corresponding configuration -- `os10_vlan` (dictionary) holds the key with the VLAN ID key and default-vlan key. -- VLAN ID key should be in format "vlan ID" (1 to 4094) -- Variables and values are case-sensitive - -**os10_vlan** - -| Key | Type | Notes | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``default_vlan_id`` | integer | Configures the vlan-id as the default VLAN for an existing VLAN | os10 | - -**VLAN ID keys** - -| Key | Type | Notes | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``description`` | string | Configures a single line description for the VLAN | os10 | -| ``tagged_members`` | list | Specifies the list of port members to be tagged to the corresponding VLAN (see ``tagged_members.*``) | os10 | -| ``tagged_members.port`` | string | Specifies valid device interface names to be tagged for each VLAN | os10 | -| ``tagged_members.state`` | string: absent,present | Deletes the tagged association for the VLAN if set to absent | os10 | -| ``untagged_members`` | list | Specifies the list of port members to be untagged to the corresponding VLAN (see ``untagged_members.*``) | os10 | -| ``untagged_members.port`` | string | Specifies valid device interface names to be untagged for each VLAN | os10 | -| ``untagged_members.state`` | string: absent,present | Deletes the untagged association for the VLAN if set to absent | os10 | -| ``state`` | string: absent,present\* | Deletes the VLAN corresponding to the ID if set to absent | os10 | -| ``virtual_gateway_ip`` | string | Configures an anycast gateway IPv4 address for VLAN interfaces| os10 | -| ``virtual_gateway_ipv6`` | string | Configures an anycast gateway IPv6 address for VLAN interfaces| os10 | -| ``ip_and_mask`` | string | Configures the specified IP address to the interface | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars directories* or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -## Example playbook - -This example uses the *os10_vlan* role to setup the VLAN ID and name, and it configures tagged and untagged port members for the VLAN. You can also delete the VLAN with the ID or delete the members associated to it. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os10_vlan* role. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - - os10_vlan: - default_vlan_id: 2 - vlan 100: - description: "Blue" - tagged_members: - - port: ethernet 1/1/32 - state: present - - port: ethernet 1/1/31 - state: present - untagged_members: - - port: ethernet 1/1/30 - state: present - - port: ethernet 1/1/29 - state: present - state: present - vlan 888: - description: "NSX_Cluster" - untagged_members: - - port: port-channel 1 - state: "present" - state: "present" - vlan 10: - description: "vlan with anycast GW" - ip_and_mask: "10.1.1.1/24" - virtual_gateway_ip: "10.1.1.254" - virtual_gateway_ipv6: "10:1:1::254" - state: "present" - -> **NOTE**: Interfaces should be created using the *os10_interface* role. - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_vlan - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_vlt.md b/ansible_collections/dellemc/os10/docs/os10_vlt.md deleted file mode 100644 index 85ed917a2..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_vlt.md +++ /dev/null @@ -1,108 +0,0 @@ -VLT role -======== - -This role facilitates the configuration of the basics of virtual link trunking (VLT) to provide a loop-free topology. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The VLT role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables . - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_vlt keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``domain`` | integer (required) | Configures the VLT domain identification number (1 to 1000) | os10 | -| ``backup_destination`` | string | Configures an IPv4 address for the VLT backup link (A.B.C.D format or X:X:X:X::X format) | os10 | -| ``destination_type`` | string | Configures the backup destination based on this destination type (IPv4 or IPv6)| os10 | -| ``backup_destination_vrf`` | string | Configures the virtual routing and forwarding (VRF) instance through which the backup destination IP is reachable (*vrfname* must be present) | os10 | -| ``discovery_intf`` | string | Configures the discovery interface for the VLT domain (range of interfaces)| os10 | -| ``discovery_intf_state`` | string: absent,present | Deletes the discovery interfaces for the VLT domain if set to absent | os10 | -| ``peer_routing`` | boolean | Configures VLT peer routing | os10 | -| ``priority`` | integer (default:32768) | Configures VLT priority | os10 | -| ``vlt_mac`` | string | Configures the VLT MAC address | os10 | -| ``vlt_peers`` | dictionary | Contains objects to configure the VLT peer port-channel (see ``vlt_peers.*``) | os10 | -| ``vlt_peers.<portchannelid>`` | dictionary | Configures the VLT peer port-channel (`Po <portchannelid> value`) | os10 | -| ``vlt_peers.<portchannelid>.peer_lag`` | integer | Configures the port-channel ID of the VLT peer lag | os10 | -| ``state`` | string: absent,present | Deletes the VLT instance if set to absent | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network OS roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Dependencies ------------- - -The *os10_vlt* role is built on modules included in the core Ansible code. These modules were added in ansible version 2.2.0. - -Example playbook ----------------- - -This example uses the *os10_vlt* role to setup a VLT-domain. It creates a *hosts* file with the switch details and corresponding variables.The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os10_vlt* role. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - - os10_vlt: - domain: 1 - backup_destination: "192.168.211.175" - destination_type: "ipv4" - backup_destination_vrf: - discovery_intf: 1/1/12 - discovery_intf_state: present - peer_routing: True - vlt_mac: aa:aa:aa:aa:aa:aa - vlt_peers: - Po 12: - peer_lag: 13 - state: present - -> **NOTE**: Discovery interface must not be in switchport mode and can be configured using the *os10_interface* role. - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_vlt - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_vrf.md b/ansible_collections/dellemc/os10/docs/os10_vrf.md deleted file mode 100644 index 464efc5bd..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_vrf.md +++ /dev/null @@ -1,143 +0,0 @@ -VRF role -======== - -This role facilitates to configure the basics of virtual routing and forwarding (VRF) that helps in the partition of physical routers to multiple virtual routers. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The VRF role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the variable `ansible_network_os` that can take the `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_vrf keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``vrfdetails`` | list | Configures the list of VRF instances (see ``instances.*``) | os10 | -| ``vrfdetails.vrf_name`` | string | Specifies the VRF instance name (default is management) | os10 | -| ``vrfdetails.state`` | string | Deletes the VRF instance name if set to absent | os10 | -| ``vrfdetails.ip_route_import`` | string | Configures VRF IP subcommands | os10 | -| ``ip_route_import.community_value`` | string | Configures the route community value | os10 | -| ``ip_route_import.route_map_value`` | string | Configures the route-map value | os10 | -| ``ip_route_import.state`` | string | Deletes the IP configuration if set to absent | os10 | -| ``vrfdetails.ip_route_export`` | string | Configures VRF IP subcommands | os10 | -| ``ip_route_export.community_value`` | string | Configures the route community value | os10 | -| ``ip_route_export.route_map_value`` | string | Configures the route-map value | os10 | -| ``ip_route_export.state`` | string | Deletes the IP config if set to absent | os10 | -| ``vrfdetails.ipv6_route_import`` | string | Configures VRF IPv6 subcommands | os10 | -| ``ipv6_route_import.community_value`` | string | Configures the route community value | os10 | -| ``ipv6_route_import.route_map_value`` | string | Configures the route-map value | os10 | -| ``ipv6_route_import.state`` | string | Deletes the IP config if set to absent | os10 | -| ``vrfdetails.ipv6_route_export`` | string | Configures VRF IPv6 subcommands | os10 | -| ``ipv6_route_import.community_value`` | string | Configures the route community value | os10 | -| ``ipv6_route_export.route_map_value`` | string | Configures the route-map value | os10 | -| ``ipv6_route_import.state`` | string | Deletes the IP config if set to absent | os10 | -| ``vrfdetails.map_ip_interface`` | list | Specifies a list of valid interface names | os10 | -| ``map_ip_interface.intf_id`` | string | Specifies a valid interface name | os10 | -| ``map_ip_interface.state`` | string | Deletes VRF association in the interface if set to absent | os10 | -| ``upd_src_ip_loopback_id`` | string | Configures the source IP for any leaked route in VRF from the provided loopback ID, delete if empty string| os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Dependencies ------------- - -The *os10_vrf* role is built on modules included in the core Ansible code. These modules were added in ansible version 2.2.0 - -Example playbook ----------------- - -This example uses the *os10_vrf* role to setup a VRF and associate it to an interface. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that references the *os10_vrf* role. -*upd_src_ip_loopback_id* has an dependency with association of the interface in a VRF, and the *os10_vrf* role needs to be invoked twice with different input dictionary one for the create and one for *upd_src_ip_loopback_id*. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/os10 - os10_vrf: - vrfdetails: - - vrf_name: "os10vrf" - state: "present" - ip_route_import: - community_value: "10:20" - state: "present" - route_map_value: "test4" - ip_route_export: - community_value: "30:40" - state: "present" - route_map_value: "test3" - ipv6_route_import: - community_value: "40:50" - state: "absent" - route_map_value: "test2" - ipv6_route_export: - community_value: "60:70" - state: "absent" - route_map_value: "test2" - map_ip_interface: - - intf_id : "loopback11" - state : "present" - - os_vrf_upd_src_loopback: - vrfdetails: - - vrf_name: "os10vrf" - state: "present" - upd_src_ip_loopback_id: 11 - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_vrf - -**Simple playbook with `upd_src_ip_loopback_id` — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_vrf - - hosts: leaf1 - vars: - os10_vrf: "{{ os_vrf_upd_src_loopback }}" - roles: - - dellemc.os10.os10_vrf - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_vrrp.md b/ansible_collections/dellemc/os10/docs/os10_vrrp.md deleted file mode 100644 index 299166bff..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_vrrp.md +++ /dev/null @@ -1,139 +0,0 @@ -VRRP role -========= - -This role facilitates configuring virtual router redundancy protocol (VRRP) attributes. It supports the creation of VRRP groups for interfaces and setting the VRRP group attributes. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The VRRP role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- `os10_vrrp` (dictionary) holds a dictionary with the interface name key -- Interface name can correspond to any of the valid OS10 interface with a unique interface identifier name -- Physical interfaces names must be in *<interfacename> <tuple>* format (for example *fortyGigE 1/1*) -- Variables and values are case-sensitive - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``vrrp`` | dictionary | Configures VRRP commands (see ``vrrp.*``) | os10 | -| ``version`` | dictionary | Configures VRRP version | os10 | -| ``vrrp_active_active_mode`` | dictionary | Configures VRRP active-active mode | os10 | -| ``delay_reload`` | integer | Configures the minimum delay timer applied after boot (0 to 900) | os10 | -| ``vrrp_group`` | list | Configures VRRP group commands (see ``vrrp_group.*``) | os10 | -| ``vrrp_group.type`` | string: ipv6,ipv4 | Specifies the type of the VRRP group | os10 | -| ``vrrp_group.group_id`` | integer (required) | Configures the ID for the VRRP group (1 to 255) | os10 | -| ``vrrp_group.virtual_address`` | string | Configures a virtual-address to the VRRP group (A.B.C.D format) | os10 | -| ``virtual_address.ip`` | string | Configures a virtual ip address (A.B.C.D format) | os10 | -| ``virtual_address.state`` | string: present\*,absent | Configures/unconfigures a virtual-address (A.B.C.D format) | os10 | -| ``vrrp_group.preempt`` | boolean: true\*,false | Configures preempt mode on the VRRP group | os10 | -| ``vrrp_group.priority`` |integer | Configures priority for the VRRP group (1 to 255; default 100) | os10 | -| ``vrrp_group.adv_interval_centisecs`` | integer | Configures the advertisement interval for the VRRP group in centiseconds (25 to 4075; default 100) and in multiple of 25; centisecs gets converted into seconds in version 2 | os10 | -| ``vrrp_group.track_interface`` | list | Configures the track interface of the VRRP group (see ``track.*``) | os10 | -| ``track_interface.resource_id`` | integer | Configures the object tracking resource ID of the VRRP group; mutually exclusive with *track.interface* | os10 | -| ``track_interface.interface`` | string | Configures the track interface of the VRRP group (<interface name> <interface number> format) | os10 | -| ``track_interface.priority_cost`` | integer | Configures the priority cost for track interface of the VRRP group (1 to 254; default 10) | os10 | -| ``track_interface.state`` | string: present\*,absent | Deletes the specific track interface from the VRRP group if set to absent | os10 | -| ``vrrp_group.track_interface.state`` | string: present*,absent | Deletes all track interfaces from the VRRP group if set to absent | os10 | -| ``vrrp_group.state`` | string: present\*,absent | Deletes the VRRP group from the interface if set to absent | os10 | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories, or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_vrrp* role to configure VRRP commands at the interfaces. It creates a *hosts* file with the switch details and corresponding variables. The hosts file should define the `ansible_network_os` variable with corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. It writes a simple playbook that only references the *os10_vrrp* role. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - os10_vrrp: - vrrp: - delay_reload: 2 - version: 3 - ethernet1/1/1: - vrrp_group: - - group_id: 2 - type: ipv6 - priority: 120 - preempt: false - track_interface: - - resource_id: 3 - priority_cost: 25 - state: present - virtual_address: - - ip: 2001:4828:5808:ffa3::9 - state: present - - ip: 3001:4828:5808:ffa3::9 - state: present - - ip: 4001:4828:5808:ffa3::9 - state: absent - adv_interval_centisecs: 200 - state: present - - group_id: 4 - virtual_address: - - ip: 4.1.1.1 - state: present - - ip: 4.1.1.2 - state: present - - ip: 4.1.1.3 - state: absent - priority: 120 - preempt: false - track_interface: - - resource_id: 3 - priority_cost: 25 - state: present - adv_interval_centisecs: 200 - state: present - vlan100: - vrrp_active_active_mode: true - -> **NOTE**: Interface VRRP cannot exist with L2 modes and can be configured using the *os10_interface* role. - -**Simple playbook to setup system — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_vrrp - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_vxlan.md b/ansible_collections/dellemc/os10/docs/os10_vxlan.md deleted file mode 100644 index 09b23bb36..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_vxlan.md +++ /dev/null @@ -1,259 +0,0 @@ -VxLAN role -======== - -This role facilitates the configuration of virtual extensible LAN (VxLAN) attributes. It supports the configuration of virtual networks, Ethernet virtual private network (EVPN), and network virtualization edge (NVE). This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The VxLAN role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, it generates the role configuration commands in a file -- Any role variable with a corresponding state variable setting to absent negates the configuration of that variable -- Setting an empty value for any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**os10_vxlan keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|-----------------------| -| ``anycast_gateway_mac`` | string | Configures an anycast gateway IP address for a VxLAN virtual network | os10 | -| ``loopback`` | dictionary | Configures the loopback interface (see ``loopback.*``) | os10 | -| ``loopback.loopback_id`` | integer | Configures the loopback interface number (0 to 16383) | os10 | -| ``loopback.description`` | string | Configures the interface description | os10 | -| ``loopback.ip_address`` | string | Configure the IP address | os10 | -| ``loopback.state`` | string: absent,present\* | Removes loopback interface if set to absent | os10 | -| ``nve`` | dictionary | Configures network virtualization edge (see ``nve.*``) | os10 | -| ``nve.source_interface`` | integer | Configures source loopback interface | os10 | -| ``nve.controller`` | dictionary | Configures controller; supports only one controller connection at a time (see ``controller.*``) | os10 | -| ``controller.name`` | string: NSX, ovsdb | Configures the NVE controller | os10 | -| ``controller.max_backoff`` | integer | Configures max_backoff value (setting an empty value negates the corresponding configuration) | os10 | -| ``controller.control_cfg`` | list | Configures the controller IP and port (see ``control_cfg.*``) | os10 | -| ``control_cfg.ip_addr`` | string | Configures the controller IP | os10 | -| ``control_cfg.port`` | integer | Configures the controller port | os10 | -| ``control_cfg.state`` | string: absent,present\* | Removes the controller IP and port configuration if set to absent | os10 | -| ``controller.state`` | string: absent,present\* | Removes the controller if set to absent | os10 | -| ``nve.state`` | string: absent,present\* | Removes the NVE if set to absent | os10 | -| ``evpn`` | dictionary | Enables EVPN in control plane (see ``evpn.*``) | os10 | -| ``evpn.autoevi`` | boolean: True, False | Configures auto-EVI; no further manual configuration is allowed in auto-EVI mode | os10 | -| ``evpn.rmac`` | string | Configures router MAC address | os10 | -| ``evpn.evi`` | list | Configures EVPN instance (see ``evi.*``)| os10 | -| ``evpn.dis_rt_asn`` | boolean | Enables/disables AS number usage in route target | os10 | -| ``evpn.vrf`` | dictionary | Enables VRF for EVPN| os10 | -| ``vrf.name`` | string | Configures VRF name | os10 | -| ``vrf.state`` | string(present,absent) | Configures/removes VRF for EVPN | os10 | -| ``vrf.vni`` | integer | Configures VNI for the VRF | os10 | -| ``vrf.rd`` | string | Configures RD for the VRF | os10 | -| ``vrf.route_target`` | dictionary | Enables route target for the VRF | os10 | -| ``route_target.type`` | string (manual, auto) | Configures the route target type | os10 | -| ``route_target.asn_value`` | string | Configure AS number | os10 | -| ``route_target.state`` | string (present,absent) | Configures/unconfigures the route target | os10 | -| ``route_target.route_target_type`` | string | Configures the route target type | os10 | -| ``vrf.adv_ipv4`` | dictionary | Enables IPv4 advertisement VRF | os10 | -| ``adv_ipv4.type`` | string | Configures IPv4 advertisement type | os10 | -| ``adv_ipv4.rmap_name`` | string | Configures route-map for advertisement | os10 | -| ``adv_ipv4.unconfig`` | boolean | Configures/unconfigures route-map for advertisement | os10 | -| ``evi.id`` | integer | Configures the EVPN instance ID (1 to 65535) | os10 | -| ``evi.rd`` | string | Configures the route distinguisher | os10 | -| ``evi.vni`` | dictionary | Configures VNI value (see ``vni.*``) | os10 | -| ``vni.id`` | integer | Configures VNI value; configure the same VNI value configured for the VxLAN virtual network | os10 | -| ``vni.state`` | string: absent,present\* | Removes the VNI if set to absent | os10 | -| ``evi.route_target`` | list | Configures route target (see ``route_target.*``) | os10 | -| ``route_target.type`` | string: manual,auto | Configures the route target (auto mode auto-configures an import and export value for EVPN routes) | os10 | -| ``route_target.asn_value`` | string | Configures the route target ASN value | os10 | -| ``route_target.route_target_type`` | string: import,export,both | Configures the route target type | os10 | -| ``route_target.state`` | string: absent,present\* | Removes the route target if set to absent | os10 | -| ``evi.state`` | string: absent,present\* | Removes EVPN instance ID if set to absent | os10 | -| ``evpn.state`` | string: absent,present\* | Removes the EVPN configuration if set to absent | os10 | -| ``virtual_network`` | dictionary | Configures the virtual network attributes (see ``virtual_network.*``) | os10 | -| ``virtual_network.untagged_vlan`` | integer | Configures the reserved untagged VLAN ID (1 to 4093) | os10 | -| ``virtual_network.virtual_net`` | list | Configures the virtual network attributes for VxLAN tunneling (see ``virtual_net.*``) | os10 | -| ``virtual_net.id`` | integer | Configures a virtual network ( virtual-network ID, from 1 to 65535) | os10 | -| ``virtual_net.description`` | string | Configures the description for virtual network | os10 | -| ``virtual_net.vlt_vlan_id`` | integer | Configures the VLTi VLAN ID | os10 | -| ``virtual_net.member_interface`` | list | Configures the trunk member interface attributes to the virtual network (see ``member_interface.*``) | os10 | -| ``member_interface.ifname`` | string | Configures interface name to provision the virtual network member interface | os10 | -| ``member_interface.type`` | string: tagged,untagged | Configures the type to provision the virtual network member interface | os10 | -| ``member_interface.vlanid`` | integer | Configures the VLAN ID to provision the virtual network member interface | os10 | -| ``member_interface.state`` | string: absent,present\* | Removes the virtual network member interface if set to absent | os10 | -| ``virtual_net.vxlan_vni`` | dictionary | Configures the VxLAN attributes to virtual network (see ``vxlan_vni.*``) | os10 | -| ``vxlan_vni.id`` | integer | Configures the VxLAN ID to a virtual network | os10 | -| ``vxlan_vni.remote_endpoint`` | list | Configures the IP address of a remote tunnel endpoint in a VxLAN network (see ``remote_endpoint.*``) | os10 | -| ``remote_endpoint.ip`` | string | Configures the IP address of a remote tunnel endpoint (1.1.1.1) | os10 | -| ``remote_endpoint.state`` | string: absent,present\* | Removes the remote tunnel endpoint in a VxLAN network if set to absent | os10 | -| ``vxlan_vni.state`` | string: absent,present\* | Removes the VxLAN ID if set to absent | os10 | -| ``virtual_net.state`` | string: absent,present\* | Removes a virtual network if set to absent | os10 | -| ``vlan_association`` | list | Configures the VLAN association with virtual network (see ``vlan_association.*``) | os10 | -| ``vlan_association.vlan_id`` | integer | Specifies the VLAN ID | os10 | -| ``vlan_association.virtual_net`` | integer | Specifies the virtual netwrok ID which is to be associated with VLAN | os10 | - - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory, or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-----------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOME` environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_vxlan* role to configure the VxLAN network, source IP address on VxLAN tunnel endpoint and virtual networks. It creates a *hosts* file with the switch details, a *host_vars* file with connection variables and the corresponding role variables. The hosts file should define the ansible_network_os variable with the corresponding Dell EMC OS10 name. - -When `os10_cfg_generate` is set to true, the variable generates the configuration commands as a .part file in *build_dir* path. By default, the variable is set to false. This example writes a simple playbook that only references the *os10_vxlan* role. - -**Sample hosts file** - - leaf1 ansible_host= <ip_address> - -**Sample host_vars/leaf1** - - hostname: leaf1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/os10 - - os10_vxlan: - anycast_gateway_mac: "00:22:33:44:55:66" - loopback: - loopback_id: 10 - description: "HARDWARE_VXLAN" - ip_address: "10.8.0.1/32" - state: "present" - nve: - source_interface: 10 - controller: - name: "ovsdb" - max_backoff: 2000 - control_cfg: - - ip_addr: "1.2.3.4" - port: 30 - state: "present" - state: "present" - state: "present" - evpn: - autoevi: False - evi: - - id: 111 - rd: "auto" - vni: - id: 111 - state: "present" - route_target: - - type: "manual" - asn_value: "111:111" - route_target_type: "both" - state: "present" - - type: "manual" - asn_value: "11:11" - route_target_type: "export" - state: "present" - state: "present" - - id: 222 - rd: "2.2.2.2:222" - vni: - id: 222 - state: "present" - route_target: - - type: "auto" - asn_value: - route_target_type: - state: "present" - state: "present" - vrf: - - name: "test" - vni: 1000 - adv_ipv4: - - type: "connected" - state: "present" - - type: "bgp" - state: "present" - route_target: - - type: "manual" - asn_value: "65530:65534" - route_target_type: "both" - state: "present" - - name: "blue" - state: "absent" - rmac: 00:11:11:11:11:11 - dis_rt_asn: "true" - state: "present" - virtual_network: - untagged_vlan: 1001 - virtual_net: - - id: 111 - description: "NSX_Cluster_VNI_111" - vlt_vlan_id: 11 - member_interface: - - ifname: "ethernet 1/1/15" - type: "tagged" - vlanid: 15 - state: "present" - - ifname: "port-channel 12" - type: "tagged" - vlanid: 11 - state: "present" - vxlan_vni: - id: 111 - remote_endpoint: - - ip: "1.1.1.1" - state: "present" - - ip: "11.11.11.11" - state: "present" - - ip: "111.111.111.111" - state: "present" - state: "present" - state: "present" - - id: 222 - description: "NSX_Cluster_VNI_222" - vlt_vlan_id: 22 - member_interface: - - ifname: "ethernet 1/1/16" - type: "tagged" - vlanid: 16 - state: "present" - vxlan_vni: - id: 222 - remote_endpoint: - - ip: "2.2.2.2" - state: "present" - - ip: "22.22.22.22" - state: "present" - state: "present" - state: "present" - vlan_association: - - vlain_id: 111 - virtual_net: 111 - -> **NOTE**: Member interfaces should be in switchport trunk mode which can be configured using the *os10_interface* role. - -**Simple playbook to configure VxLAN — leaf.yaml** - - - hosts: leaf1 - roles: - - dellemc.os10.os10_vxlan - -**Run** - - ansible-playbook -i hosts leaf.yaml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/os10_xstp.md b/ansible_collections/dellemc/os10/docs/os10_xstp.md deleted file mode 100644 index 0dd919b27..000000000 --- a/ansible_collections/dellemc/os10/docs/os10_xstp.md +++ /dev/null @@ -1,196 +0,0 @@ -# xSTP role - -This role facilitates the configuration of xSTP attributes. It supports multiple version of spanning-tree protocol (STP), rapid spanning-tree (RSTP), rapid per-VLAN spanning-tree (Rapid PVST+), multiple spanning-tree (MST), and per-VLAN spanning-tree (PVST). It supports the configuration of bridge priority, enabling and disabling spanning-tree, creating and deleting instances, and mapping virtual LAN (VLAN) to instances. This role is abstracted for Dell EMC PowerSwitch platforms running Dell EMC SmartFabric OS10. - -The xSTP role requires an SSH connection for connectivity to a Dell EMC SmartFabric OS10 device. You can use any of the built-in OS connection variables. - -Role variables --------------- - -- Role is abstracted using the `ansible_network_os` variable that can take `dellemc.os10.os10` as the value -- If `os10_cfg_generate` is set to true, the variable generates the role configuration commands in a file -- `os10_xstp` (dictionary) contains the hostname (dictionary) -- Hostname is the value of the *hostname* variable that corresponds to the name of the device -- Any role variable with a corresponding state variable set to absent negates the configuration of that variable -- Setting an empty value to any variable negates the corresponding configuration -- Variables and values are case-sensitive - -**hostname keys** - -| Key | Type | Description | Support | -|------------|---------------------------|---------------------------------------------------------|----------------------| -| ``type`` | string (required) | Configures the type of spanning-tree mode specified that can vary according to the device including RSTP, rapid-PVST, and MST | os10 | -| ``enable`` | boolean: true,false | Enables/disables the spanning-tree protocol specified in the type variable | os10 | -| ``mac_flush_timer`` | integer | Configures the mac_flush_timer value (0 to 500) | os10 | -| ``rstp`` | dictionary | Configures rapid spanning-tree (see ``rstp.*``) | os10 | -| ``rstp.bridge_priority`` | integer | Configures bridge-priority for the spanning-tree (0 to 61440 in multiples of 4096) | os10 | -| ``rstp.max_age`` | integer | Configures the max_age timer for RSTP (6 to 40) | os10 | -| ``rstp.hello_time`` | integer | Configures the hello-time for RSTP (1 to 10) | os10 | -| ``rstp.forward_time`` | integer | Configures the forward-time for RSTP (4 to 30) | os10 | -| ``rstp.force_version`` | string: stp | Configures the force version for the BPDUs transmitted by RSTP | os10 | -| ``rstp.mac_flush_threshold`` | integer | Configures the MAC flush threshold for RSTP (1 to 65535) | os10 | -| ``pvst`` | dictionary | Configures per-VLAN spanning-tree protocol (see ``pvst.*``) | os10 | -| ``pvst.vlan`` | list | Configures the VLAN for PVST (see ``vlan.*``) | os10 | -| ``vlan.range_or_id`` | string | Configures a VLAN/range of VLANs for the per-VLAN spanning-tree protocol | os10 | -| ``vlan.max_age`` | integer | Configures the max_age timer for a VLAN (6 to 40) | os10 | -| ``vlan.hello_time`` | integer | Configures the hello-time for a VLAN (1 to 10) | os10 | -| ``vlan.forward_time`` | integer | Configures the forward-time for a VLAN (4 to 30) | os10 | -| ``vlan.enable`` | boolean: true,false | Enables/disables spanning-tree for the associated VLAN range_or_id | os10 | -| ``vlan.mac_flush_threshold`` | integer | Configures the MAC flush threshold for a VLAN (1 to 65535) | os10 | -| ``vlan.root`` | string: primary,secondary | Designates the primary or secondary root for the associated VLAN range_or_id; mutually exclusive with *vlan.bridge_priority* | os10 | -| ``vlan.bridge_priority`` | integer | Configures bridge-priority for the per-VLAN spanning-tree (0 to 61440 in multiples of 4096); mutually exclusive with *vlan.root* | os10 | -| ``mstp`` | dictionary | Configures multiple spanning-tree protocol (see ``mstp.*``) | os10 | -| ``mstp.max_age`` | integer | Configures the max_age timer for MSTP (6 to 40) | os10 | -| ``mstp.max_hops`` | integer | Configures the max-hops for MSTP (6 to 40) | os10 | -| ``mstp.hello_time`` | integer | Configures the hello-time for MSTP (1 to 10) | os10 | -| ``mstp.forward_time`` | integer | Configures the forward-time for MSTP (4 to 30) | os10 | -| ``mstp.force_version`` | string: stp,rstp | Configures the force-version for the BPDUs transmitted by MSTP | os10 | -| ``mstp.mstp_instances`` | list | Configures a MSTP instance (see ``mstp_instances.*``) | os10 | -| ``mstp_instances.number_or_range`` | integer | Configures the multiple spanning-tree instance number| os10 | -| ``mstp_instances.bridge_priority`` | integer | Configures the bridge-priority for the spanning-tree (0 to 61440 in multiples of 4096); mutually exclusive with *mstp_instances.root* | os10 | -| ``mstp_instances.enable`` | boolean: true,false | Enables/disables spanning-tree for the associated MSTP instance | os10 | -| ``mstp_instances.mac_flush_threshold`` | integer | Configures the MAC flush-threshold for an MSTP instance (1 to 65535) | os10 | -| ``mstp_instances.root`` | string: primary,secondary | Designates the primary or secondary root for the associated MSTP instance; mutually exclusive with *mstp_instances.bridge_priority* | os10 | -| ``mstp.mst_config`` | dictionary | Configures multiple spanning-tree (see ``mstp.mst_config.*``); supported | os10 | -| ``mst_config.name`` | string | Configures the name which is specified for the MSTP | os10 | -| ``mst_config.revision`` | integer | Configures the revision number for MSTP | os10 | -| ``mst_config.cfg_list`` | list | Configures the multiple spanning-tree list (see ``mst_config.cfg_list.*``) | os10 | -| ``cfg_list.number`` | integer | Specifies the MSTP instance number | os10 | -| ``cfg_list.vlans`` | string | Configures a VLAN/range of VLANs by mapping it to an instance number | os10 | -| ``cfg_list.vlans_state`` | string: absent,present\* | Deletes a set of VLANs mapped to the spanning-tree instance if set to absent | os10 | -| ``intf`` | list | Configures multiple spanning-tree in an interface (see ``intf.*``) | os10 | -| ``intf <interface name>``| dictionary | Configures the interface name (see ``intf.<interface name>.*``) | os10 | -| ``intf.<interface name>.edge_port`` | boolean: true,false | Configures the EdgePort as dynamic if set to true | os10 | -| ``intf.<interface name>.bpdu_filter``| boolean: true,false | Enables/disables bpdufilter at the interface | os10 | -| ``intf.<interface name>.bpdu_guard``| boolean: true,false | Enables/disables bpduguard at the interface | os10 | -| ``intf.<interface name>.guard``| string: loop,root,none | Configures guard on the interface | os10 | -| ``intf.<interface name>.enable`` | boolean: true,false | Enables/disables spanning-tree at the interface level | os10 | -| ``intf.<interface name>.link_type``| string: auto,point-to-point,shared | Configures the link type at the interface | os10 | -| ``intf.<interface name>.rstp`` | dictionary | Configures the RSTP interface name (see ``intf.<interface name>.rstp.*``) | os10 | -| ``rstp.priority``| integer | Configures the RSTP priority value at the interface | os10 | -| ``rstp.cost`` | integer | Configures the RSTP cost value at the interface | os10 | -| ``intf.<interface name>.msti`` | list | Configures the MSTi interface name (see ``intf.<interface name>.msti``) | os10 | -| ``msti.instance_number`` | integer or range | Specifies the MSTP instance number or range | os10 | -| ``msti.priority`` | integer | Specifies the priority value to be configured at the interface | os10 | -| ``msti.cost`` | integer | Specifies the cost value to be configured at the interface | os10 | -| ``intf.<interface name>.vlan`` | list | Configures the VLAN interface name (see ``intf.<interface name>.vlan``) | os10 | -| ``vlan.range_or_id`` | integer or range | Specifies the VLAN ID or range | os10 | -| ``vlan.priority`` | integer | Specifies the priority value to be configured at the interface | os10 | -| ``vlan.cost`` | integer | Specifies the cost value to be configured at the interface | os10 | - -> **NOTE**: Asterisk (_*_) denotes the default value if none is specified. - -Connection variables --------------------- - -Ansible Dell EMC network roles require connection information to establish communication with the nodes in your inventory. This information can exist in the Ansible *group_vars* or *host_vars* directories or inventory or in the playbook itself. - -| Key | Required | Choices | Description | -|-------------|----------|------------|-------------------------------------------------------| -| ``ansible_host`` | yes | | Specifies the hostname or address for connecting to the remote device over the specified transport | -| ``ansible_port`` | no | | Specifies the port used to build the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_PORT` option is used; it defaults to 22 | -| ``ansible_ssh_user`` | no | | Specifies the username that authenticates the CLI login for the connection to the remote device; if value is unspecified, the `ANSIBLE_REMOTE_USER` environment variable value is used | -| ``ansible_ssh_pass`` | no | | Specifies the password that authenticates the connection to the remote device | -| ``ansible_become`` | no | yes, no\* | Instructs the module to enter privileged mode on the remote device before sending any commands; if value is unspecified, the `ANSIBLE_BECOM`E environment variable value is used, and the device attempts to execute all commands in non-privileged mode | -| ``ansible_become_method`` | no | enable, sudo\* | Instructs the module to allow the become method to be specified for handling privilege escalation; if value is unspecified, the `ANSIBLE_BECOME_METHOD` environment variable value is used | -| ``ansible_become_pass`` | no | | Specifies the password to use if required to enter privileged mode on the remote device; if ``ansible_become`` is set to no this key is not applicable | -| ``ansible_network_os`` | yes | os10, null\* | Loads the correct terminal and cliconf plugins to communicate with the remote device | - -> **NOTE**: Asterisk (\*) denotes the default value if none is specified. - - -Example playbook ----------------- - -This example uses the *os10_xstp* role to configure different variants of spanning-tree. Based on the type of STP and defined objects, VLANs are associated and bridge priorities are assigned. It creates a *hosts* file with the switch details, and a *host_vars* file with connection variables. The corresponding role variables are defined in the *vars/main.yml* file at the role path. - -It writes a simple playbook that only references the *os10_xstp* role. By including the role, you automatically get access to all of the tasks to configure xSTP. - -**Sample hosts file** - - spine1 ansible_host= <ip_address> - -**Sample host_vars/spine1** - - hostname: spine1 - ansible_become: yes - ansible_become_method: xxxxx - ansible_become_pass: xxxxx - ansible_ssh_user: xxxxx - ansible_ssh_pass: xxxxx - ansible_network_os: dellemc.os10.os10 - build_dir: ../temp/temp_os10 - -**Sample vars/main.yml** - - os10_xstp: - type: rstp - enable: true - path_cost: true - mac_flush_timer: 4 - rstp: - max_age: 6 - hello_time: 7 - forward_time: 7 - force_version: stp - bridge_priority: 4096 - mac_flush_threshold: 5 - pvst: - vlan: - - range_or_id: 10 - max_age: 6 - enable: true - hello_time: 7 - forward_time: 7 - bridge_priority: 4096 - mac_flush_threshold: 9 - mstp: - max_age: 6 - max_hops: 6 - hello_time: 7 - forward_time: 7 - force_version: stp - mstp_instances: - - number_or_range: 1 - enable: true - mac_flush_threshold: 9 - bridge_priority: 4096 - mst_config: - name: cfg1 - revision: 5 - cfg_list: - - number: 1 - vlans: 10,12 - vlans_state: present - intf: - ethernet 1/1/8: - edge_port: true - bpdu_filter: true - bpdu_guard: true - guard: loop - enable: true - link_type: point-to-point - msti: - - instance_number: 1 - priority: 32 - cost: 1 - rstp: - priority: 32 - cost: 7 - vlan: - - range_or_id: 6 - priority: 16 - cost: 8 - - -**Simple playbook to setup system — spine.yml** - - - hosts: spine - roles: - - dellemc.os10.os10_xstp - -**Run** - - ansible-playbook -i hosts spine.yml - -(c) 2017-2020 Dell Inc. or its subsidiaries. All rights reserved. diff --git a/ansible_collections/dellemc/os10/docs/roles.rst b/ansible_collections/dellemc/os10/docs/roles.rst deleted file mode 100644 index 12e372128..000000000 --- a/ansible_collections/dellemc/os10/docs/roles.rst +++ /dev/null @@ -1,193 +0,0 @@ -############################################################## -Ansible Network Collection Roles for Dell EMC SmartFabric OS10 -############################################################## - -The roles facilitate provisioning of devices running Dell EMC SmartFabric OS10. This document describes each of the roles. - -AAA role --------- - -The `os10_aaa <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_aaa/README.md>`_ role facilitates the configuration of Authentication Authorization and Accounting (AAA), and supports the configuration of TACACS and RADIUS server and AAA. - - -ACL role --------- - -The `os10_acl <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_acl/README.md>`_ role facilitates the configuration of Access Control lists. It supports the configuration of different types of ACLs (standard and extended) for both IPv4 and IPv6, and assigns the access-class to line terminals. - - -BFD role --------- - -The `os10_bfd <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_bfd/README.md>`_ role facilitates the configuration of BFD global attributes. It specifically enables configuration of BFD interval , min_rx, multiplier, and role. - - -BGP role --------- - -The `os10_bgp <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_bgp/README.md>`_ role facilitates the configuration of border gateway protocol (BGP) attributes, and supports router ID, networks, neighbors, and maximum path configurations. - - -Copy configuration role ------------------------ - -The `os10_copy_config <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_copy_config/README.md>`_ role pushes the backup running configuration into a device. This role merges the configuration in the template file with the running configuration of the Dell EMC Networking OS10 device. - - -DNS role --------- - -The `os10_dns <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_dns/README.md>`_ role facilitates the configuration of domain name service (DNS). - - -ECMP role ---------- - -The `os10_ecmp <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_ecmp/README.md>`_ role facilitates the configuration of equal cost multi-path (ECMP). It supports the configuration of ECMP for IPv4. - - -Fabric-summary role -------------------- - -The `os10_fabric_summary <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_fabric_summary/README.md>`_ role facilitates to get show system information of all the switches in the fabric. - - -Flow-monitor role ------------------ - -The `os10_flow_monitor <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_flow_monitor/README.md>`_ role facilitates the configuration of ACL flow-based monitoring attributes. In Flow-based mirroring, the ingress traffic, matching the specified policies are mirrored to a destination port. Port-based mirroring maintains a database that contains all monitoring sessions, including port monitor sessions. - - -Image-upgrade role ------------------- - -The `os10_image_upgrade <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_image_upgrade/README.md>`_ role facilitates installation of OS10 software images. - - -Interface role --------------- - -The `os10_interface <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_interface/README.md>`_ role facilitates the configuration of interface attributes. It supports the configuration of administrative state, description, MTU, IP address, IP helper, and port mode. - - -LAG role --------- - -The `os10_lag <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_lag/README.md>`_ role facilitates the configuration of link aggregation group (LAG) attributes. This role supports the creation and deletion of a LAG and its member ports, and supports the configuration of type (static/dynamic), hash scheme, and minimum required link. - - -LLDP role ---------- - -The `os10_lldp <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_lldp/README.md>`_ role facilitates the configuration of link layer discovery protocol (LLDP) attributes at global and interface level. This role supports the configuration of hello, mode, multiplier, advertise tlvs, management interface, fcoe, iscsi at global and interface levels. - - -Logging role ------------- - -The `os10_logging <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_logging/README.md>`_ role facilitates the configuration of global logging attributes, and supports the configuration of logging servers. - - -Network-Validation role ------------------------ - -The `os10_network_validation <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_network_validation/README.md>`_ role facilitates to verify the Networks. It validates networking features of wiring connection, BGP neighbors, MTU between neighbors and VLT pair. - - -NTP role --------- - -The `os10_ntp <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_ntp/README.md>`_ role facilitates the configuration of network time protocol attributes. - - -Prefix-list role ----------------- - -The `os10_prefix_list <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_prefix_list/README.md>`_ role facilitates the configuration of a prefix-list, supports the configuration of IP prefix-list, and assigns the prefix-list to line terminals. - - -QoS role --------- - -The `os10_qos <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_qos/README.md>`_ role facilitates the configuration of quality of service attributes including policy-map and class-map. - - -RA Guard role -------------- - -The `os10_raguard <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_raguard/README.md>`_ role facilitates the configuration of IPv6 RA Guard attributes. - - -Route-map role --------------- - -The `os10_route_map <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_route_map/README.md>`_ role facilitates the configuration of route-map attributes. - - -SNMP role ---------- - -The `os10_snmp <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_snmp/README.md>`_ role facilitates the configuration of global snmp attributes. It supports the configuration of SNMP server attributes like users, group, community, location, traps, and so on. - - -System role ------------ - -The `os10_system <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_system/README.md>`_ role facilitates the configuration of global system attributes. This role specifically enables configuration of hostname and hashing algorithm for OS10. - - -TEMPLATE role -------------- - -The `os10_template <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_template/README.md>`_ role facilitates the TEXTFSM parsing engine. TextFSM is a template based state machine . It takes the raw string input from the CLI of network devices OS10, run them through a TEXTFSM template and return structured text in the form of a Python dictionary. - - -UPLINK role ------------ - -The `os10_uplink <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_uplink/README.md>`_ role facilitates the configuration of uplink attributes, and is abstracted for OS10. It specifically enables configuration of association between upstream and downstream interfaces known as uplink-state group. - - -Users role ----------- - -The `os10_users <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_users/README.md>`_ role facilitates the configuration of global system user attributes. This role supports the configuration of CLI users. - - -VLAN role ---------- - -The `os10_vlan <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_vlan/README.md>`_ role facilitates configuring virtual LAN (VLAN) attributes. This role supports the creation and deletion of a VLAN and its member ports. - - -VLT role --------- - -The `os10_vlt <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_vlt/README.md>`_ role facilitates the configuration of the basics of virtual link trunking (VLT) to provide a loop-free topology. - - -VRF role --------- - -The `os10_vrf <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_vrf/README.md>`_ role facilitates the configuration of basic virtual routing and forwarding (VRF) that helps in the partition of physical routers to multiple virtual routers. - - -VRRP role ---------- - -The `os10_vrrp <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_vrrp/README.md>`_ role facilitates configuration of virtual router redundancy protocol (VRRP) attributes. This role supports the creation of VRRP groups for interfaces, and setting the VRRP group attributes. - - -VXLAN role ----------- - -The `os10_vxlan <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_vxlan/README.md>`_ role facilitates the configuration of virtual extensible LAN (VXLAN) attributes. It supports the configuration of virtual networks, Ethernet virtual private network (EVPN), and network virtualization edge (NVE). - - -xSTP role ---------- - -The `os10_xstp <https://github.com/ansible-collections/dellemc.os10/blob/master/roles/os10_xstp/README.md>`_ role facilitates the configuration of xSTP attributes. This role supports multiple version of spanning-tree protocol (STP), rapid spanning-tree (RSTP) protocol, multiple spanning-tree (MST), and per-VLAN spanning-tree (PVST). This role supports the configuration of bridge priority, enabling and disabling spanning-tree, creating and deleting instances, and mapping virtual LAN (VLAN) to instances. - - -\(c) 2020 Dell Inc. or its subsidiaries. All Rights Reserved. |