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/cisco/nxos | |
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/cisco/nxos')
355 files changed, 22668 insertions, 19959 deletions
diff --git a/ansible_collections/cisco/nxos/.ansible-lint b/ansible_collections/cisco/nxos/.ansible-lint new file mode 100644 index 000000000..8d9bb70b8 --- /dev/null +++ b/ansible_collections/cisco/nxos/.ansible-lint @@ -0,0 +1,5 @@ +--- +profile: production + +exclude_paths: + - changelogs/changelog.yaml diff --git a/ansible_collections/cisco/nxos/.config/ansible-lint.yml b/ansible_collections/cisco/nxos/.config/ansible-lint.yml deleted file mode 100644 index a401eae2a..000000000 --- a/ansible_collections/cisco/nxos/.config/ansible-lint.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -skip_list: - - galaxy[version-incorrect] diff --git a/ansible_collections/cisco/nxos/.github/release-drafter.yml b/ansible_collections/cisco/nxos/.github/release-drafter.yml new file mode 100644 index 000000000..e3e5966e4 --- /dev/null +++ b/ansible_collections/cisco/nxos/.github/release-drafter.yml @@ -0,0 +1,3 @@ +--- +# see https://github.com/ansible-community/devtools +_extends: ansible-community/devtools diff --git a/ansible_collections/cisco/nxos/.github/workflows/ack.yml b/ansible_collections/cisco/nxos/.github/workflows/ack.yml new file mode 100644 index 000000000..fda595dc5 --- /dev/null +++ b/ansible_collections/cisco/nxos/.github/workflows/ack.yml @@ -0,0 +1,15 @@ +--- +# See https://github.com/ansible-community/devtools/blob/main/.github/workflows/ack.yml +name: ack + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +on: # yamllint disable-line rule:truthy + pull_request_target: + types: [opened, labeled, unlabeled, synchronize] + +jobs: + ack: + uses: ansible/devtools/.github/workflows/ack.yml@main diff --git a/ansible_collections/cisco/nxos/.github/workflows/codecoverage.yml b/ansible_collections/cisco/nxos/.github/workflows/codecoverage.yml index 3ed9832a7..be2018590 100644 --- a/ansible_collections/cisco/nxos/.github/workflows/codecoverage.yml +++ b/ansible_collections/cisco/nxos/.github/workflows/codecoverage.yml @@ -1,10 +1,10 @@ --- name: Code Coverage -on: +on: # yamllint disable-line rule:truthy push: pull_request: - branches: [ main ] + branches: [main] jobs: codecoverage: diff --git a/ansible_collections/cisco/nxos/.github/workflows/push.yml b/ansible_collections/cisco/nxos/.github/workflows/push.yml new file mode 100644 index 000000000..771dd857a --- /dev/null +++ b/ansible_collections/cisco/nxos/.github/workflows/push.yml @@ -0,0 +1,27 @@ +--- +# push workflow is shared and expected to perform actions after a merge happens +# on a maintenance branch (default or release). For example updating the +# draft release-notes. +# based on great work from +# https://github.com/T-Systems-MMS/ansible-collection-icinga-director +name: push + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +on: # yamllint disable-line rule:truthy + workflow_dispatch: + +env: + NAMESPACE: cisco + COLLECTION_NAME: nxos + ANSIBLE_COLLECTIONS_PATHS: ./ + +jobs: + update_release_draft: + uses: ansible/devtools/.github/workflows/push_network.yml@main + with: + repo: ansible-collections/cisco.nxos + secrets: + BOT_PAT: ${{ secrets.BOT_PAT }} diff --git a/ansible_collections/cisco/nxos/.github/workflows/release.yml b/ansible_collections/cisco/nxos/.github/workflows/release.yml new file mode 100644 index 000000000..eb04259d1 --- /dev/null +++ b/ansible_collections/cisco/nxos/.github/workflows/release.yml @@ -0,0 +1,14 @@ +--- +name: release +on: # yamllint disable-line rule:truthy + release: + types: [published] + +jobs: + release: + uses: ansible/devtools/.github/workflows/release_collection.yml@main + with: + environment: release + secrets: + ah_token: ${{ secrets.AH_TOKEN }} + ansible_galaxy_api_key: ${{ secrets.ANSIBLE_GALAXY_API_KEY }} diff --git a/ansible_collections/cisco/nxos/.github/workflows/tests.yml b/ansible_collections/cisco/nxos/.github/workflows/tests.yml index f38212efe..e9f92a2a0 100644 --- a/ansible_collections/cisco/nxos/.github/workflows/tests.yml +++ b/ansible_collections/cisco/nxos/.github/workflows/tests.yml @@ -18,7 +18,7 @@ jobs: uses: ansible-network/github_actions/.github/workflows/ansible-lint.yml@main changelog: uses: ansible-network/github_actions/.github/workflows/changelog.yml@main - if: github.event_name != 'schedule' + if: github.event_name == 'pull_request' sanity: uses: ansible-network/github_actions/.github/workflows/sanity.yml@main unit-galaxy: @@ -30,7 +30,7 @@ jobs: git+https://github.com/ansible-collections/ansible.utils.git git+https://github.com/ansible-collections/ansible.netcommon.git all_green: - if: ${{ always() && (github.event_name != 'schedule') }} + if: ${{ always() }} needs: - ansible-lint - changelog @@ -40,10 +40,11 @@ jobs: runs-on: ubuntu-latest steps: - run: >- - python -c "assert set([ + python -c "assert 'failure' not in + set([ '${{ needs.ansible-lint.result }}', '${{ needs.changelog.result }}', '${{ needs.sanity.result }}', '${{ needs.unit-galaxy.result }}', '${{ needs.unit-source.result }}' - ]) == {'success'}" + ])" diff --git a/ansible_collections/cisco/nxos/.pre-commit-config.yaml b/ansible_collections/cisco/nxos/.pre-commit-config.yaml index 08b2db27b..ac716f311 100644 --- a/ansible_collections/cisco/nxos/.pre-commit-config.yaml +++ b/ansible_collections/cisco/nxos/.pre-commit-config.yaml @@ -1,7 +1,12 @@ --- repos: + - repo: https://github.com/ansible-network/collection_prep + rev: 1.1.1 + hooks: + - id: update-docs + - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.5.0 hooks: - id: check-merge-conflict - id: check-symlinks @@ -12,28 +17,14 @@ repos: - id: trailing-whitespace - repo: https://github.com/asottile/add-trailing-comma - rev: v2.4.0 + rev: v3.1.0 hooks: - id: add-trailing-comma - repo: https://github.com/pre-commit/mirrors-prettier - rev: "v3.0.0-alpha.9-for-vscode" + rev: "v3.1.0" hooks: - id: prettier - # Original hook implementation is flaky due to *several* bugs described - # in https://github.com/prettier/prettier/issues/12364 - # a) CI=1 needed to avoid incomplete output - # b) two executions are needed because --list-different works correctly - # only when run with --check as with --write the output will also - # include other entries and logging level cannot be used to keep only - # modified files listed (any file is listed using the log level, regardless if - # is modified or not). - # c) We avoid letting pre-commit pass each filename in order to avoid - # running multiple instances in parallel. This also ensures that running - # prettier from the command line behaves identically with the pre-commit - # one. No real performance downsides. - # d) exit with the return code from list-different (0=none, 1=some) - # rather than the write (0=successfully rewrote files). pre-commit.ci entry: env CI=1 bash -c "prettier --list-different . || ec=$? && prettier --loglevel=error --write . && exit $ec" pass_filenames: false args: [] @@ -46,14 +37,9 @@ repos: hooks: - id: isort name: Sort import statements using isort + args: ["--filter-files"] - repo: https://github.com/psf/black - rev: 23.3.0 + rev: 23.11.0 hooks: - id: black - - - repo: https://github.com/ansible-network/collection_prep - rev: 1.1.1 - hooks: - - id: update-docs - - id: autoversion diff --git a/ansible_collections/cisco/nxos/CHANGELOG.rst b/ansible_collections/cisco/nxos/CHANGELOG.rst index 34a945461..a23f4bf80 100644 --- a/ansible_collections/cisco/nxos/CHANGELOG.rst +++ b/ansible_collections/cisco/nxos/CHANGELOG.rst @@ -5,6 +5,102 @@ Cisco Nxos Collection Release Notes .. contents:: Topics +v5.3.0 +====== + +Minor Changes +------------- + +- nxos_config - Relax restrictions on I(src) parameter so it can be used more like I(lines). (https://github.com/ansible-collections/cisco.nxos/issues/89). + +v5.2.1 +====== + +Bugfixes +-------- + +- nxos_acls - fix parsing of ACE with named source/dest port range (https://github.com/ansible-collections/cisco.nxos/issues/763). +- vtp_version - allow VTP version 3 to be configured (https://github.com/ansible-collections/cisco.nxos/issues/704). + +Documentation Changes +--------------------- + +- nxos_acls - update examples and use YAML output in them for better readibility. + +v5.2.0 +====== + +Minor Changes +------------- + +- Added new module fc_interfaces +- bgp_global - support remote-as as a route-map (https://github.com/ansible-collections/cisco.nxos/issues/741). +- bgp_neighbor_address_family - support rewrite-rt-asn for ipv4 mvpn (https://github.com/ansible-collections/cisco.nxos/issues/741). +- bgp_templates - Add support for safi evpn (https://github.com/ansible-collections/cisco.nxos/issues/739). +- bgp_templates - Add support for send_community (https://github.com/ansible-collections/cisco.nxos/issues/740). +- route_maps - support extcommunity rt option (https://github.com/ansible-collections/cisco.nxos/issues/743). + +Bugfixes +-------- + +- acls - Fix parsing error when ACE has a source port range (https://github.com/ansible-collections/cisco.nxos/issues/713). +- interfaces - Re-apply existing non-default MTU when changing mode to L2 (https://github.com/ansible-collections/cisco.nxos/issues/730). +- lag_interfaces - Allow force option to be idempotent (https://github.com/ansible-collections/cisco.nxos/issues/742). +- snmp_server - fix host delete when authentication options are present (https://github.com/ansible-collections/cisco.nxos/issues/439). + +Documentation Changes +--------------------- + +- Update examples for bgp_address_family resource modules using yaml callback plugin. +- Update examples for bgp_global resource modules using yaml callback plugin. +- Update examples for bgp_neighbor_address_family resource modules using yaml callback plugin. +- Update examples for bgp_templates resource modules using yaml callback plugin. +- Update examples for ospf_interfaces resource modules using yaml callback plugin. +- Update examples for ospfv2 resource modules using yaml callback plugin. +- Update examples for ospfv3 resource modules using yaml callback plugin. + +New Modules +----------- + +- nxos_fc_interfaces - Fc Interfaces resource module + +v5.1.0 +====== + +Minor Changes +------------- + +- nxos_facts - add cpu utilization data to facts. + +v5.0.0 +====== + +Major Changes +------------- + +- Refer to **Removed Features** section for details. +- This release removes four of the previously deprecated modules from this collection. + +Minor Changes +------------- + +- Add nxos_bgp_templates module. +- nxos_user - Added dev-ops role to BUILTINS (https://github.com/ansible-collections/cisco.nxos/issues/690) + +Removed Features (previously deprecated) +---------------------------------------- + +- The nxos_bgp module has been removed with this release. +- The nxos_bgp_af module has been removed with this release. +- The nxos_bgp_neighbor module has been removed with this release. +- The nxos_bgp_neighbor_af module has been removed with this release. + +Bugfixes +-------- + +- nxos_static_routes - Prevent action states to generate terminal configuration command. +- nxos_static_routes - Update the delete operation of static routes to be similar to other platforms. (https://github.com/ansible-collections/cisco.nxos/issues/666) + v4.4.0 ====== diff --git a/ansible_collections/cisco/nxos/FILES.json b/ansible_collections/cisco/nxos/FILES.json index 2744dae6f..4f62ba841 100644 --- a/ansible_collections/cisco/nxos/FILES.json +++ b/ansible_collections/cisco/nxos/FILES.json @@ -8,1795 +8,1851 @@ "format": 1 }, { - "name": ".config", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "codecov.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4aa7e485dd4db6f8a55b046088c745def2b3145d9499ccda4e9a3336467dcea2", "format": 1 }, { - "name": ".config/ansible-lint.yml", + "name": "LICENSE", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fc6a1235051ecb9d79555eb292832443b84844c7b343a43cad74b0f84eeeda64", + "chksum_sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986", "format": 1 }, { - "name": ".github", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "requirements.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "70053744bf8f5b698f82ad59a6daec106188d9b63c6d1246f860f21ab8cb6ac5", "format": 1 }, { - "name": ".github/workflows", + "name": "meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": ".github/workflows/codecoverage.yml", + "name": "meta/runtime.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "de4d28c3068fb7e2cfbd5e4e1b52f4a48462b63825a8552973e4b23fe3efcc19", + "chksum_sha256": "022e45d02e5b6967bacc2ff1a60c93012a7df35561c44404c9835128e9134aeb", "format": 1 }, { - "name": ".github/workflows/tests.yml", + "name": "meta/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "84bf2baba436f19f3056bd17ae81e88ee4898b98c53bb3e168b5f6317d006c80", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": ".github/dependabot.yml", + "name": "README.md", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c4d7b4c429faafe0eb46a070eafcd3d8d84d9083b5fe72943d627b5f4ccf0dd8", + "chksum_sha256": "ea385f1a3bb47260949ad5a2ba1421a0c068d3a91574b9cce468fd4b49e48c0c", "format": 1 }, { - "name": "changelogs", + "name": "plugins", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "changelogs/fragments", + "name": "plugins/terminal", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "changelogs/fragments/.keep", + "name": "plugins/terminal/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "changelogs/changelog.yaml", + "name": "plugins/terminal/nxos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8e4fff1915942d99c7c907e9e9a832fc464580447863c27ab0cd6aaa0bc0a763", + "chksum_sha256": "e49e9c495e05b71317fa3d2c462cb085ce5827874235484d735f470e7afa5059", "format": 1 }, { - "name": "changelogs/config.yaml", + "name": "plugins/inventory", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/inventory/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "54c802c2ade537e8b71ba45d10c73a422778a62aab0093bc6805c75ab8c7f448", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs", + "name": "plugins/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "docs/cisco.nxos.nxos_aaa_server_host_module.rst", + "name": "plugins/netconf/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e8d1dc8303a82ca59e70c37d6852f8dd1ba6b002e896a9f4f2182148a6944ef7", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_aaa_server_module.rst", + "name": "plugins/netconf/nxos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ae7d06f89fb79b0ff5b7dbb41b289db70e8c602a08c1baac5b059adc72775665", + "chksum_sha256": "c00660150bfe527dd71eeeb961c9e08da9ac65faa7e1852f4737a47305e723bc", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_acl_interfaces_module.rst", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "274afa56a270c6d4b216af200a3bde7d6b964f281fe641ef4e5b0eeacb27c844", + "name": "plugins/httpapi", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "docs/cisco.nxos.nxos_acls_module.rst", + "name": "plugins/httpapi/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3c639af33944e2fcdc6ce0f44aaef9cd6b64b7c61236ef717fa7f4a3d834f591", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_banner_module.rst", + "name": "plugins/httpapi/nxos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f33242bd0d3b632cb5e97dc9ce3e6a9029060e204c87a3554aff1ed36a7d19f0", + "chksum_sha256": "acfbda7df81189f8211a3d8af3d7e567bc719328e075531c154671cd97bd92be", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_bfd_global_module.rst", + "name": "plugins/cliconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/cliconf/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1ff1d376f71be1de3dc5e97bfae1ea331e92430adb9e31b61e6fdde8da710538", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_bfd_interfaces_module.rst", + "name": "plugins/cliconf/nxos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "17874cc21b8abc82fc53aace972f6d49833e45d5c1a2cc672ebe97c5c98c2102", + "chksum_sha256": "7d4f94f69919d7d494652e191f1a5074a1022c120da62d68eb992c4879f9b505", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_bgp_address_family_module.rst", + "name": "plugins/modules", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/modules/nxos_vpc.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b91ff5dda3d550fb61dd486bfa396d88f5e8bc03f939217464bce917ff709001", + "chksum_sha256": "edd715fc9e823dbf37a31a16de8f680132e0cc9b2feea46ab073d34f8098acf5", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_bgp_af_module.rst", + "name": "plugins/modules/nxos_reboot.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b3e4f05f07e7d913da3a09ae9e2823b402ecc16fdaf08e95e6461fcd9980a996", + "chksum_sha256": "826e076559d7143fc03a3de9f0e5ec125241fd3196037f2a1a524e033e75b8de", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_bgp_global_module.rst", + "name": "plugins/modules/nxos_lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d7b87e1ab00b755725f8116bbadf7efd184156a15ee45aeb2fd9460c561d5681", + "chksum_sha256": "d74c13af260252c75c2fce4b20ac3e8d85c14d45bec8a7ea04016a448b3a8b48", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_bgp_module.rst", + "name": "plugins/modules/nxos_nxapi.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b3aa47e9c32d1868a23114eff19e0b045bf605408a6e5ea09092c1f1af2acaed", + "chksum_sha256": "cf44a3e80959a805238202c49a5a639d6a1ecf5f6d8191b93b3f6db314a80c15", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_bgp_neighbor_address_family_module.rst", + "name": "plugins/modules/nxos_logging.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ac28fda3bd181db95bfcd860d8cdc2c7264c7a7a9bd034be2877844f53c6cea5", + "chksum_sha256": "3a99d36431853d5cf83e4dcc3602302c2a48415123ff93066ac0fd54ed079538", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_bgp_neighbor_af_module.rst", + "name": "plugins/modules/nxos_zone_zoneset.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "73d576812d1d5ada9c5c0178480f8b9a4b4f8a0e909a64f974a5c32648e39bbc", + "chksum_sha256": "34d94bcc1af5752a00ada15b62428af97cd8ea28fe48a8b0760b90105a93ff31", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_bgp_neighbor_module.rst", + "name": "plugins/modules/nxos_snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2b0231965157b725a1b7630352e98e272cc58f59ad71c417fb3ffecac84e2965", + "chksum_sha256": "fee45cc5653eb0c0148e2213a8d2de129410f2a001496d684b2538c3a8e294f9", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_cliconf.rst", + "name": "plugins/modules/nxos_vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "546fc754b81109404a33285c90c3bba565b1a2529e00b7284609b62bb25b4d8b", + "chksum_sha256": "3d37e3cbddfb07ede884e014bcd1edaa6fb20366953c3e8de40c2872d63ea8cf", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_command_module.rst", + "name": "plugins/modules/nxos_snmp_host.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ceaf1d413d6a78bb8b3611ff936316cd03c6e6bbef6b99d95e9998695f9f3a85", + "chksum_sha256": "ae6e69d2c2af158c70e81aed0f2a6dbccca2c69033861bd697af4dba0c5183c7", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_config_module.rst", + "name": "plugins/modules/nxos_igmp_snooping.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c973074149659b0f0130eaf0a7339a039cd5d496f13cfbb4e51c59d0af957096", + "chksum_sha256": "ee94035d9f4a71393a16670f8e269064476b6da5d99071a4f23cfc253da13703", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_devicealias_module.rst", + "name": "plugins/modules/nxos_vtp_password.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4b7ad5d619f577089e5a87b5b628c6c869bd4adf86eb8e8c547b491154361dc6", + "chksum_sha256": "e6cb79ae92bdf1ab82291e4b331dfeb53b42f004a416908268380813905b8215", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_evpn_global_module.rst", + "name": "plugins/modules/nxos_snmp_location.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "993ea85ff1bf02311f55646f0c5dcadc2d216a2819b7902f43470a645d1b90d7", + "chksum_sha256": "a11d2a363173b645bdf9c8cd1cdb80e77b94d4c169069614deae90a441a1de22", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_evpn_vni_module.rst", + "name": "plugins/modules/nxos_snmp_contact.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7ab07a1a0137a0b43f2fee0160fff6af516646ec848a811a1a46e012c00cefbb", + "chksum_sha256": "936a5e9b00d8c46ed39a8818f5806971f16fc8cebd3f5106e6909b7ed8395ac1", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_facts_module.rst", + "name": "plugins/modules/nxos_vtp_domain.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bd70b6a7af989f66c15280934d332c07b93afcc7b1e106ea41ff3157ccd66f7f", + "chksum_sha256": "e76836b4b68b3c32d5a146bcb6738009872e3e69d3afffe269e50846d4a84058", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_feature_module.rst", + "name": "plugins/modules/nxos_snapshot.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e31d99494f87afad1ecdce42d483a32e523e8e978f42b1955de1f3b0033bcf80", + "chksum_sha256": "5cf9eab5ad1ae6953579860b7365ce6e6d604f69fe00389f656c63f99cb3b24f", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_file_copy_module.rst", + "name": "plugins/modules/nxos_bfd_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c38e717848ddfc093b17245d08c45e6beda5d7b1c263453ef0a43171d5008f47", + "chksum_sha256": "87e8b096568e3d9be77c6a3b26c865f06dd2f842ddef22a8ac7edd095482f664", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_gir_module.rst", + "name": "plugins/modules/nxos_vrf_af.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2969b2a880bc98f5272720086059bc55d861fc1ce00c8854c75aa061ba3aa8bf", + "chksum_sha256": "c2029b042fc0e83b5b6298dcd6242aa7f5b014653eed4e703860ba6baddb3155", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_gir_profile_management_module.rst", + "name": "plugins/modules/nxos_ntp_auth.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a61bb74ddc282c53b69e51c4b4cbad0edbe362819e4bc3e823fb2dc892052418", + "chksum_sha256": "3ebfe534e67975d2e35170269fefaadc7b9327c3d4b2c754e09bf9d61b0a744e", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_hostname_module.rst", + "name": "plugins/modules/nxos_install_os.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2cc61e3ea5053c4ee1bb14f41a85e67e4790010b7142e21bb72fcc88a5e715aa", + "chksum_sha256": "5c750b05a78eefb2b014b339ef86a02de8a1cf8daa31bc7c8e68ccdd7be589c4", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_hsrp_interfaces_module.rst", + "name": "plugins/modules/nxos_vrrp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "717413f42fcf927466b00bb8a1e38f17e5e7391794b8a7431edf822a7a71da9d", + "chksum_sha256": "a261501d6200ac9685d544c2dd29f284377da8592864f7ad26e74ef4e55d5567", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_hsrp_module.rst", + "name": "plugins/modules/nxos_vpc_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "41fd5b3b6c57a33c8ce81d03798b35d598496b89d13327c18dfe27dedaf99ae4", + "chksum_sha256": "7361c2f7afeaedada1c42037a5f54d16b934ef5993f155819e0edb731c21de1f", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_httpapi.rst", + "name": "plugins/modules/nxos_user.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eb7f6fd0b46ad4b478746f0518b8d443e541f44ba8d77f999a42a760671ea015", + "chksum_sha256": "f4dfc0cd9bc2a5d54075d68829c8129792633525fae273a4185710584b563981", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_igmp_interface_module.rst", + "name": "plugins/modules/nxos_command.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1e6eb10d1c630069ea01a42ae07b033d7c7b5aa72fa3a758a74805dc59b6688a", + "chksum_sha256": "5fd4119bed0074064b1158cbb231f3e2277576902d6fa9fb5bc42cc6ffd09d48", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_igmp_module.rst", + "name": "plugins/modules/nxos_hsrp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9f12f1c5cb360aa1634964c6343e14141cfce7fc49e37e0062c2957b20459399", + "chksum_sha256": "9dd94e0d4d52a8ac424b30ec631b550f2438af36e3109c2da875d89a74f65d9e", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_igmp_snooping_module.rst", + "name": "plugins/modules/nxos_aaa_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a31b9e7cac6c66069bc1b9a46fbf4f3e778fec3cdbdb55f4b6d672abeaf7d795", + "chksum_sha256": "c7d0ba90c00bef7d014ca922ce5e66ea10fe116bb9af88bfdf671402527b404b", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_install_os_module.rst", + "name": "plugins/modules/nxos_ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "60aba080258dbcb6a750738a28130c662db2bdb378f5a9301974d1b35eb559a0", + "chksum_sha256": "889e9341133658eadea7cf2516361d1de0998baa8b2c08d203ea157977482530", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_interfaces_module.rst", + "name": "plugins/modules/nxos_lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ccbb66492488e26ebf3982743505a0b9fadaa7c6a63adf3d93190064d6419669", + "chksum_sha256": "485b35aeac40cd9d3dfaf18a7f5481fc14796ce054387af3dca72160677f6dd7", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_l2_interfaces_module.rst", + "name": "plugins/modules/nxos_banner.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0f0b13631588f0c4e04951537a83c446d484cc89ea73b5f3cb7472518f9524ef", + "chksum_sha256": "a98cf0828178ff3233b836f7a1d1478ad4f5020143b0a6435630737a82b4110e", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_l3_interfaces_module.rst", + "name": "plugins/modules/nxos_pim_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a3839881ddd3679d82e6376c6aab14f88f57d9b2b626414e90c1845d02f2e6df", + "chksum_sha256": "62a33fbb98411f4b017a3d884645f48f8e79049f27e0f3d87698b3bcb7f0c48c", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_lacp_interfaces_module.rst", + "name": "plugins/modules/nxos_overlay_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "34e04733378368d79deb4513e17315978468b0180b5e9c1d2e4ac863ba3ad1b1", + "chksum_sha256": "f2e7bc1eff3259825c6eae134d87e92ee922cc3fd423b63fac821c659ea891d8", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_lacp_module.rst", + "name": "plugins/modules/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ca98606849772c212376f2904f52136f883dc3950e6b604f47a5eb3ccf3acf5", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_lag_interfaces_module.rst", + "name": "plugins/modules/nxos_pim.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ef2ea1a3291066c3f7260b2247a47058a65afae30226465b6b6be9994617789", + "chksum_sha256": "a06919bdfbaab64ef58295c408def23dc36336b630e12d80a2a80e3a31a53a85", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_lldp_global_module.rst", + "name": "plugins/modules/nxos_snmp_traps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6eea3fb0198e2b8e1cfd6c5140b18c1fa1dd56f115fc38fcf17589d7f7d3787a", + "chksum_sha256": "73ef124bdd93a1b8d6d7d55870e04c99bb29cde93c0c400884f06c4972057f75", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_lldp_interfaces_module.rst", + "name": "plugins/modules/nxos_file_copy.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d351b81a44cbdf2e64c1c745af9cdd81b1a6ed89bc5b1e5d960b199a818c23c0", + "chksum_sha256": "8418e53de9a83561d6c4b60b2d5d8115863d210376acbebf4f4c41a6489cd2a5", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_logging_global_module.rst", + "name": "plugins/modules/nxos_ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "727f844d56c2eef418f10b022c0295ade96365f73b0654b00b5b586b42dfcf44", + "chksum_sha256": "07b1a4fda6c81b24e016828d5a21d49cb141cd969e32e18e7713e31206eb5afb", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_logging_module.rst", + "name": "plugins/modules/nxos_vsan.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d43af63274e03108055551c1ddf7127fe3bf869db5fd5b73bcf3e0b95bcbaea0", + "chksum_sha256": "ffc52ffc10befe666ce3cc43cac66a47a5b76ed5465cb691c888f5847a1b3468", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_netconf.rst", + "name": "plugins/modules/nxos_facts.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "da11bd9904bba75e1ca0484cf6ddc0ebcd0a2ffc12b1e9132d60f8a0bc54705c", + "chksum_sha256": "bb1ae146c9df5aac3b721750a8074dd112b0397bb50ada4cc8d7629af8e52e1c", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_ntp_auth_module.rst", + "name": "plugins/modules/nxos_hsrp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fade0c737ea69c03d4075d1ed2a53eed91225b511d5c18e8b36ce965cd53f724", + "chksum_sha256": "8e0bccf6fb0aa7ce0cbacacb8acf9821015472213a2319df618e7eef4d03a52f", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_ntp_global_module.rst", + "name": "plugins/modules/nxos_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4fce862cb2f944fdb7438e8c9796fc1138b700a4acfc3654181d589bfaa170cb", + "chksum_sha256": "e748cfa29b6be827349f09c36e08c66c5e13d53ace6aff9412ebbc49b7218234", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_ntp_module.rst", + "name": "plugins/modules/nxos_ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7a21e1c58d9ce02be1cfa7699138e3008ec4bef1aacbd137d142b22caafc7af0", + "chksum_sha256": "0eee52b5452442a4a30eb75456593d85eb35c58e80b603bd94d43951f3fec0d8", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_ntp_options_module.rst", + "name": "plugins/modules/nxos_lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "adeee3c976eeaec6027d4327f520832708c6ecdffabfd321a854c8b6b821e07b", + "chksum_sha256": "bf38b4169e3605546f6f4d7138529c1ba3effb60f74ea844f205ef2160e800c1", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_nxapi_module.rst", + "name": "plugins/modules/nxos_gir_profile_management.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7e1d3a6d1f0ab8c170068321f77ab36c1161892773c9efa90dfff711664bfdb3", + "chksum_sha256": "38cc5881a72e0809fd023188435ecae1085b0e568f06865359e65bdd49853ef8", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_ospf_interfaces_module.rst", + "name": "plugins/modules/nxos_config.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "38616f85109f117970651fe168f611ef35e04c695ff13e90d56c4a81b349c3d6", + "chksum_sha256": "4ffbbb1233a6cd3811690832fdffc2ebbdea61c291f168b04995e3ed1f8dab62", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_ospfv2_module.rst", + "name": "plugins/modules/nxos_ping.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7eec55bda25d047e88a1a0697dec6afb744ba89a41ab6107f9cdd141965628fd", + "chksum_sha256": "9d2648ff85a7fee59b9b0b099afde09e1f7f11c7e5d9f033d27a2af0953e854e", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_ospfv3_module.rst", + "name": "plugins/modules/nxos_telemetry.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eb6b7f60c89b9c2f8c7e3e226be92af3fc0c65d50ae3639786b333d0cd2fe842", + "chksum_sha256": "e518a2c46e0bd074881b5dc60092154d8a1438a26a979dae60d98411288a5247", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_overlay_global_module.rst", + "name": "plugins/modules/nxos_snmp_user.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c8362ed52554894dd979a332e946ede7fa0834c17d8980a08a282320a2a18391", + "chksum_sha256": "d16699e2fd607da804183e1fe29c6981095303d22b836f865f2046dc2c50ecf0", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_pim_interface_module.rst", + "name": "plugins/modules/nxos_vxlan_vtep_vni.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b7fa1c8e28a128af94059b3d66e3e40c97e7d748a858ff74e77a0e313641c3ff", + "chksum_sha256": "00cc8a5f8826d10b27cbea4c1523a5dc48a57d174ae7ecfd918e02d506902b80", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_pim_module.rst", + "name": "plugins/modules/nxos_udld_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f974bc3ca8293d0e60b7dd26ef3babfc02003702ea5632feee97fbba59fc59a0", + "chksum_sha256": "2346b5a0aec6682e11c7ee21cf5f77fd1b53bd4839d11a7da4e23e8378049aaa", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_pim_rp_address_module.rst", + "name": "plugins/modules/nxos_l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "94630c630affe8dedd940b41d0fcdab02712ade527964334956ca5698280d13d", + "chksum_sha256": "38db1135b557e314d88cdba25450ecf71c91d2269f2d2da9cf37d1f1229b688c", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_ping_module.rst", + "name": "plugins/modules/nxos_fc_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74122faa018ba84c3628abadef990f3888d58a72897d4b56ec41882348a12141", + "chksum_sha256": "a746fdd004b73000fb8f37565758330710a9b3012f5a4e46362a33434bcec9e7", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_prefix_lists_module.rst", + "name": "plugins/modules/nxos_igmp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e411c76a91d77aac63c31c51864f7247f91fb48226b134bbb1b2cbc29029bfa3", + "chksum_sha256": "ec8870d4fb6ecf6089717936138d43fc5fe54381994a0a7d5e8299a94f9ade67", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_reboot_module.rst", + "name": "plugins/modules/nxos_devicealias.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "194778e502ec450e673e2562baf84d459a9d844c3c3f281cd6ed2f2bc2618087", + "chksum_sha256": "24e26ab14bb905ab26db440ceec24bad795a13186ad2af2eec0325637dd3814b", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_rollback_module.rst", + "name": "plugins/modules/nxos_rollback.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "04cf041066c5d09e1a5317b7cb7cc1eb2504f0d1faeb9a28d3d59f3ae98c783f", + "chksum_sha256": "7fec43544c7cb26eb84d9cdd22e74a4f042de04943e5896fcd45a1020f003e82", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_route_maps_module.rst", + "name": "plugins/modules/nxos_acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "12865e6e3219a813ee63e0629e6e5a7c190be172966af5bdae3d87e98c130559", + "chksum_sha256": "eb0a7f4add18a48fd542770f1d96e02ccfc64653a6b99f765969419c3abdd177", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_rpm_module.rst", + "name": "plugins/modules/nxos_vrf_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e928284ecee7ed27ef75a660db2e02900d8de4cf0d255bfd31a819f4e2abe036", + "chksum_sha256": "a2876512450aa2920f88a2d408eb72cd7976ec4124a95b058d57427d0f939fb1", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_snapshot_module.rst", + "name": "plugins/modules/nxos_lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a0e3fad000d677b7f24bf64090f02742004a9cf100306a97f51aff9594fe8d9f", + "chksum_sha256": "b7bfa2021d5f29528789e26074483fdc4b98187dd3a618dcbe38e14a06439e88", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_snmp_community_module.rst", + "name": "plugins/modules/nxos_l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "273905bc36e919c6f348d146018b77d4b028457714b0f3b4b2fad6a078680fe7", + "chksum_sha256": "0e3ec947b751771f318eccdf3b086fad8ae9615deee632f00055081f594a3318", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_snmp_contact_module.rst", + "name": "plugins/modules/nxos_hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cbb715723ead144ae09062bf77f7f4a73e4a5035a81a7ecec925b00410e8579b", + "chksum_sha256": "d5e7ce46e1d1143211af0f5747253b429eaa78c68993852703861cf469ccad10", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_snmp_host_module.rst", + "name": "plugins/modules/nxos_system.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "738d6be19ec9aea9158035e6f1a2302d3484500ee9b3148e2d01628bf2f9fcdc", + "chksum_sha256": "e6797e5f93cb99da4c135b809da1eea5e9b8363caa5c49b830cd70ffbd66c1db", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_snmp_location_module.rst", + "name": "plugins/modules/nxos_vrf.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "321530eb77aa27eecab0eb6090a189eee7b9a7431cc94750c1f0f38718058d4d", + "chksum_sha256": "118fd73f988199e74b0e6d5924fe9fd2ad995da9f9c6024485b4042f234aeab8", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_snmp_server_module.rst", + "name": "plugins/modules/nxos_lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2dfc1bc683bd7bd38223bf73283e1680999597e4bbef9f73a3a93f829e1e9bce", + "chksum_sha256": "efe09b0a78ee09528820134c160e70776659f1eae9aaf8cfd713d91011cccf4b", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_snmp_traps_module.rst", + "name": "plugins/modules/nxos_aaa_server_host.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "25326502a9e485b1bfe99093b316af67686f797fb8ce8d972c9ae914d8e9da27", + "chksum_sha256": "d59827f8eb3a10657b2dab79a121d44e976b207ed70c9b39f1fa343d67f1e328", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_snmp_user_module.rst", + "name": "plugins/modules/nxos_bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0ebfbf6a1bdda73a9f3e5943dc33bbb38d636865ab213c2e79501baca180a6ef", + "chksum_sha256": "9155dc8d46358457d800c604aa29fa38137af884caf9839e5139d5cc53d69015", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_static_routes_module.rst", + "name": "plugins/modules/nxos_vxlan_vtep.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "40a273c91eb815e3bda60da36c0e49ff131757ee11038411b6286abe17bac7db", + "chksum_sha256": "9aefbaf9557a93bafc8de522a59e3246967964e658c9ee7631fa202e0b5215fa", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_system_module.rst", + "name": "plugins/modules/nxos_prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2c8e2849fa4d54b78f6e1d87d2ce57d052b37b75b8ac2739b62ad111e326b617", + "chksum_sha256": "fbc6db3871917b6239c2e37caede67c3a6f69e2c578357f5831bf74173c09bd5", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_telemetry_module.rst", + "name": "plugins/modules/nxos_udld.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2461b4210c818c4300ebd11916a38e830c129d01b644c205846e90a3e1e470c9", + "chksum_sha256": "f9d531c20f551d644be87cf218c7bf8175f531a3190c60c7a20ae281203fbe8d", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_udld_interface_module.rst", + "name": "plugins/modules/nxos_ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7786920d50729a8a8a73a20bcd0d4296af8095f52590076177511dc0c696dda5", + "chksum_sha256": "6159f7b3f74c36fdae3eff740202f9db87d92eaae9ecd0bcc69d790312daacb9", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_udld_module.rst", + "name": "plugins/modules/nxos_acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "26d0773b5cbd658f39b2c08b9949e45ae5aa8a94405c4f1ef9ed0708c682c4a3", + "chksum_sha256": "721b0093fc696b7208b679f9c640e9828874f9cf049e0fc7799d12f3c4a29786", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_user_module.rst", + "name": "plugins/modules/nxos_logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d655e1b47fea4edf25adb1fdd20fa7191ef114caaa31d5ce1c2b9edf46b1c63c", + "chksum_sha256": "ddff9047c280d4e9d13643386551dc85c161dfd3f356a486e28930d7cae28477", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_vlans_module.rst", + "name": "plugins/modules/nxos_feature.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "92873fb2eb3e2513027457a149812b55bcdb3bc05a488ff1eb448a97fcc45be0", + "chksum_sha256": "8b8a6deea08ebeae462e2fefbcc4762dd67b71bc5a5d0f51e3ea3595375888da", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_vpc_interface_module.rst", + "name": "plugins/modules/nxos_static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "941e607951f2fe1347329a6f68d9303ff04fcebedfd0792fe5ab181625e120d3", + "chksum_sha256": "af380095fd7d243c8f9509b1abd065097b0e0e0df449d9d6da4e932987992550", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_vpc_module.rst", + "name": "plugins/modules/nxos_bfd_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0aeb5a090773bcf219cb3ab181424bde284e9669ccc3ace93175b739fec4f81a", + "chksum_sha256": "e2121178e29e5e34ca77f7ed2dc78e7fdcf6ddbe7a9ab16545c39c11dc00f7ce", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_vrf_af_module.rst", + "name": "plugins/modules/nxos_evpn_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "505afd306e1f21c5940397a50a876c3a2413e197d166db33f9196dfc1b9cb677", + "chksum_sha256": "3cb0c7e66e32783f346744b3b08edd63f2d3ac82b67addb55597a19b48db7e9c", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_vrf_interface_module.rst", + "name": "plugins/modules/nxos_vtp_version.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "64296c4de9145ceec2a49e4f09b2573fd163bbe33247b395769cb6833cdd16ba", + "chksum_sha256": "2c822abea7b871b5781dcf46856c07f0214793bc3768743d45966ae5a0b6e779", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_vrf_module.rst", + "name": "plugins/modules/nxos_evpn_vni.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9e68ccbcf499b55feecf2b3c6b57f4b79b6dae43fd2671946ae3a65cd16d5ad6", + "chksum_sha256": "d4efeefbc3a4324d2b692ece1149289d2f249c8f338fc9e15d8adabf15ab71e8", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_vrrp_module.rst", + "name": "plugins/modules/nxos_ntp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "26a52da59610c540242b40091c3fc689cf5b1672a4f36084202ebba38f5589e0", + "chksum_sha256": "3d68b52173945d37cf18fa5253ab87d00efc2f77374821e8e22c82260fa04b38", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_vsan_module.rst", + "name": "plugins/modules/nxos_route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dfa3dd3cb1bb3c94e13e1d85c9df1221bd9dace01ad337346126ccca7808680a", + "chksum_sha256": "f9206f344d091d6c3bc996ee2b961b2f52611be676b3d790a257e513faad2838", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_vtp_domain_module.rst", + "name": "plugins/modules/nxos_bgp_templates.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "18a52103976ba1d930a98e0e7fa45de34d95a86ca222e59b0ffc9629585cdf6a", + "chksum_sha256": "955e3860781eef5083a0fa88e80d95803645ca485edd357b5867d3706bbc45bb", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_vtp_password_module.rst", + "name": "plugins/modules/nxos_igmp_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aba8c49ea83acf4e1ad8de779ebc06e21940537ce459b53bcfbdabdf72dacd06", + "chksum_sha256": "e971debe6199b397fefb3ebdb296851c2200f444d11bc1aec9e705e3f142dd40", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_vtp_version_module.rst", + "name": "plugins/modules/nxos_bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "57823b16afffce5792cd2d7c5f7f2ee972726ac564cb45e7c834798099685b7a", + "chksum_sha256": "2f5f28fab53dae03299c208d2e851fdd0ef1baa1deda374ea26043722c0aedd6", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_vxlan_vtep_module.rst", + "name": "plugins/modules/nxos_rpm.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "920cbc7cf6b2d9736bbeacbf6751674c6b8985af13183432f027070235ed745e", + "chksum_sha256": "e2ba7d2ec024a075a96be051996d4eba6f6e370058c6df454b89ac7c36759f58", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_vxlan_vtep_vni_module.rst", + "name": "plugins/modules/nxos_gir.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7aebad3ad5c1c53036df468c782c366a17fea865b15a189f99aff17c171e464b", + "chksum_sha256": "05675c570b78691538eaa20c62f548b41885b8db20018e5805a6ced813eaff40", "format": 1 }, { - "name": "docs/cisco.nxos.nxos_zone_zoneset_module.rst", + "name": "plugins/modules/nxos_bgp_neighbor_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7e6e8c9e520a4ae76c3532b010ea67997a01a555775c112b89d094d129999c3b", + "chksum_sha256": "a3641e84afc1182c7e1aaf3ea229317ec8e4901fdc54ffbe4bb446bb2297f50e", "format": 1 }, { - "name": "meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/nxos_ntp_options.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d569feceac1e9a09090b5e039d89cee9be55d3d3f60e8c1e63bf963c80655be7", "format": 1 }, { - "name": "meta/runtime.yml", + "name": "plugins/modules/nxos_pim_rp_address.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c320e93c80eeade24caa9bde7ecd9efb8610a24fad1260c9c3e052286d6c5d08", + "chksum_sha256": "048f2a6e71622db905600dbc6f0862564275c438ac0a401aca0b2c792605d10f", "format": 1 }, { - "name": "plugins", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/nxos_snmp_community.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4225f8c4053ec681cb9fadb841f3b0660771879e740d13858c459fedbfc5aa3c", "format": 1 }, { - "name": "plugins/action", + "name": "plugins/doc_fragments", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/aaa_server.py", + "name": "plugins/doc_fragments/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/aaa_server_host.py", + "name": "plugins/doc_fragments/nxos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "75b71c234b0886b9a8c7cb54e9b1a2de2e433f8a19608a3ba45e67037c942943", "format": 1 }, { - "name": "plugins/action/acl.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/filter", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/acl_interface.py", + "name": "plugins/filter/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/acl_interfaces.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/acls.py", + "name": "plugins/module_utils/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/banner.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/bfd_global.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/bfd_interfaces.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/rm_templates", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/bgp.py", + "name": "plugins/module_utils/network/nxos/rm_templates/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "ed671f6023709bf21f4a311d5b4d0d691d80ff73705eb81c6d20e7770da771f1", "format": 1 }, { - "name": "plugins/action/bgp_address_family.py", + "name": "plugins/module_utils/network/nxos/rm_templates/fc_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "f64b8a82076d44e2d84bb8e519e867de1be52eea91daa677a5e542f0a0d3429b", "format": 1 }, { - "name": "plugins/action/bgp_af.py", + "name": "plugins/module_utils/network/nxos/rm_templates/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "13f0286247895225a98082e385e0024eb4b177acc5d8fcadb26e3ae4df75bd25", "format": 1 }, { - "name": "plugins/action/bgp_global.py", + "name": "plugins/module_utils/network/nxos/rm_templates/bgp_neighbor_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "4c67e25a48908cf9c5567c09db909e2fb0223acd6cca1a737bb18101f0a6d2de", "format": 1 }, { - "name": "plugins/action/bgp_neighbor.py", + "name": "plugins/module_utils/network/nxos/rm_templates/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "ccf265de0d70717436fd47a40647609558cba7a1d6407849f1b3e2577bd115b3", "format": 1 }, { - "name": "plugins/action/bgp_neighbor_address_family.py", + "name": "plugins/module_utils/network/nxos/rm_templates/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "dd7353433ed688982b69d5f12378ff56bb0b399f0734e27b1571a86a14384253", "format": 1 }, { - "name": "plugins/action/bgp_neighbor_af.py", + "name": "plugins/module_utils/network/nxos/rm_templates/ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "9c68f8b3e3e2fbe7a95f3520b0b2b785c4b88f706bfd12ed7f57d8d8e0747861", "format": 1 }, { - "name": "plugins/action/command.py", + "name": "plugins/module_utils/network/nxos/rm_templates/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "32cba948b16c3a3f53d2340958523c4b62de76300df58506c094fdf244d9cda6", "format": 1 }, { - "name": "plugins/action/config.py", + "name": "plugins/module_utils/network/nxos/rm_templates/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/devicealias.py", + "name": "plugins/module_utils/network/nxos/rm_templates/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "f1d51e9d1880df627d5d8c3f2cb483c1d6acb9e71919fd88ee7d0d2dc79e0682", "format": 1 }, { - "name": "plugins/action/evpn_global.py", + "name": "plugins/module_utils/network/nxos/rm_templates/route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "1e4d7751215f3d2c175f957ec2f8f667f547b3f59c4c4eb6b0e52559740a060a", "format": 1 }, { - "name": "plugins/action/evpn_vni.py", + "name": "plugins/module_utils/network/nxos/rm_templates/bgp_templates.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "539774203fdf45d1b73fc4e4acfdfe38e86c43f285c18b873c03238c2bba01fc", "format": 1 }, { - "name": "plugins/action/facts.py", + "name": "plugins/module_utils/network/nxos/rm_templates/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "743e72c4c99c023a2a4feee6c57cb7af7f8cd67643738af5ebedbb7ffa2aa2b7", "format": 1 }, { - "name": "plugins/action/feature.py", + "name": "plugins/module_utils/network/nxos/rm_templates/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "619993ad1e730c0263a72547114d501d22cad1cc30a1ea614ad10f463ec3292c", "format": 1 }, { - "name": "plugins/action/file_copy.py", + "name": "plugins/module_utils/network/nxos/rm_templates/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "2f67d7522c05494210bc06984c76e11b9053b9c3e6c13aa10bafcafa527de814", "format": 1 }, { - "name": "plugins/action/gir.py", + "name": "plugins/module_utils/network/nxos/rm_templates/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "c61c5caf3fd680763a367ee1d24dd318c773a6e390ab26a28eb28aff0176a1b2", "format": 1 }, { - "name": "plugins/action/gir_profile_management.py", + "name": "plugins/module_utils/network/nxos/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/hostname.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/hsrp.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/bgp_address_family", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/hsrp_interfaces.py", + "name": "plugins/module_utils/network/nxos/facts/bgp_address_family/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "9dceb9b1618124325de42f3625419e16b34dfa1b118f41d24742d16d188bd952", "format": 1 }, { - "name": "plugins/action/igmp.py", + "name": "plugins/module_utils/network/nxos/facts/bgp_address_family/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/igmp_interface.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/static_routes", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/igmp_snooping.py", + "name": "plugins/module_utils/network/nxos/facts/static_routes/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "d158d7985a673c37a6a92d24c32f7fac372f8082b7aebc0f95215760c2891c8f", "format": 1 }, { - "name": "plugins/action/install_os.py", + "name": "plugins/module_utils/network/nxos/facts/static_routes/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/interface.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/prefix_lists", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/interface_ospf.py", + "name": "plugins/module_utils/network/nxos/facts/prefix_lists/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/interfaces.py", + "name": "plugins/module_utils/network/nxos/facts/prefix_lists/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "bdd9700bbce8280fc77f1fe6c2cb02ae15fd4680ab4076c50bb53c7ea0b35a69", "format": 1 }, { - "name": "plugins/action/l2_interface.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/hostname", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/l2_interfaces.py", + "name": "plugins/module_utils/network/nxos/facts/hostname/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "3c3330ec64341ba82a3d65827a9f33c088b95f64fd79f859db5b16334be443d9", "format": 1 }, { - "name": "plugins/action/l3_interface.py", + "name": "plugins/module_utils/network/nxos/facts/hostname/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/l3_interfaces.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/lldp_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/lacp.py", + "name": "plugins/module_utils/network/nxos/facts/lldp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/lacp_interfaces.py", + "name": "plugins/module_utils/network/nxos/facts/lldp_interfaces/lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "26ea3b86085c974b67392b30142f605fd5efcace1c13044ba38a32c1b77d3069", "format": 1 }, { - "name": "plugins/action/lag_interfaces.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/lacp", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/linkagg.py", + "name": "plugins/module_utils/network/nxos/facts/lacp/lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "b0f05127c1e721158123ed8ef3ddd6259eebdb4226a2b289ee70a8237d167c8a", "format": 1 }, { - "name": "plugins/action/lldp.py", + "name": "plugins/module_utils/network/nxos/facts/lacp/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/lldp_global.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/ospfv2", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/lldp_interfaces.py", + "name": "plugins/module_utils/network/nxos/facts/ospfv2/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/logging.py", + "name": "plugins/module_utils/network/nxos/facts/ospfv2/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "52b55a9bc2c837c33f85f0d3a20c5a392fc26a589b7c8d61e433d173fee934cc", "format": 1 }, { - "name": "plugins/action/logging_global.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/telemetry", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/ntp.py", + "name": "plugins/module_utils/network/nxos/facts/telemetry/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/ntp_auth.py", + "name": "plugins/module_utils/network/nxos/facts/telemetry/telemetry.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "9b34d0128aee2e7a33355d4132f4a5ba31a0d5ac90ccc69d786c7bc2abec568c", "format": 1 }, { - "name": "plugins/action/ntp_global.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/logging_global", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/ntp_options.py", + "name": "plugins/module_utils/network/nxos/facts/logging_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/nxapi.py", + "name": "plugins/module_utils/network/nxos/facts/logging_global/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "a5b8bd957449018ead97c56ab6c4c7b3945f6a176a9a6be0dee1bfaa02878939", "format": 1 }, { - "name": "plugins/action/ospf.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/ospfv3", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/ospf_interfaces.py", + "name": "plugins/module_utils/network/nxos/facts/ospfv3/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/ospf_vrf.py", + "name": "plugins/module_utils/network/nxos/facts/ospfv3/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "39f79531c9741bae023e8c9db926a5463c311093057a49422bd7e25536e6cab9", "format": 1 }, { - "name": "plugins/action/ospfv2.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/bgp_neighbor_address_family", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/ospfv3.py", + "name": "plugins/module_utils/network/nxos/facts/bgp_neighbor_address_family/bgp_neighbor_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "a8658e63caa17970c687a6b260d8067ec1a83acc322b1efa0608ca9711b6a598", "format": 1 }, { - "name": "plugins/action/overlay_global.py", + "name": "plugins/module_utils/network/nxos/facts/bgp_neighbor_address_family/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/pim.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/legacy", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/pim_interface.py", + "name": "plugins/module_utils/network/nxos/facts/legacy/base.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "71495bdb43fae534b7a23edf9ec4d932386e4b19320014664203482f9a42de99", "format": 1 }, { - "name": "plugins/action/pim_rp_address.py", + "name": "plugins/module_utils/network/nxos/facts/legacy/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/ping.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/l2_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/prefix_lists.py", + "name": "plugins/module_utils/network/nxos/facts/l2_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/reboot.py", + "name": "plugins/module_utils/network/nxos/facts/l2_interfaces/l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "16e09269f14c79c8b4ec91aa5eccc89af3d385dd779dd37dc1434933d9e9bc72", "format": 1 }, { - "name": "plugins/action/rollback.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/hsrp_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/route_maps.py", + "name": "plugins/module_utils/network/nxos/facts/hsrp_interfaces/hsrp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "0024b419e2bca58180d26c864588f59ce5941f5f5420c9df5ed7063e672f391a", "format": 1 }, { - "name": "plugins/action/rpm.py", + "name": "plugins/module_utils/network/nxos/facts/hsrp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/smu.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/ospf_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/snapshot.py", + "name": "plugins/module_utils/network/nxos/facts/ospf_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/snmp_community.py", + "name": "plugins/module_utils/network/nxos/facts/ospf_interfaces/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "6df58dfe3eba436f0b43a2f4f089d58de078ca53907811f49c6ff9295a36e7b5", "format": 1 }, { - "name": "plugins/action/snmp_contact.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/route_maps", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/snmp_host.py", + "name": "plugins/module_utils/network/nxos/facts/route_maps/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/snmp_location.py", + "name": "plugins/module_utils/network/nxos/facts/route_maps/route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "f15891603e1c71bcfee05df6fa749fc807f756b6a7413ac545b673ba76f57543", "format": 1 }, { - "name": "plugins/action/snmp_server.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/acl_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/snmp_traps.py", + "name": "plugins/module_utils/network/nxos/facts/acl_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/snmp_user.py", + "name": "plugins/module_utils/network/nxos/facts/acl_interfaces/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "ac2e8ca4571619843fbe700e40af12f2205ba37dcae4e3ac8fc9552ab3f39c7f", "format": 1 }, { - "name": "plugins/action/static_route.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/lldp_global", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/static_routes.py", + "name": "plugins/module_utils/network/nxos/facts/lldp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/system.py", + "name": "plugins/module_utils/network/nxos/facts/lldp_global/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "5a4c38941c0836cfcbe5870de76c13b5e991772d2514d919b52a0eb8861b1b8b", "format": 1 }, { - "name": "plugins/action/telemetry.py", + "name": "plugins/module_utils/network/nxos/facts/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/udld.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/snmp_server", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/udld_interface.py", + "name": "plugins/module_utils/network/nxos/facts/snmp_server/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "40b58f658b1b04583ed22216cb79b87040e113511d55c523c6dc17c8b1b9b103", "format": 1 }, { - "name": "plugins/action/user.py", + "name": "plugins/module_utils/network/nxos/facts/snmp_server/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/vlan.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/fc_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/vlans.py", + "name": "plugins/module_utils/network/nxos/facts/fc_interfaces/fc_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "cfe4284974d9e939b38db93c36988c773a5c75743b2754e734ad1a814617f232", "format": 1 }, { - "name": "plugins/action/vpc.py", + "name": "plugins/module_utils/network/nxos/facts/fc_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/vpc_interface.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/lacp_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/vrf.py", + "name": "plugins/module_utils/network/nxos/facts/lacp_interfaces/lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "023062f4e902d13603541dfa4ed7556aaf55c9f7e09624e82404ad99b375e1d3", "format": 1 }, { - "name": "plugins/action/vrf_af.py", + "name": "plugins/module_utils/network/nxos/facts/lacp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/vrf_interface.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/acls", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/vrrp.py", + "name": "plugins/module_utils/network/nxos/facts/acls/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/vsan.py", + "name": "plugins/module_utils/network/nxos/facts/acls/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e24890d18962cbd1e2170a036f3628d3c8686243e641f865d66f52e90f3d9835", "format": 1 }, { - "name": "plugins/action/vtp_domain.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/ntp_global", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/vtp_password.py", + "name": "plugins/module_utils/network/nxos/facts/ntp_global/ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "7a0e41e513e3e657d058c758de0f4f107cb10c35c806968552c6b0f42fea7377", "format": 1 }, { - "name": "plugins/action/vtp_version.py", + "name": "plugins/module_utils/network/nxos/facts/ntp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/vxlan_vtep.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "name": "plugins/module_utils/network/nxos/facts/lag_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/vxlan_vtep_vni.py", + "name": "plugins/module_utils/network/nxos/facts/lag_interfaces/lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "59a72ebb6ded18c885dc7716f707873e9b2e4819c1f1af38d43d2f60d3ebb436", "format": 1 }, { - "name": "plugins/action/zone_zoneset.py", + "name": "plugins/module_utils/network/nxos/facts/lag_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/__init__.py", + "name": "plugins/module_utils/network/nxos/facts/bfd_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/module_utils/network/nxos/facts/bfd_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/nxos.py", + "name": "plugins/module_utils/network/nxos/facts/bfd_interfaces/bfd_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", + "chksum_sha256": "85a308e34d42cc8d6a01e307d61f80aad2d3ebd4144654514b9855f96a1608f4", "format": 1 }, { - "name": "plugins/cliconf", + "name": "plugins/module_utils/network/nxos/facts/bgp_templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/cliconf/__init__.py", + "name": "plugins/module_utils/network/nxos/facts/bgp_templates/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/cliconf/nxos.py", + "name": "plugins/module_utils/network/nxos/facts/bgp_templates/bgp_templates.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d4f94f69919d7d494652e191f1a5074a1022c120da62d68eb992c4879f9b505", + "chksum_sha256": "019a61c240a5cc8c2177c4402ffecbfd035248efa3426db05f91d8c94da57246", "format": 1 }, { - "name": "plugins/doc_fragments", + "name": "plugins/module_utils/network/nxos/facts/vlans", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/doc_fragments/__init__.py", + "name": "plugins/module_utils/network/nxos/facts/vlans/vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "02438c1af2fd68b76f7f368fcf8e1199bb61922c892a467ba78eb73dd081631a", "format": 1 }, { - "name": "plugins/doc_fragments/nxos.py", + "name": "plugins/module_utils/network/nxos/facts/vlans/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75b71c234b0886b9a8c7cb54e9b1a2de2e433f8a19608a3ba45e67037c942943", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/filter", + "name": "plugins/module_utils/network/nxos/facts/interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/filter/__init__.py", + "name": "plugins/module_utils/network/nxos/facts/interfaces/interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3c4a7320158d21677a5bfa159a9c2138ffec2ce98996ed5573c061b163b8daad", + "format": 1 + }, + { + "name": "plugins/module_utils/network/nxos/facts/interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/httpapi", + "name": "plugins/module_utils/network/nxos/facts/l3_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/httpapi/__init__.py", + "name": "plugins/module_utils/network/nxos/facts/l3_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/httpapi/nxos.py", + "name": "plugins/module_utils/network/nxos/facts/l3_interfaces/l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "acfbda7df81189f8211a3d8af3d7e567bc719328e075531c154671cd97bd92be", + "chksum_sha256": "cd91ce2d24a35f39f37f8275196584b199f99d885a0f915fd32a02e70a1bac02", "format": 1 }, { - "name": "plugins/inventory", + "name": "plugins/module_utils/network/nxos/facts/bgp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/inventory/__init__.py", + "name": "plugins/module_utils/network/nxos/facts/bgp_global/bgp_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ef399135879accd85c0495e76be7c6fbf1a1141c57fe10ed98666d1f2cd174e4", + "format": 1 + }, + { + "name": "plugins/module_utils/network/nxos/facts/bgp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/module_utils/network/nxos/facts/facts.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0ca5196b5ac6835d5840ea9cbd58e2ed4b4554cd0b3f5a6625f30cde5ce03033", "format": 1 }, { - "name": "plugins/module_utils/network", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/module_utils/network/nxos/nxos.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "571d3839f5fdab7ee6046ccb1b7e3753877b862f7efd51d43973513910d60201", "format": 1 }, { - "name": "plugins/module_utils/network/nxos", + "name": "plugins/module_utils/network/nxos/argspec", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec", + "name": "plugins/module_utils/network/nxos/argspec/bgp_address_family", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/acl_interfaces", + "name": "plugins/module_utils/network/nxos/argspec/bgp_address_family/bgp_address_family.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "37b88e6b28e3fae84e9403565021cf2bdcb54fb8c282b38a4ec095b1c25fcb4a", + "format": 1 + }, + { + "name": "plugins/module_utils/network/nxos/argspec/bgp_address_family/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "format": 1 + }, + { + "name": "plugins/module_utils/network/nxos/argspec/static_routes", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/acl_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/static_routes/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "01739405af9cd744f8a995dcad803834647bb933b5b65f238fe5d93fd35167f6", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/acl_interfaces/acl_interfaces.py", + "name": "plugins/module_utils/network/nxos/argspec/static_routes/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb0d056e85549d5ce2c3bbd3bc5330a3bd8ffb7562123dc8452d07a7999f1701", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/acls", + "name": "plugins/module_utils/network/nxos/argspec/prefix_lists", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/acls/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/prefix_lists/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/acls/acls.py", + "name": "plugins/module_utils/network/nxos/argspec/prefix_lists/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "62a096743b254ad70713007700d5c44ea26a00d69ff7fb8106e640ba4e25fced", + "chksum_sha256": "979b5710687e9fd4d0001ee92d070b9a24e5b22b4c622bb47ab6aa3da657c613", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/bfd_interfaces", + "name": "plugins/module_utils/network/nxos/argspec/hostname", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/bfd_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/hostname/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "05b2c2b1670e7b5c0685f81d73c6a4f6176e9b659869554b51144e8311c62e56", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/bfd_interfaces/bfd_interfaces.py", + "name": "plugins/module_utils/network/nxos/argspec/hostname/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bf82cfc30230fa91de7fbfc2e5dd98a765f17ce3b123cfb8dc78668d3934523a", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/bgp_address_family", + "name": "plugins/module_utils/network/nxos/argspec/lldp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/bgp_address_family/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/lldp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/bgp_address_family/bgp_address_family.py", + "name": "plugins/module_utils/network/nxos/argspec/lldp_interfaces/lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "37b88e6b28e3fae84e9403565021cf2bdcb54fb8c282b38a4ec095b1c25fcb4a", + "chksum_sha256": "6dca4e69682508b76a0992a7ea9be015da7ecd322898e1a7f303ed45478586bc", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/bgp_global", + "name": "plugins/module_utils/network/nxos/argspec/lacp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/bgp_global/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/lacp/lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "55ab8a5ad42c207cbf65c711bc75c4ecfa391219e2106b78dc8b1d4137d743f2", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/bgp_global/bgp_global.py", + "name": "plugins/module_utils/network/nxos/argspec/lacp/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "47fd70c766f6f82869a2c3dd2903d78bf67fe32cb0cca69ba2200183f10dbf80", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/bgp_neighbor_address_family", + "name": "plugins/module_utils/network/nxos/argspec/ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/bgp_neighbor_address_family/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/ospfv2/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/bgp_neighbor_address_family/bgp_neighbor_address_family.py", + "name": "plugins/module_utils/network/nxos/argspec/ospfv2/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bf95a542336a66589b452b32cb1dc55fc035f85ee42219cbfaa2d5ced4e1fce5", + "chksum_sha256": "0a7bd0a029361af8e3f6355af52f8bbffdd6f6f31cb376a09574cbc248c63e4f", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/facts", + "name": "plugins/module_utils/network/nxos/argspec/telemetry", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/facts/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/telemetry/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/facts/facts.py", + "name": "plugins/module_utils/network/nxos/argspec/telemetry/telemetry.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3dbe3771e03c68a3144d8b70df7b0d5895c69dbec69a7f47e67f0396f18ae879", + "chksum_sha256": "735fed6cdb3cf9f532186ddcbd9caeceae6c66e803344bacfba16aae44312018", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/hostname", + "name": "plugins/module_utils/network/nxos/argspec/logging_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/hostname/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/logging_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/hostname/hostname.py", + "name": "plugins/module_utils/network/nxos/argspec/logging_global/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "05b2c2b1670e7b5c0685f81d73c6a4f6176e9b659869554b51144e8311c62e56", + "chksum_sha256": "70978913c9daeedc0fccb8b5f374e2a32bac7d5954841226aed6ff30aa6b3588", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/hsrp_interfaces", + "name": "plugins/module_utils/network/nxos/argspec/ospfv3", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/hsrp_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/ospfv3/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/hsrp_interfaces/hsrp_interfaces.py", + "name": "plugins/module_utils/network/nxos/argspec/ospfv3/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "78bff7e6897df616065eb94dab6e2aedf4cdef6106783c80c68e3a44b3641c30", + "chksum_sha256": "e6e093df4df247e1c4aa45fc6bfcdd4a5abbc8c2af26bfe0e3b4b7298be76081", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/interfaces", + "name": "plugins/module_utils/network/nxos/argspec/bgp_neighbor_address_family", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/bgp_neighbor_address_family/bgp_neighbor_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "8ca222317640163b92905c69d00da5f3cba1788125facfb63e3166e4a6ff4036", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/interfaces/interfaces.py", + "name": "plugins/module_utils/network/nxos/argspec/bgp_neighbor_address_family/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "571184731dbbe433772733ec8f703954ad6b17777b20251a7ed12a6f7ab441a7", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { @@ -1821,87 +1877,87 @@ "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/l3_interfaces", + "name": "plugins/module_utils/network/nxos/argspec/hsrp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/l3_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/hsrp_interfaces/hsrp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "78bff7e6897df616065eb94dab6e2aedf4cdef6106783c80c68e3a44b3641c30", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/l3_interfaces/l3_interfaces.py", + "name": "plugins/module_utils/network/nxos/argspec/hsrp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7082768644e0745bf790852b29aa7c0a05a1aa73e1038bbd65b115085ed981f6", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/lacp", + "name": "plugins/module_utils/network/nxos/argspec/ospf_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/lacp/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/ospf_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/lacp/lacp.py", + "name": "plugins/module_utils/network/nxos/argspec/ospf_interfaces/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ac9abbb96b3fcc88c244fae46be800ba1d98ec9822d70b08b0cfce0a51622140", + "chksum_sha256": "bf40cbc988c8bfd85f8f96409bc3a4246540e933527340e72cf19dfee0bca77b", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/lacp_interfaces", + "name": "plugins/module_utils/network/nxos/argspec/route_maps", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/lacp_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/route_maps/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/lacp_interfaces/lacp_interfaces.py", + "name": "plugins/module_utils/network/nxos/argspec/route_maps/route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "73c1cb0cdb2fe7ddee5372b2ab1d2b9936248389c55e59ba3641a3cd7fd3a790", + "chksum_sha256": "fc5a7ea360233ab48021b6513bca2b38467e94960b29c63945028e82e624702a", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/lag_interfaces", + "name": "plugins/module_utils/network/nxos/argspec/acl_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/lag_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/acl_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/lag_interfaces/lag_interfaces.py", + "name": "plugins/module_utils/network/nxos/argspec/acl_interfaces/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ea53f8bfaffe46e9c184854c68f071da028b3e073d94c939438f5e66f0a9a5be", + "chksum_sha256": "bb0d056e85549d5ce2c3bbd3bc5330a3bd8ffb7562123dc8452d07a7999f1701", "format": 1 }, { @@ -1922,298 +1978,284 @@ "name": "plugins/module_utils/network/nxos/argspec/lldp_global/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fe575ad7374a3e84a7b24211c5f70c769dff827a3f8cc073f2c1bd0497e59780", + "chksum_sha256": "c9b7fb9ecb6060e51efd1eb61649c055657aabac60fb4b28e20d8d8b12ea363c", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/lldp_interfaces", + "name": "plugins/module_utils/network/nxos/argspec/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "format": 1 + }, + { + "name": "plugins/module_utils/network/nxos/argspec/snmp_server", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/lldp_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/snmp_server/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "9ae7bf54bcbbd71a2eeec9fd2db8c3fdefa34af8162df5d5941c2e322c1c040d", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/lldp_interfaces/lldp_interfaces.py", + "name": "plugins/module_utils/network/nxos/argspec/snmp_server/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6dca4e69682508b76a0992a7ea9be015da7ecd322898e1a7f303ed45478586bc", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/logging_global", + "name": "plugins/module_utils/network/nxos/argspec/fc_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/logging_global/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/fc_interfaces/fc_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde20eb7e720bd76c623eb69a11dccee251365a5c8c7b8b934d83f61338c2784", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/logging_global/logging_global.py", + "name": "plugins/module_utils/network/nxos/argspec/fc_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "70978913c9daeedc0fccb8b5f374e2a32bac7d5954841226aed6ff30aa6b3588", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/ntp_global", + "name": "plugins/module_utils/network/nxos/argspec/facts", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/ntp_global/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/facts/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/ntp_global/ntp_global.py", + "name": "plugins/module_utils/network/nxos/argspec/facts/facts.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "783602fd75a5c0ae5e6e5d966c292366b63a1b8c5806e5fe76163067f1442777", + "chksum_sha256": "3dbe3771e03c68a3144d8b70df7b0d5895c69dbec69a7f47e67f0396f18ae879", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/ospf_interfaces", + "name": "plugins/module_utils/network/nxos/argspec/lacp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/ospf_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/lacp_interfaces/lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "73c1cb0cdb2fe7ddee5372b2ab1d2b9936248389c55e59ba3641a3cd7fd3a790", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/ospf_interfaces/ospf_interfaces.py", + "name": "plugins/module_utils/network/nxos/argspec/lacp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bf40cbc988c8bfd85f8f96409bc3a4246540e933527340e72cf19dfee0bca77b", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/ospfv2", + "name": "plugins/module_utils/network/nxos/argspec/acls", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/ospfv2/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/acls/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/ospfv2/ospfv2.py", + "name": "plugins/module_utils/network/nxos/argspec/acls/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0a7bd0a029361af8e3f6355af52f8bbffdd6f6f31cb376a09574cbc248c63e4f", + "chksum_sha256": "62a096743b254ad70713007700d5c44ea26a00d69ff7fb8106e640ba4e25fced", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/ospfv3", + "name": "plugins/module_utils/network/nxos/argspec/ntp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/ospfv3/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/ntp_global/ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "783602fd75a5c0ae5e6e5d966c292366b63a1b8c5806e5fe76163067f1442777", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/ospfv3/ospfv3.py", + "name": "plugins/module_utils/network/nxos/argspec/ntp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e6e093df4df247e1c4aa45fc6bfcdd4a5abbc8c2af26bfe0e3b4b7298be76081", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/prefix_lists", + "name": "plugins/module_utils/network/nxos/argspec/lag_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/prefix_lists/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/lag_interfaces/lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "ea53f8bfaffe46e9c184854c68f071da028b3e073d94c939438f5e66f0a9a5be", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/prefix_lists/prefix_lists.py", + "name": "plugins/module_utils/network/nxos/argspec/lag_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "979b5710687e9fd4d0001ee92d070b9a24e5b22b4c622bb47ab6aa3da657c613", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/route_maps", + "name": "plugins/module_utils/network/nxos/argspec/bfd_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/route_maps/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/bfd_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/route_maps/route_maps.py", + "name": "plugins/module_utils/network/nxos/argspec/bfd_interfaces/bfd_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9454fbaf1fbfc4405bf9e72c28638787600abb30cdb031b46e54a186426b2665", + "chksum_sha256": "bf82cfc30230fa91de7fbfc2e5dd98a765f17ce3b123cfb8dc78668d3934523a", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/snmp_server", + "name": "plugins/module_utils/network/nxos/argspec/bgp_templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/snmp_server/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/bgp_templates/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/snmp_server/snmp_server.py", + "name": "plugins/module_utils/network/nxos/argspec/bgp_templates/bgp_templates.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9ae7bf54bcbbd71a2eeec9fd2db8c3fdefa34af8162df5d5941c2e322c1c040d", + "chksum_sha256": "186b8ce90e4f21c9b9ec38647e9d34bb5665c667b6b88fe042b7eede91d27bf3", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/static_routes", + "name": "plugins/module_utils/network/nxos/argspec/vlans", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/static_routes/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/vlans/vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "1b23ecaded6b2b8fbcf578fd9bc5997cc3184037a70957a1dd17a772ab212f15", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/static_routes/static_routes.py", + "name": "plugins/module_utils/network/nxos/argspec/vlans/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f8cee5f1c72f81cf06daece7cd827cf1582a048bbc7c6172ecbb8941af3ad7a3", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/telemetry", + "name": "plugins/module_utils/network/nxos/argspec/interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/telemetry/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/interfaces/interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "571184731dbbe433772733ec8f703954ad6b17777b20251a7ed12a6f7ab441a7", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/telemetry/telemetry.py", + "name": "plugins/module_utils/network/nxos/argspec/interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "735fed6cdb3cf9f532186ddcbd9caeceae6c66e803344bacfba16aae44312018", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/vlans", + "name": "plugins/module_utils/network/nxos/argspec/l3_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/vlans/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/l3_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/argspec/vlans/vlans.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1b23ecaded6b2b8fbcf578fd9bc5997cc3184037a70957a1dd17a772ab212f15", - "format": 1 - }, - { - "name": "plugins/module_utils/network/nxos/argspec/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/l3_interfaces/l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "plugins/module_utils/network/nxos/cmdref", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "7082768644e0745bf790852b29aa7c0a05a1aa73e1038bbd65b115085ed981f6", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/cmdref/telemetry", + "name": "plugins/module_utils/network/nxos/argspec/bgp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/cmdref/telemetry/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "plugins/module_utils/network/nxos/cmdref/telemetry/telemetry.py", + "name": "plugins/module_utils/network/nxos/argspec/bgp_global/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8da77084260edf236893c1758664c60ed4aa2a53f45d259db357712fb902c5cd", + "chksum_sha256": "4fbafd074800875e6855205cdc9797c6e9ede1d525aab97014a6aa60e59b3900", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/cmdref/__init__.py", + "name": "plugins/module_utils/network/nxos/argspec/bgp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", @@ -2227,549 +2269,535 @@ "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/acl_interfaces", + "name": "plugins/module_utils/network/nxos/config/bgp_address_family", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/acl_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/config/bgp_address_family/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "ab2d098a5e4d9f5dfccc95ec69210831e191ce526eb08fb55029517f27bca8f2", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/acl_interfaces/acl_interfaces.py", + "name": "plugins/module_utils/network/nxos/config/bgp_address_family/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e0da4ca8f06addf22f010bdcfbc5d8f5c26b9caad3a4f0d0653f9bf1b56511a7", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/acls", + "name": "plugins/module_utils/network/nxos/config/static_routes", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/acls/__init__.py", + "name": "plugins/module_utils/network/nxos/config/static_routes/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "329e8b628dae287612efa80e2ca7b5aaeefd530c19ddd8bd37a5b7774eb26aef", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/acls/acls.py", + "name": "plugins/module_utils/network/nxos/config/static_routes/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b04b56fe6b5f62801329741e2707a9c0d2030ba1963590ad4608fb28eba36706", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/bfd_interfaces", + "name": "plugins/module_utils/network/nxos/config/prefix_lists", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/bfd_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/config/prefix_lists/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/bfd_interfaces/bfd_interfaces.py", + "name": "plugins/module_utils/network/nxos/config/prefix_lists/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "149dfe5bc61c80053e6fc498e2b98b70d1482ef8dd51ebb8ae7f84776e3b69b6", + "chksum_sha256": "445f9a55c8fd372fdbad1834ed7598d9281a376fd5de5e749218995310ccea81", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/bgp_address_family", + "name": "plugins/module_utils/network/nxos/config/hostname", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/bgp_address_family/__init__.py", + "name": "plugins/module_utils/network/nxos/config/hostname/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "ab919426e1bd33f667ae875af49ed837d5f3f1e3598b878a290c3bc35004765d", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/bgp_address_family/bgp_address_family.py", + "name": "plugins/module_utils/network/nxos/config/hostname/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ab2d098a5e4d9f5dfccc95ec69210831e191ce526eb08fb55029517f27bca8f2", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/bgp_global", + "name": "plugins/module_utils/network/nxos/config/lldp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/bgp_global/__init__.py", + "name": "plugins/module_utils/network/nxos/config/lldp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/bgp_global/bgp_global.py", + "name": "plugins/module_utils/network/nxos/config/lldp_interfaces/lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "70767bfe83f04303a9ee3815fd0caa4a4cbdb5e3b7a7b6cb61913c311b855cf4", + "chksum_sha256": "6c15204ad386b15117fcb44a6e62be71db4eb03b7f9aac53f7bbdd29020a4690", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/bgp_neighbor_address_family", + "name": "plugins/module_utils/network/nxos/config/lacp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/bgp_neighbor_address_family/__init__.py", + "name": "plugins/module_utils/network/nxos/config/lacp/lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "9612ac4a62de771ca9cef65d733373105e180a060227fff8330bc814d5cdde96", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/bgp_neighbor_address_family/bgp_neighbor_address_family.py", + "name": "plugins/module_utils/network/nxos/config/lacp/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "72c4ca01b19afe4a7cd6ebbe7ec0929a7565c36428fcdc3e33ace48dab0617d3", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/hostname", + "name": "plugins/module_utils/network/nxos/config/ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/hostname/__init__.py", + "name": "plugins/module_utils/network/nxos/config/ospfv2/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/hostname/hostname.py", + "name": "plugins/module_utils/network/nxos/config/ospfv2/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ab919426e1bd33f667ae875af49ed837d5f3f1e3598b878a290c3bc35004765d", + "chksum_sha256": "9294a53417222ea7bd4cf1b003780c5774924a288309b70bb353b0c64e74bd7e", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/hsrp_interfaces", + "name": "plugins/module_utils/network/nxos/config/telemetry", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/hsrp_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/config/telemetry/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/hsrp_interfaces/hsrp_interfaces.py", + "name": "plugins/module_utils/network/nxos/config/telemetry/telemetry.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5d5eb7ab8b3ff9d4c90321a6372a73f5087712b5d269eb1351380b93e5f1e207", + "chksum_sha256": "727e58c53e65e0803777cc288930ceb07f415e2202e6cf5a8b58ebbdffbd46d8", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/interfaces", + "name": "plugins/module_utils/network/nxos/config/logging_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/config/logging_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/interfaces/interfaces.py", + "name": "plugins/module_utils/network/nxos/config/logging_global/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8259aa93d585f48ef8a5517e9a3fbd45a2cafe19250c314ef5be424573169854", + "chksum_sha256": "e7d1de04722e657bd71a3131e7bba17bc0178031c1c91cfa87df16e0eccc6878", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/l2_interfaces", + "name": "plugins/module_utils/network/nxos/config/ospfv3", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/l2_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/config/ospfv3/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/l2_interfaces/l2_interfaces.py", + "name": "plugins/module_utils/network/nxos/config/ospfv3/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "44bae3bfcc74ec9e0328439391b1081d3fe54e6f3d3de17ff960c06b5e16e50c", + "chksum_sha256": "0ee78999cd1450377200ffd92fa3e925ecf413b3c1cb1a4f11e084facf5844d9", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/l3_interfaces", + "name": "plugins/module_utils/network/nxos/config/bgp_neighbor_address_family", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/l3_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/config/bgp_neighbor_address_family/bgp_neighbor_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "d8a658ac17e3b61cc0105d4567c8793adf8b2bd0cc0bcd68cf86353ac3116db3", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/l3_interfaces/l3_interfaces.py", + "name": "plugins/module_utils/network/nxos/config/bgp_neighbor_address_family/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e63f600eb2827bdd4a6fd5d16a728fe5a179a1bb8e29baa6da806e21bcf9cac9", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lacp", + "name": "plugins/module_utils/network/nxos/config/l2_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lacp/__init__.py", + "name": "plugins/module_utils/network/nxos/config/l2_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lacp/lacp.py", + "name": "plugins/module_utils/network/nxos/config/l2_interfaces/l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eab64247ebd9fc69969542420400b3d923ed77572f742de2d59872cfd1c1acc7", + "chksum_sha256": "44bae3bfcc74ec9e0328439391b1081d3fe54e6f3d3de17ff960c06b5e16e50c", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lacp_interfaces", + "name": "plugins/module_utils/network/nxos/config/hsrp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lacp_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/config/hsrp_interfaces/hsrp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "5d5eb7ab8b3ff9d4c90321a6372a73f5087712b5d269eb1351380b93e5f1e207", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lacp_interfaces/lacp_interfaces.py", + "name": "plugins/module_utils/network/nxos/config/hsrp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4a3ca5d6369f95058d8133277cfda2b0f04b6465bebce78756e6a4b45adf1d20", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lag_interfaces", + "name": "plugins/module_utils/network/nxos/config/ospf_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lag_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/config/ospf_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lag_interfaces/lag_interfaces.py", + "name": "plugins/module_utils/network/nxos/config/ospf_interfaces/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3c06232f73f78f921777fface1dadef0f63f42e7ebb1e2654f1257b2122adf1f", + "chksum_sha256": "6a12a9c127ce960b84820ac79286672f458ab56934903abbfb52e74e2e9c98b6", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lldp_global", + "name": "plugins/module_utils/network/nxos/config/route_maps", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lldp_global/__init__.py", + "name": "plugins/module_utils/network/nxos/config/route_maps/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lldp_global/lldp_global.py", + "name": "plugins/module_utils/network/nxos/config/route_maps/route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "91212a11075195abfbecfde6c9bc61fa03834cead9eebbe789aa2d97042b9b70", + "chksum_sha256": "3f4b8b99ca2c2ad045886e77c5f0e412dd9d906cd801daf0e462b02e719e6d47", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lldp_interfaces", + "name": "plugins/module_utils/network/nxos/config/acl_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lldp_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/config/acl_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/lldp_interfaces/lldp_interfaces.py", + "name": "plugins/module_utils/network/nxos/config/acl_interfaces/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6c15204ad386b15117fcb44a6e62be71db4eb03b7f9aac53f7bbdd29020a4690", + "chksum_sha256": "e0da4ca8f06addf22f010bdcfbc5d8f5c26b9caad3a4f0d0653f9bf1b56511a7", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/logging_global", + "name": "plugins/module_utils/network/nxos/config/lldp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/logging_global/__init__.py", + "name": "plugins/module_utils/network/nxos/config/lldp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/logging_global/logging_global.py", + "name": "plugins/module_utils/network/nxos/config/lldp_global/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e7d1de04722e657bd71a3131e7bba17bc0178031c1c91cfa87df16e0eccc6878", - "format": 1 - }, - { - "name": "plugins/module_utils/network/nxos/config/ntp_global", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "1804e5abcd0b77a8b5c675c3bb4b90731e8932bf882f8445f01e839013660845", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/ntp_global/__init__.py", + "name": "plugins/module_utils/network/nxos/config/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/ntp_global/ntp_global.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6936bf5deb7b2708e4a6373b325c3155a14bbc454419ed7f516999e92946415c", - "format": 1 - }, - { - "name": "plugins/module_utils/network/nxos/config/ospf_interfaces", + "name": "plugins/module_utils/network/nxos/config/snmp_server", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/ospf_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/config/snmp_server/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "213fd101832e7b149113afc178eac76dbff00448cec80e65c6c3e6e0d434e914", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/ospf_interfaces/ospf_interfaces.py", + "name": "plugins/module_utils/network/nxos/config/snmp_server/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6a12a9c127ce960b84820ac79286672f458ab56934903abbfb52e74e2e9c98b6", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/ospfv2", + "name": "plugins/module_utils/network/nxos/config/fc_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/ospfv2/__init__.py", + "name": "plugins/module_utils/network/nxos/config/fc_interfaces/fc_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "0438d7d1f23bc654fa0488e35002d8aff313dcf8afbef7412b0c68ee4e128f73", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/ospfv2/ospfv2.py", + "name": "plugins/module_utils/network/nxos/config/fc_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9294a53417222ea7bd4cf1b003780c5774924a288309b70bb353b0c64e74bd7e", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/ospfv3", + "name": "plugins/module_utils/network/nxos/config/lacp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/ospfv3/__init__.py", + "name": "plugins/module_utils/network/nxos/config/lacp_interfaces/lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "4a3ca5d6369f95058d8133277cfda2b0f04b6465bebce78756e6a4b45adf1d20", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/ospfv3/ospfv3.py", + "name": "plugins/module_utils/network/nxos/config/lacp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0ee78999cd1450377200ffd92fa3e925ecf413b3c1cb1a4f11e084facf5844d9", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/prefix_lists", + "name": "plugins/module_utils/network/nxos/config/acls", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/prefix_lists/__init__.py", + "name": "plugins/module_utils/network/nxos/config/acls/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/prefix_lists/prefix_lists.py", + "name": "plugins/module_utils/network/nxos/config/acls/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "445f9a55c8fd372fdbad1834ed7598d9281a376fd5de5e749218995310ccea81", + "chksum_sha256": "b04b56fe6b5f62801329741e2707a9c0d2030ba1963590ad4608fb28eba36706", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/route_maps", + "name": "plugins/module_utils/network/nxos/config/ntp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/route_maps/__init__.py", + "name": "plugins/module_utils/network/nxos/config/ntp_global/ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "6936bf5deb7b2708e4a6373b325c3155a14bbc454419ed7f516999e92946415c", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/route_maps/route_maps.py", + "name": "plugins/module_utils/network/nxos/config/ntp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "35143de56353fe0f721d927e278143f22bce40f2b199a61fa51cfc854a0fed79", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/snmp_server", + "name": "plugins/module_utils/network/nxos/config/lag_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/snmp_server/__init__.py", + "name": "plugins/module_utils/network/nxos/config/lag_interfaces/lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cb71721dc87b58474b79a72e3ef13d436c3cc5c65ddf79383e6a2a849c94bad9", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/snmp_server/snmp_server.py", + "name": "plugins/module_utils/network/nxos/config/lag_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "213fd101832e7b149113afc178eac76dbff00448cec80e65c6c3e6e0d434e914", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/static_routes", + "name": "plugins/module_utils/network/nxos/config/bfd_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/static_routes/__init__.py", + "name": "plugins/module_utils/network/nxos/config/bfd_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/static_routes/static_routes.py", + "name": "plugins/module_utils/network/nxos/config/bfd_interfaces/bfd_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "82c19f72d5b695c3739c644cd697138af4788686ceb82b89409cb3061e829b48", + "chksum_sha256": "149dfe5bc61c80053e6fc498e2b98b70d1482ef8dd51ebb8ae7f84776e3b69b6", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/telemetry", + "name": "plugins/module_utils/network/nxos/config/bgp_templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/telemetry/__init__.py", + "name": "plugins/module_utils/network/nxos/config/bgp_templates/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/telemetry/telemetry.py", + "name": "plugins/module_utils/network/nxos/config/bgp_templates/bgp_templates.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "727e58c53e65e0803777cc288930ceb07f415e2202e6cf5a8b58ebbdffbd46d8", + "chksum_sha256": "dd3eb3ca52063455c3cbbb0fba6bdace21254000f3bd662466950098f82f72c1", "format": 1 }, { @@ -2780,13 +2808,6 @@ "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/vlans/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { "name": "plugins/module_utils/network/nxos/config/vlans/vlans.py", "ftype": "file", "chksum_type": "sha256", @@ -2794,6292 +2815,6341 @@ "format": 1 }, { - "name": "plugins/module_utils/network/nxos/config/__init__.py", + "name": "plugins/module_utils/network/nxos/config/vlans/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "plugins/module_utils/network/nxos/facts/acl_interfaces", + "name": "plugins/module_utils/network/nxos/config/interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/acl_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/config/interfaces/interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "bc036b0cfa2f0993c0a313334e3c849ef731671d917c75a9b0e5c2381bdbe5b4", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/acl_interfaces/acl_interfaces.py", + "name": "plugins/module_utils/network/nxos/config/interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ac2e8ca4571619843fbe700e40af12f2205ba37dcae4e3ac8fc9552ab3f39c7f", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/acls", + "name": "plugins/module_utils/network/nxos/config/l3_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/acls/__init__.py", + "name": "plugins/module_utils/network/nxos/config/l3_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/acls/acls.py", + "name": "plugins/module_utils/network/nxos/config/l3_interfaces/l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b0698f807eb103441ae996f631cd2bd3dde0d0ab8b7635176246af7d176d034b", + "chksum_sha256": "e63f600eb2827bdd4a6fd5d16a728fe5a179a1bb8e29baa6da806e21bcf9cac9", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/bfd_interfaces", + "name": "plugins/module_utils/network/nxos/config/bgp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/bfd_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/config/bgp_global/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "e0d590ee1bf37a813910101a74b0d52709cfb6e174828990d34125a06a2ae570", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/bfd_interfaces/bfd_interfaces.py", + "name": "plugins/module_utils/network/nxos/config/bgp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "85a308e34d42cc8d6a01e307d61f80aad2d3ebd4144654514b9855f96a1608f4", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/bgp_address_family", + "name": "plugins/module_utils/network/nxos/cmdref", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/bgp_address_family/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "plugins/module_utils/network/nxos/facts/bgp_address_family/bgp_address_family.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9dceb9b1618124325de42f3625419e16b34dfa1b118f41d24742d16d188bd952", - "format": 1 - }, - { - "name": "plugins/module_utils/network/nxos/facts/bgp_global", + "name": "plugins/module_utils/network/nxos/cmdref/telemetry", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/bgp_global/__init__.py", + "name": "plugins/module_utils/network/nxos/cmdref/telemetry/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/bgp_global/bgp_global.py", + "name": "plugins/module_utils/network/nxos/cmdref/telemetry/telemetry.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "848eeac132ffaa593cb1ae7a720173e967c496af21cf9dc7842b6c75098bce92", - "format": 1 - }, - { - "name": "plugins/module_utils/network/nxos/facts/bgp_neighbor_address_family", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "8da77084260edf236893c1758664c60ed4aa2a53f45d259db357712fb902c5cd", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/bgp_neighbor_address_family/__init__.py", + "name": "plugins/module_utils/network/nxos/cmdref/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/bgp_neighbor_address_family/bgp_neighbor_address_family.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c4af6474607366d969a4b06703d7317495dc65228648e3eabd4b040ebdd4ecb8", + "name": "plugins/module_utils/network/nxos/utils", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/hostname", + "name": "plugins/module_utils/network/nxos/utils/telemetry", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/hostname/__init__.py", + "name": "plugins/module_utils/network/nxos/utils/telemetry/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/hostname/hostname.py", + "name": "plugins/module_utils/network/nxos/utils/telemetry/telemetry.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3c3330ec64341ba82a3d65827a9f33c088b95f64fd79f859db5b16334be443d9", + "chksum_sha256": "2f684bba2373a2a665e1b9ac34aa2822d33ab1a7f1e2919dd686a4395d07cab9", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/hsrp_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/module_utils/network/nxos/utils/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/hsrp_interfaces/__init__.py", + "name": "plugins/module_utils/network/nxos/utils/utils.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "061a3ad9eb413c3b48d2c4a77c060e11d499b21fa1830ab4a236f35d7f184fc9", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/hsrp_interfaces/hsrp_interfaces.py", + "name": "plugins/module_utils/network/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0024b419e2bca58180d26c864588f59ce5941f5f5420c9df5ed7063e672f391a", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/interfaces", + "name": "plugins/action", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/interfaces/__init__.py", + "name": "plugins/action/feature.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/interfaces/interfaces.py", + "name": "plugins/action/udld_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3c4a7320158d21677a5bfa159a9c2138ffec2ce98996ed5573c061b163b8daad", - "format": 1 - }, - { - "name": "plugins/module_utils/network/nxos/facts/l2_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/l2_interfaces/__init__.py", + "name": "plugins/action/bgp_af.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/l2_interfaces/l2_interfaces.py", + "name": "plugins/action/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "16e09269f14c79c8b4ec91aa5eccc89af3d385dd779dd37dc1434933d9e9bc72", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/l3_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/evpn_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/l3_interfaces/__init__.py", + "name": "plugins/action/vxlan_vtep_vni.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/l3_interfaces/l3_interfaces.py", + "name": "plugins/action/lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cd91ce2d24a35f39f37f8275196584b199f99d885a0f915fd32a02e70a1bac02", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lacp", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/vlans.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lacp/__init__.py", + "name": "plugins/action/pim.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lacp/lacp.py", + "name": "plugins/action/lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b0f05127c1e721158123ed8ef3ddd6259eebdb4226a2b289ee70a8237d167c8a", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lacp_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/snmp_contact.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lacp_interfaces/__init__.py", + "name": "plugins/action/l2_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lacp_interfaces/lacp_interfaces.py", + "name": "plugins/action/user.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "023062f4e902d13603541dfa4ed7556aaf55c9f7e09624e82404ad99b375e1d3", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lag_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lag_interfaces/__init__.py", + "name": "plugins/action/snapshot.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lag_interfaces/lag_interfaces.py", + "name": "plugins/action/nxapi.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "59a72ebb6ded18c885dc7716f707873e9b2e4819c1f1af38d43d2f60d3ebb436", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/legacy", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/linkagg.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/legacy/__init__.py", + "name": "plugins/action/hsrp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/legacy/base.py", + "name": "plugins/action/vsan.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "80fb516eaaaeceec193611ab84a916808effee0ce5c4ba0e6a03f72b796599d1", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lldp_global", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/snmp_user.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lldp_global/__init__.py", + "name": "plugins/action/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lldp_global/lldp_global.py", + "name": "plugins/action/bgp_neighbor_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5a4c38941c0836cfcbe5870de76c13b5e991772d2514d919b52a0eb8861b1b8b", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lldp_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/system.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lldp_interfaces/__init__.py", + "name": "plugins/action/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/lldp_interfaces/lldp_interfaces.py", + "name": "plugins/action/gir_profile_management.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "26ea3b86085c974b67392b30142f605fd5efcace1c13044ba38a32c1b77d3069", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/logging_global", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/l3_interface.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/logging_global/__init__.py", + "name": "plugins/action/install_os.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/logging_global/logging_global.py", + "name": "plugins/action/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a5b8bd957449018ead97c56ab6c4c7b3945f6a176a9a6be0dee1bfaa02878939", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/ntp_global", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/vxlan_vtep.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/ntp_global/__init__.py", + "name": "plugins/action/lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/ntp_global/ntp_global.py", + "name": "plugins/action/ospf.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7a0e41e513e3e657d058c758de0f4f107cb10c35c806968552c6b0f42fea7377", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/ospf_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/vtp_version.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/ospf_interfaces/__init__.py", + "name": "plugins/action/snmp_community.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/ospf_interfaces/ospf_interfaces.py", + "name": "plugins/action/logging.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6df58dfe3eba436f0b43a2f4f089d58de078ca53907811f49c6ff9295a36e7b5", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/ospfv2", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/ntp_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/ospfv2/__init__.py", + "name": "plugins/action/hsrp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/ospfv2/ospfv2.py", + "name": "plugins/action/interface_ospf.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "52b55a9bc2c837c33f85f0d3a20c5a392fc26a589b7c8d61e433d173fee934cc", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/ospfv3", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/ntp.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/ospfv3/__init__.py", + "name": "plugins/action/smu.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/ospfv3/ospfv3.py", + "name": "plugins/action/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "39f79531c9741bae023e8c9db926a5463c311093057a49422bd7e25536e6cab9", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/prefix_lists", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/vpc.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/prefix_lists/__init__.py", + "name": "plugins/action/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/prefix_lists/prefix_lists.py", + "name": "plugins/action/interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bdd9700bbce8280fc77f1fe6c2cb02ae15fd4680ab4076c50bb53c7ea0b35a69", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/route_maps", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/ospfv3.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/route_maps/__init__.py", + "name": "plugins/action/devicealias.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/route_maps/route_maps.py", + "name": "plugins/action/file_copy.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f15891603e1c71bcfee05df6fa749fc807f756b6a7413ac545b673ba76f57543", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/snmp_server", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/telemetry.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/snmp_server/__init__.py", + "name": "plugins/action/nxos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/snmp_server/snmp_server.py", + "name": "plugins/action/route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "40b58f658b1b04583ed22216cb79b87040e113511d55c523c6dc17c8b1b9b103", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/static_routes", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/aaa_server_host.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/static_routes/__init__.py", + "name": "plugins/action/igmp_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/static_routes/static_routes.py", + "name": "plugins/action/zone_zoneset.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "11baea922e4520b962398023e733d31f85e07392c3aed8bb07d2948f7a120327", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/telemetry", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/igmp_snooping.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/telemetry/__init__.py", + "name": "plugins/action/pim_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/telemetry/telemetry.py", + "name": "plugins/action/bgp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9b34d0128aee2e7a33355d4132f4a5ba31a0d5ac90ccc69d786c7bc2abec568c", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/vlans", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/reboot.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/vlans/__init__.py", + "name": "plugins/action/l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/vlans/vlans.py", + "name": "plugins/action/gir.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c5687cc105d4fb9739ec5816acf4b5afe7e09eff55f12210abbe6366418db1be", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/__init__.py", + "name": "plugins/action/command.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/facts/facts.py", + "name": "plugins/action/rpm.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ef4854403c186f485ea568d160c3ef9af904bd52c46c021aa9c0c52d6811683f", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/snmp_location.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates/__init__.py", + "name": "plugins/action/ntp_options.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates/bgp_address_family.py", + "name": "plugins/action/bfd_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "13f0286247895225a98082e385e0024eb4b177acc5d8fcadb26e3ae4df75bd25", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates/bgp_global.py", + "name": "plugins/action/ospf_vrf.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "387f851791ed66bd87a6ab5cccbe94cdd4789a2a06cf1f6b1bd88f3d312fa446", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates/bgp_neighbor_address_family.py", + "name": "plugins/action/igmp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aafad72f8544b8eecbf8f6e9f4547167a973f7677917f89279d7c1030293e7da", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates/hostname.py", + "name": "plugins/action/pim_rp_address.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dd7353433ed688982b69d5f12378ff56bb0b399f0734e27b1571a86a14384253", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates/logging_global.py", + "name": "plugins/action/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2f67d7522c05494210bc06984c76e11b9053b9c3e6c13aa10bafcafa527de814", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates/ntp_global.py", + "name": "plugins/action/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9c68f8b3e3e2fbe7a95f3520b0b2b785c4b88f706bfd12ed7f57d8d8e0747861", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates/ospf_interfaces.py", + "name": "plugins/action/config.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "619993ad1e730c0263a72547114d501d22cad1cc30a1ea614ad10f463ec3292c", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates/ospfv2.py", + "name": "plugins/action/vpc_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "743e72c4c99c023a2a4feee6c57cb7af7f8cd67643738af5ebedbb7ffa2aa2b7", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates/ospfv3.py", + "name": "plugins/action/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f1d51e9d1880df627d5d8c3f2cb483c1d6acb9e71919fd88ee7d0d2dc79e0682", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates/prefix_lists.py", + "name": "plugins/action/udld.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c61c5caf3fd680763a367ee1d24dd318c773a6e390ab26a28eb28aff0176a1b2", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates/route_maps.py", + "name": "plugins/action/static_route.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "486cafe6acd5d69d4f13a8344360de96911020106a311cae1985dc7590720124", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/rm_templates/snmp_server.py", + "name": "plugins/action/lldp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6be37dd5b157287e9e0aa880b5d38cc15d50d98bff5e8d2bcd0f7895d9e4b1ba", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/utils", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/l3_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/utils/telemetry", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/vrf_af.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/utils/telemetry/__init__.py", + "name": "plugins/action/vrrp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/utils/telemetry/telemetry.py", + "name": "plugins/action/ping.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2f684bba2373a2a665e1b9ac34aa2822d33ab1a7f1e2919dd686a4395d07cab9", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/utils/__init__.py", + "name": "plugins/action/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/utils/utils.py", + "name": "plugins/action/lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "061a3ad9eb413c3b48d2c4a77c060e11d499b21fa1830ab4a236f35d7f184fc9", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/__init__.py", + "name": "plugins/action/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/nxos/nxos.py", + "name": "plugins/action/vtp_domain.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "571d3839f5fdab7ee6046ccb1b7e3753877b862f7efd51d43973513910d60201", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/network/__init__.py", + "name": "plugins/action/ntp_auth.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/module_utils/__init__.py", + "name": "plugins/action/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/evpn_vni.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/nxos_devicealias.py", + "name": "plugins/action/bgp_neighbor.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24e26ab14bb905ab26db440ceec24bad795a13186ad2af2eec0325637dd3814b", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/nxos_vsan.py", + "name": "plugins/action/vrf_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ffc52ffc10befe666ce3cc43cac66a47a5b76ed5465cb691c888f5847a1b3468", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/nxos_zone_zoneset.py", + "name": "plugins/action/vlan.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "34d94bcc1af5752a00ada15b62428af97cd8ea28fe48a8b0760b90105a93ff31", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/storage", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/bfd_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/storage/__init__.py", + "name": "plugins/action/bgp_neighbor_af.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/storage/nxos_devicealias.py", + "name": "plugins/action/banner.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24e26ab14bb905ab26db440ceec24bad795a13186ad2af2eec0325637dd3814b", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/storage/nxos_vsan.py", + "name": "plugins/action/vrf.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ffc52ffc10befe666ce3cc43cac66a47a5b76ed5465cb691c888f5847a1b3468", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/storage/nxos_zone_zoneset.py", + "name": "plugins/action/rollback.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "34d94bcc1af5752a00ada15b62428af97cd8ea28fe48a8b0760b90105a93ff31", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/__init__.py", + "name": "plugins/action/acl.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/nxos_aaa_server.py", + "name": "plugins/action/aaa_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c7d0ba90c00bef7d014ca922ce5e66ea10fe116bb9af88bfdf671402527b404b", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/nxos_aaa_server_host.py", + "name": "plugins/action/facts.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d59827f8eb3a10657b2dab79a121d44e976b207ed70c9b39f1fa343d67f1e328", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/nxos_acl_interfaces.py", + "name": "plugins/action/snmp_traps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "721b0093fc696b7208b679f9c640e9828874f9cf049e0fc7799d12f3c4a29786", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/nxos_acls.py", + "name": "plugins/action/overlay_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e62443a56d9520048a352572f1e10223fc85a9e941f49f2e328fd7cc9531dbbc", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/nxos_banner.py", + "name": "plugins/action/vtp_password.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a98cf0828178ff3233b836f7a1d1478ad4f5020143b0a6435630737a82b4110e", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/nxos_bfd_global.py", + "name": "plugins/action/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e2121178e29e5e34ca77f7ed2dc78e7fdcf6ddbe7a9ab16545c39c11dc00f7ce", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/nxos_bfd_interfaces.py", + "name": "plugins/action/acl_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "87e8b096568e3d9be77c6a3b26c865f06dd2f842ddef22a8ac7edd095482f664", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/nxos_bgp.py", + "name": "plugins/action/snmp_host.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ca66d59144d738485c81eb71678e5fbf15192b761780c6608e5f6999e10cbcd4", + "chksum_sha256": "75b42907b60d3bdcdfb868b4d2b6af3e99b7a3339dcc59d36f5bfb07d4f24661", "format": 1 }, { - "name": "plugins/modules/nxos_bgp_address_family.py", + "name": ".ansible-lint", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f96e377520756dc6861b6ef3a022d0507e54e23a408ba102dd7a9478902857de", + "chksum_sha256": "b47f72e159f93a5ff07ea2534752e0fa977b214e9ac05c667fa83ac13be4e50c", "format": 1 }, { - "name": "plugins/modules/nxos_bgp_af.py", + "name": "test-requirements.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "38263e495390d8b7673f108b1b72f1f6b633cbff391a29d99e7f6f21e981ea08", + "chksum_sha256": "ef11b7e31c53ed88a2352faacda33806dda00f45d4e9cce540a40e6a47ccbe73", "format": 1 }, { - "name": "plugins/modules/nxos_bgp_global.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f8014a9be4865b8aab21160882dc8b46ac78162fb20ad79a70c7c29f5963db93", + "name": "tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/modules/nxos_bgp_neighbor.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cb1f52fccdfbaa579200d5f8fe984fd51cdbd21a8372ae14f844fbaaffc30119", + "name": "tests/sanity", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/modules/nxos_bgp_neighbor_address_family.py", + "name": "tests/sanity/ignore-2.9.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "90d0c8c3a503f52d5cc18dca92c6c19cac69b4d82b40bba10280a2fba56f5270", + "chksum_sha256": "5aed10757064babb8aa6dafee78f2c9f9aac004c2188c70ea3c0f018db82cbae", "format": 1 }, { - "name": "plugins/modules/nxos_bgp_neighbor_af.py", + "name": "tests/sanity/ignore-2.13.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6460248402ba1e4ea1d32ee196d83768b2cd97f9bcad9eea37793f0de69c1d24", + "chksum_sha256": "935199601f3c767ca623e1a8c6f73032f3cfee0536e4aed1cf5842b157956671", "format": 1 }, { - "name": "plugins/modules/nxos_command.py", + "name": "tests/sanity/ignore-2.11.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5fd4119bed0074064b1158cbb231f3e2277576902d6fa9fb5bc42cc6ffd09d48", + "chksum_sha256": "dffc0e474e545fd47798cbc252ee5836ff87b5f4eb0c7dfed83e78c29101d622", "format": 1 }, { - "name": "plugins/modules/nxos_config.py", + "name": "tests/sanity/ignore-2.10.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "57e7669539acf6dd3c13404550cb154074e38a5bf003ec1bf0b91b93444ea98f", + "chksum_sha256": "dffc0e474e545fd47798cbc252ee5836ff87b5f4eb0c7dfed83e78c29101d622", "format": 1 }, { - "name": "plugins/modules/nxos_evpn_global.py", + "name": "tests/sanity/ignore-2.14.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3cb0c7e66e32783f346744b3b08edd63f2d3ac82b67addb55597a19b48db7e9c", + "chksum_sha256": "935199601f3c767ca623e1a8c6f73032f3cfee0536e4aed1cf5842b157956671", "format": 1 }, { - "name": "plugins/modules/nxos_evpn_vni.py", + "name": "tests/sanity/ignore-2.17.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d4efeefbc3a4324d2b692ece1149289d2f249c8f338fc9e15d8adabf15ab71e8", + "chksum_sha256": "935199601f3c767ca623e1a8c6f73032f3cfee0536e4aed1cf5842b157956671", "format": 1 }, { - "name": "plugins/modules/nxos_facts.py", + "name": "tests/sanity/ignore-2.16.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb1ae146c9df5aac3b721750a8074dd112b0397bb50ada4cc8d7629af8e52e1c", + "chksum_sha256": "935199601f3c767ca623e1a8c6f73032f3cfee0536e4aed1cf5842b157956671", "format": 1 }, { - "name": "plugins/modules/nxos_feature.py", + "name": "tests/sanity/ignore-2.12.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8b8a6deea08ebeae462e2fefbcc4762dd67b71bc5a5d0f51e3ea3595375888da", + "chksum_sha256": "9f183c744ea1c27c189e2d0da7a45ae3fb50f69e4c658e4aa55b023061181518", "format": 1 }, { - "name": "plugins/modules/nxos_file_copy.py", + "name": "tests/sanity/ignore-2.15.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8418e53de9a83561d6c4b60b2d5d8115863d210376acbebf4f4c41a6489cd2a5", + "chksum_sha256": "935199601f3c767ca623e1a8c6f73032f3cfee0536e4aed1cf5842b157956671", "format": 1 }, { - "name": "plugins/modules/nxos_gir.py", + "name": "tests/config.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "05675c570b78691538eaa20c62f548b41885b8db20018e5805a6ced813eaff40", + "chksum_sha256": "de5087316490411841c67aa3307cfdd3acaea09875c9b4dee6852bca7c120764", "format": 1 }, { - "name": "plugins/modules/nxos_gir_profile_management.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "38cc5881a72e0809fd023188435ecae1085b0e568f06865359e65bdd49853ef8", + "name": "tests/unit", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/modules/nxos_hostname.py", + "name": "tests/unit/requirements.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5e7ce46e1d1143211af0f5747253b429eaa78c68993852703861cf469ccad10", + "chksum_sha256": "49ba996dc4735c3463e9af561344346dfae14bcc1a68096ce78364b377f0df1f", "format": 1 }, { - "name": "plugins/modules/nxos_hsrp.py", + "name": "tests/unit/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8e0bccf6fb0aa7ce0cbacacb8acf9821015472213a2319df618e7eef4d03a52f", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/modules/nxos_hsrp_interfaces.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9dd94e0d4d52a8ac424b30ec631b550f2438af36e3109c2da875d89a74f65d9e", + "name": "tests/unit/mock", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/modules/nxos_igmp.py", + "name": "tests/unit/mock/vault_helper.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ec8870d4fb6ecf6089717936138d43fc5fe54381994a0a7d5e8299a94f9ade67", + "chksum_sha256": "3bf7834d18bd34473d0f4b898253177229a131f14364874efba584ff985e4a41", "format": 1 }, { - "name": "plugins/modules/nxos_igmp_interface.py", + "name": "tests/unit/mock/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e971debe6199b397fefb3ebdb296851c2200f444d11bc1aec9e705e3f142dd40", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/modules/nxos_igmp_snooping.py", + "name": "tests/unit/mock/procenv.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ee94035d9f4a71393a16670f8e269064476b6da5d99071a4f23cfc253da13703", + "chksum_sha256": "a1e05e3b412bb02d16ec786919f6395c813a4e10d73ca7ca4d0ffcf5066e6947", "format": 1 }, { - "name": "plugins/modules/nxos_install_os.py", + "name": "tests/unit/mock/loader.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5c750b05a78eefb2b014b339ef86a02de8a1cf8daa31bc7c8e68ccdd7be589c4", + "chksum_sha256": "2343d1f644250d4b616f0bf0a826fdee8fe306243d8412d44dd0e033352b262b", "format": 1 }, { - "name": "plugins/modules/nxos_interfaces.py", + "name": "tests/unit/mock/yaml_helper.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e748cfa29b6be827349f09c36e08c66c5e13d53ace6aff9412ebbc49b7218234", + "chksum_sha256": "fc4f4d5d2968ced8e3a04653354945d720e7c6369aad67ba7724c5981c82b6ea", "format": 1 }, { - "name": "plugins/modules/nxos_l2_interfaces.py", + "name": "tests/unit/mock/path.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0e3ec947b751771f318eccdf3b086fad8ae9615deee632f00055081f594a3318", + "chksum_sha256": "e6daa1376aa9b171f37dbe2fed6cd37d7b4bacea09e4646953dbe77a7e65ee7c", "format": 1 }, { - "name": "plugins/modules/nxos_l3_interfaces.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "38db1135b557e314d88cdba25450ecf71c91d2269f2d2da9cf37d1f1229b688c", + "name": "tests/unit/modules", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/modules/nxos_lacp.py", + "name": "tests/unit/modules/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d53716665e70e0eb5f3583a497c6d642acf849c70480420646f7a603966ea15", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/modules/nxos_lacp_interfaces.py", + "name": "tests/unit/modules/conftest.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "efe09b0a78ee09528820134c160e70776659f1eae9aaf8cfd713d91011cccf4b", + "chksum_sha256": "354440d86f684a9641f329807a687fe71fc66ab901207f7a166ecfa648935488", "format": 1 }, { - "name": "plugins/modules/nxos_lag_interfaces.py", + "name": "tests/unit/modules/utils.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d74c13af260252c75c2fce4b20ac3e8d85c14d45bec8a7ea04016a448b3a8b48", + "chksum_sha256": "a0cf9489868d4ed6f549bf4133f50fd4f594850a6458e6c07a913078355c1385", "format": 1 }, { - "name": "plugins/modules/nxos_lldp_global.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7c8de9a818e99ccf156203d70c916dd5138d96a523683ccd7eff88d3789eda0d", + "name": "tests/unit/modules/network", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/modules/nxos_lldp_interfaces.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b7bfa2021d5f29528789e26074483fdc4b98187dd3a618dcbe38e14a06439e88", + "name": "tests/unit/modules/network/nxos", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/modules/nxos_logging.py", + "name": "tests/unit/modules/network/nxos/test_nxos_evpn_vni.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3a99d36431853d5cf83e4dcc3602302c2a48415123ff93066ac0fd54ed079538", + "chksum_sha256": "a9dd476a29066efedb3611a768c18208a1cbaa9fb7b6664c1d3496e8b12033db", "format": 1 }, { - "name": "plugins/modules/nxos_logging_global.py", + "name": "tests/unit/modules/network/nxos/test_nxos_ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ddff9047c280d4e9d13643386551dc85c161dfd3f356a486e28930d7cae28477", + "chksum_sha256": "a849b007bba2a9b83e993c51bae94cc56679256b94c0602d0f4dcebb09c2dacc", "format": 1 }, { - "name": "plugins/modules/nxos_ntp.py", + "name": "tests/unit/modules/network/nxos/test_nxos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3d68b52173945d37cf18fa5253ab87d00efc2f77374821e8e22c82260fa04b38", + "chksum_sha256": "37e6224e4f77205d58782bae0080a5af3da05610062f7b378f38554ee7514de1", "format": 1 }, { - "name": "plugins/modules/nxos_ntp_auth.py", + "name": "tests/unit/modules/network/nxos/test_nxos_static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ebfe534e67975d2e35170269fefaadc7b9327c3d4b2c754e09bf9d61b0a744e", + "chksum_sha256": "8f6e383e73a654e461b447f8b5721c4d7ba491da63c1c9d6aa0ee4a25d402af0", "format": 1 }, { - "name": "plugins/modules/nxos_ntp_global.py", + "name": "tests/unit/modules/network/nxos/test_nxos_lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6159f7b3f74c36fdae3eff740202f9db87d92eaae9ecd0bcc69d790312daacb9", + "chksum_sha256": "b8205f7e7b9840ded74d3476e1ed972bdfa75125b45024ffc1725e057690f120", "format": 1 }, { - "name": "plugins/modules/nxos_ntp_options.py", + "name": "tests/unit/modules/network/nxos/test_nxos_lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d569feceac1e9a09090b5e039d89cee9be55d3d3f60e8c1e63bf963c80655be7", + "chksum_sha256": "32d30a2580844412a612a3a35fc32bfa5c6f5231f841a16574cc125bc856e02d", "format": 1 }, { - "name": "plugins/modules/nxos_nxapi.py", + "name": "tests/unit/modules/network/nxos/test_nxos_hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cf44a3e80959a805238202c49a5a639d6a1ecf5f6d8191b93b3f6db314a80c15", + "chksum_sha256": "5b7cc39cad57438bf866e079c7efe0a9e0bd05ad2cbc7e1fdc4dd6016f7d7736", "format": 1 }, { - "name": "plugins/modules/nxos_ospf_interfaces.py", + "name": "tests/unit/modules/network/nxos/test_nxos_vrf_af.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7376ed01a27b7ce456dd7d97beebd57d56317267a38d26a10ef33d869bd7116f", + "chksum_sha256": "e420b96864806c431d47822e92410c0e12443ee856412e88037d83c7d8e7ec14", "format": 1 }, { - "name": "plugins/modules/nxos_ospfv2.py", + "name": "tests/unit/modules/network/nxos/test_nxos_vpc_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "65489f7ab6c78776741aa12fa35c592017e1b100c9db6268e2764c6c789a1f95", + "chksum_sha256": "3abcf4a8badf2045283c90df190db8eb47d82df2be679b1318ac53ecb3cc42c7", "format": 1 }, { - "name": "plugins/modules/nxos_ospfv3.py", + "name": "tests/unit/modules/network/nxos/test_nxos_feature.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5b7e888d2093fa12d0e37b7bbc96e69fd6a2c67bb90e84caf17f11880a048de4", + "chksum_sha256": "04347076b23abb7bbb9225d1793e9c6faacea6e990f45cd6a3b2d8b0b3355eba", "format": 1 }, { - "name": "plugins/modules/nxos_overlay_global.py", + "name": "tests/unit/modules/network/nxos/test_nxos_evpn_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f2e7bc1eff3259825c6eae134d87e92ee922cc3fd423b63fac821c659ea891d8", + "chksum_sha256": "08fa4dafb774bcb34b593281550fa175b775bfa4e5c61befe0238b1bf9687179", "format": 1 }, { - "name": "plugins/modules/nxos_pim.py", + "name": "tests/unit/modules/network/nxos/test_nxos_command.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a06919bdfbaab64ef58295c408def23dc36336b630e12d80a2a80e3a31a53a85", + "chksum_sha256": "339e1cb26b204a937d7ea377d020cf220ba8a7fb5cedcde9a6e5c20ff9d26087", "format": 1 }, { - "name": "plugins/modules/nxos_pim_interface.py", + "name": "tests/unit/modules/network/nxos/test_nxos_hsrp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "62a33fbb98411f4b017a3d884645f48f8e79049f27e0f3d87698b3bcb7f0c48c", + "chksum_sha256": "32da41a469c83575c4db2f6b208286f9cf33df071d5a67c76a324ae8a1cb4f3d", "format": 1 }, { - "name": "plugins/modules/nxos_pim_rp_address.py", + "name": "tests/unit/modules/network/nxos/test_nxos_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "048f2a6e71622db905600dbc6f0862564275c438ac0a401aca0b2c792605d10f", + "chksum_sha256": "decd7046f084f6472878cf81e7978691ad4cdca125dfebf5cc1ea7a8769a941d", "format": 1 }, { - "name": "plugins/modules/nxos_ping.py", + "name": "tests/unit/modules/network/nxos/test_nxos_vpc.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9d2648ff85a7fee59b9b0b099afde09e1f7f11c7e5d9f033d27a2af0953e854e", + "chksum_sha256": "d75391e6c222c6569a0aa77d2c7d531add9a16ea060e03f0f81a6352786ef0cc", "format": 1 }, { - "name": "plugins/modules/nxos_prefix_lists.py", + "name": "tests/unit/modules/network/nxos/test_nxos_bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fbc6db3871917b6239c2e37caede67c3a6f69e2c578357f5831bf74173c09bd5", + "chksum_sha256": "726870e1bca5d80d7ffbc8f09e803e1444eafe633b8e2e32f1ef194666fb5200", "format": 1 }, { - "name": "plugins/modules/nxos_reboot.py", + "name": "tests/unit/modules/network/nxos/test_nxos_ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "826e076559d7143fc03a3de9f0e5ec125241fd3196037f2a1a524e033e75b8de", + "chksum_sha256": "e707825398974684fd4a51ba79bdb1b5a75eb4ba93ceccbbd063af538c4ed149", "format": 1 }, { - "name": "plugins/modules/nxos_rollback.py", + "name": "tests/unit/modules/network/nxos/test_nxos_zone_zoneset.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7fec43544c7cb26eb84d9cdd22e74a4f042de04943e5896fcd45a1020f003e82", + "chksum_sha256": "81675e55caa8a49026cd49db7ec69583a61553498db1b68b86596f491fa426d8", "format": 1 }, { - "name": "plugins/modules/nxos_route_maps.py", + "name": "tests/unit/modules/network/nxos/test_nxos_vrf.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "722b63db9941f35e6cd153b28797667d1b67b4c48337d060fa75d3052991e48e", + "chksum_sha256": "897434515383d004c4de31606091235b2186d690bc28315959de42b1d11dc02e", "format": 1 }, { - "name": "plugins/modules/nxos_rpm.py", + "name": "tests/unit/modules/network/nxos/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e2ba7d2ec024a075a96be051996d4eba6f6e370058c6df454b89ac7c36759f58", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/modules/nxos_snapshot.py", + "name": "tests/unit/modules/network/nxos/test_nxos_bgp_neighbor_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5cf9eab5ad1ae6953579860b7365ce6e6d604f69fe00389f656c63f99cb3b24f", + "chksum_sha256": "843eafd7ab9575c2f407e91f663efb88fa44c736c6724fead0c94438bee6e76d", "format": 1 }, { - "name": "plugins/modules/nxos_snmp_community.py", + "name": "tests/unit/modules/network/nxos/test_nxos_bgp_templates.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4225f8c4053ec681cb9fadb841f3b0660771879e740d13858c459fedbfc5aa3c", + "chksum_sha256": "52063ec8838ba2d979b0df01dcbd4e66204a33e553ddf2bff9fdb1efafbae8cc", "format": 1 }, { - "name": "plugins/modules/nxos_snmp_contact.py", + "name": "tests/unit/modules/network/nxos/test_nxos_ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "936a5e9b00d8c46ed39a8818f5806971f16fc8cebd3f5106e6909b7ed8395ac1", + "chksum_sha256": "c0edb9f7af075021504b7fa5c4ef73d7057c2edfe1aa4d3b773484e862555cf8", "format": 1 }, { - "name": "plugins/modules/nxos_snmp_host.py", + "name": "tests/unit/modules/network/nxos/test_nxos_devicealias.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "63a2c4a1f0a89e87582c7e428da9aba7296ae49148010306458db0b5ad9e4133", + "chksum_sha256": "61bdff16bffda8f4f31b03f02fd0047d1aac07af0898f9c60b41469b1e192622", "format": 1 }, { - "name": "plugins/modules/nxos_snmp_location.py", + "name": "tests/unit/modules/network/nxos/test_nxos_nxapi.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a11d2a363173b645bdf9c8cd1cdb80e77b94d4c169069614deae90a441a1de22", + "chksum_sha256": "9ba8a07fd21828a268fdb90aa0921cdfe7b487de827db4c746228be2cc016e8c", "format": 1 }, { - "name": "plugins/modules/nxos_snmp_server.py", + "name": "tests/unit/modules/network/nxos/nxos_module.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fee45cc5653eb0c0148e2213a8d2de129410f2a001496d684b2538c3a8e294f9", + "chksum_sha256": "0d1a4eadc6d91ab91db07ea6ac3a5576e417f1339c1520079de065451b87fd3c", "format": 1 }, { - "name": "plugins/modules/nxos_snmp_traps.py", + "name": "tests/unit/modules/network/nxos/test_nxos_acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "73ef124bdd93a1b8d6d7d55870e04c99bb29cde93c0c400884f06c4972057f75", + "chksum_sha256": "e3682b5a6e62c35584ca486d95f112ad99c2551e3fb5913ee3509f4682397566", "format": 1 }, { - "name": "plugins/modules/nxos_snmp_user.py", + "name": "tests/unit/modules/network/nxos/test_nxos_telemetry.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d16699e2fd607da804183e1fe29c6981095303d22b836f865f2046dc2c50ecf0", + "chksum_sha256": "2b3e8bf396743daed1d752588f7fadafcb1d9cc3cc562c2a40f36629f68b6f10", "format": 1 }, { - "name": "plugins/modules/nxos_static_routes.py", + "name": "tests/unit/modules/network/nxos/test_nxos_banner.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fd74c6642cadfb251f9c29e7179c0f9d4f3263c6f957b4b8ddaa2893f6959af1", + "chksum_sha256": "d5e68392d403e4440a3e85556a968abce1e85ae58dfadf487bbd25f9c26c6095", "format": 1 }, { - "name": "plugins/modules/nxos_system.py", + "name": "tests/unit/modules/network/nxos/test_nxos_prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e6797e5f93cb99da4c135b809da1eea5e9b8363caa5c49b830cd70ffbd66c1db", + "chksum_sha256": "c9c1c9c9d867611ee162f172041539ee6af3f8825af52cd2888c1623ed012603", "format": 1 }, { - "name": "plugins/modules/nxos_telemetry.py", + "name": "tests/unit/modules/network/nxos/test_nxos_ping.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e518a2c46e0bd074881b5dc60092154d8a1438a26a979dae60d98411288a5247", + "chksum_sha256": "8eeed1361334dd9a92549debd17027fab40c293dbec6307cdc460b69cb448ee9", "format": 1 }, { - "name": "plugins/modules/nxos_udld.py", + "name": "tests/unit/modules/network/nxos/test_nxos_overlay_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f9d531c20f551d644be87cf218c7bf8175f531a3190c60c7a20ae281203fbe8d", + "chksum_sha256": "a59fd945009509ca8eec7fb78bc6000d692230ef505bcadf48e8b843904987af", "format": 1 }, { - "name": "plugins/modules/nxos_udld_interface.py", + "name": "tests/unit/modules/network/nxos/test_nxos_vsan.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2346b5a0aec6682e11c7ee21cf5f77fd1b53bd4839d11a7da4e23e8378049aaa", + "chksum_sha256": "5912485637b9720e5f61c4364e65aa9c52fe1f5f3c9f06516bde908bd4d28f1c", "format": 1 }, { - "name": "plugins/modules/nxos_user.py", + "name": "tests/unit/modules/network/nxos/test_nxos_system.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e2b7b63d6af840b457a71aa619d1c27dec1addd472089b4e0ce1088df18c4d0d", + "chksum_sha256": "bbd7e38463b30523fee2bda727e81518950dc70a423c0e8d4a26bfc96f3cf600", "format": 1 }, { - "name": "plugins/modules/nxos_vlans.py", + "name": "tests/unit/modules/network/nxos/test_nxos_user.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3d37e3cbddfb07ede884e014bcd1edaa6fb20366953c3e8de40c2872d63ea8cf", + "chksum_sha256": "8bdccd30ccc686e727cb486c80e3868097a43faeb27bc0d1b674acf77411c577", "format": 1 }, { - "name": "plugins/modules/nxos_vpc.py", + "name": "tests/unit/modules/network/nxos/test_nxos_hsrp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "edd715fc9e823dbf37a31a16de8f680132e0cc9b2feea46ab073d34f8098acf5", + "chksum_sha256": "da3a8f5c346182514bae4d4447628462c9b3271f1e36b27dd4b1372d44d6c46c", "format": 1 }, { - "name": "plugins/modules/nxos_vpc_interface.py", + "name": "tests/unit/modules/network/nxos/test_nxos_route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7361c2f7afeaedada1c42037a5f54d16b934ef5993f155819e0edb731c21de1f", + "chksum_sha256": "007fc4813c28fa488eea78d446db221cba0d12b5bd80ef34160ee799acc85f70", "format": 1 }, { - "name": "plugins/modules/nxos_vrf.py", + "name": "tests/unit/modules/network/nxos/test_nxos_ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "118fd73f988199e74b0e6d5924fe9fd2ad995da9f9c6024485b4042f234aeab8", + "chksum_sha256": "03208457ac4c50b9400c38c3ab8ee060254142d253743a71666b182f087ade8b", "format": 1 }, { - "name": "plugins/modules/nxos_vrf_af.py", + "name": "tests/unit/modules/network/nxos/test_nxos_bfd_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c2029b042fc0e83b5b6298dcd6242aa7f5b014653eed4e703860ba6baddb3155", + "chksum_sha256": "dcb920f198f159f4c9c043913dcbb346ee07cc5c5524f747f064b09c5d25f1eb", "format": 1 }, { - "name": "plugins/modules/nxos_vrf_interface.py", + "name": "tests/unit/modules/network/nxos/test_nxos_vxlan_vtep_vni.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2876512450aa2920f88a2d408eb72cd7976ec4124a95b058d57427d0f939fb1", + "chksum_sha256": "bc31efebfb5c1f6c256006c77678efef031c5b1d289e8873460b998db795318c", "format": 1 }, { - "name": "plugins/modules/nxos_vrrp.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a261501d6200ac9685d544c2dd29f284377da8592864f7ad26e74ef4e55d5567", + "name": "tests/unit/modules/network/nxos/fixtures", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/modules/nxos_vtp_domain.py", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_interface", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_interface/show_interface_eth2_1", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e76836b4b68b3c32d5a146bcb6738009872e3e69d3afffe269e50846d4a84058", + "chksum_sha256": "de922c7abca31dbb4d597cc485a02b9affe0c85fbaf1d268b15d38d8fe6ba069", "format": 1 }, { - "name": "plugins/modules/nxos_vtp_password.py", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_interface/show_ip_pim_interface_eth2_1", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e6cb79ae92bdf1ab82291e4b331dfeb53b42f004a416908268380813905b8215", + "chksum_sha256": "88ad9b709dae48e373fcf04c158d6714de1f94e808fa033204d3b7b4e48bf8bb", "format": 1 }, { - "name": "plugins/modules/nxos_vtp_version.py", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_interface/config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aeb8a8d28e580e092395d16dec4934c2909f4ba98270b840534bc5feaac2346e", + "chksum_sha256": "25600ba56e8e7066889af660ff87eb22aec3ce587ad60c1a7eca25c627064a5c", "format": 1 }, { - "name": "plugins/modules/nxos_vxlan_vtep.py", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_interface/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9aefbaf9557a93bafc8de522a59e3246967964e658c9ee7631fa202e0b5215fa", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/modules/nxos_vxlan_vtep_vni.py", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_interface/sh_run_interface_eth2_1_all", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "00cc8a5f8826d10b27cbea4c1523a5dc48a57d174ae7ecfd918e02d506902b80", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/netconf", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl_interface", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/netconf/__init__.py", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl_interface/show_running-config_aclmgr.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "606d5b49ef095558924b32c6faa4e06f128f4655dddd57595e945cd33a4dbe72", "format": 1 }, { - "name": "plugins/netconf/nxos.py", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl_interface/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c00660150bfe527dd71eeeb961c9e08da9ac65faa7e1852f4737a47305e723bc", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/terminal", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlan", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/terminal/__init__.py", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlan/config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4cd4cba4fba8bd0ceca02c0cea325b38c65d82a1b01633f59776902dfc00010c", + "format": 1 + }, + { + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlan/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/terminal/nxos.py", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlan/show_vlan_brief.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e49e9c495e05b71317fa3d2c462cb085ce5827874235484d735f470e7afa5059", + "chksum_sha256": "c60b1775765492c72f6cf744aa56574aeea9b6c57ac19c974ebc73146cf4920a", "format": 1 }, { - "name": "tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlan/agg_show_vlan_brief.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a6ad270b50167f7b13c3e7f40f83ebc812ceb7ef7d3455c0ce7b404ede9d6238", "format": 1 }, { - "name": "tests/integration", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc_interface", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc_interface/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc_interface/show_vpc_brief", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1901ac7c063992cfcebb4ba110637bc241aa0fb122959d9af40be8957b47bf54", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server/defaults", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc_interface/show_port-channel_summary", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "bc24581fc9c635989ae2926270c03c4c85c642b768f6685cff7cfdcd924e70f6", + "format": 1 + }, + { + "name": "tests/unit/modules/network/nxos/fixtures/nxos_telemetry", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server/defaults/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_telemetry/N9K_SGs.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "af042e9ae8d0a2e6b6ddc28f13ce438e7b49050385ca546bdb5f1a1b51c1da1e", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_telemetry/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server/meta/main.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_telemetry/N9K.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "8d4c2bff81ce036402bf1bfc5a01191ead2507ea6deb7e7d4930ceb35965b1e5", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server/tasks", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/n7k", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server/tasks/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/n7k/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server/tasks/nxapi.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/n7k/show_run_all", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "0f487063d9698ed988f461a0f1d90be2406db893a1881d162720dd0587a0ddd9", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server/tests/common", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/n3k", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server/tests/common/radius.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/n3k/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "08fe50e81078371eff5d9482f9b7721eb6fd1288ccc88f11b8b42f94270df4ef", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server/tests/common/tacacs.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/n3k/show_run_all", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "309cf43dacad631085bfede9a52ee2e7bdb4763488463bfb96dde11184bbe0fc", + "chksum_sha256": "db42fd8881e10bf436a6712d228152f2ca6e627e0aa07531751009df2153fc3d", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server_host", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_system", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server_host/defaults", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_system/vrf_only", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server_host/defaults/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_system/vrf_only/config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "78c6c60ac86950ccc102c733222dc40ca42ae78622fecbee3af27f61bb015adb", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server_host/meta", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_system/config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c65fd0fea85d4421908dcb50a8778a562d62c2723ccb10520cb9c62c57f32977", + "format": 1 + }, + { + "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_rp_address", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server_host/meta/main.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_rp_address/config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "358b10ada00b4a323c671eaa193bc4c62bfa6e6600042382003a8efe5708bddf", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server_host/tasks", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_rp_address/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "format": 1 + }, + { + "name": "tests/unit/modules/network/nxos/fixtures/nxos_switchport", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server_host/tasks/cli.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_switchport/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server_host/tasks/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_switchport/show_vlan", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "864e06b1e9befc20919e723ee5f9bcb2f51a88e524e8ce8e112ac9ec12bf38fc", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server_host/tasks/nxapi.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_switchport/show_interface_ethernet_switchport", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "8b266354ff8d44bc8987e97565cba41afedb2fbe282c577c8d371516e84d01bc", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server_host/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_switchport/show_interface_ethernet", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3eba930c712f346d62428fc829d411a3c7f3b32d00ac0b54bee3e25f5a239876", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server_host/tests/common", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_bgp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server_host/tests/common/radius.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_bgp/config_32_bits_as.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "10dec61711d8e2e9660491a3ac36bda92ef57264b44ce2fafd5c0512b2ecfd13", + "chksum_sha256": "deed874c21f6472915657eed44c550ff438995b132d365fedb8b94deb510c856", "format": 1 }, { - "name": "tests/integration/targets/nxos_aaa_server_host/tests/common/tacacs.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_bgp/config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b669c11c0bee9b899cb3075b446411bac7b4fd7c79396e5add683a2d5ab8b725", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_acl_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "f971230c61be923533c3ea1eb63e9938cdf701f3884d511105d551d7ee531554", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_bgp/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/defaults/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/meta", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf_af", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/meta/main.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf_af/config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "a11a202b4b688d09c6b7cb78a74d139f2b599c85973dd068b1ec18892926cbf4", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tasks", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf_af/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "format": 1 + }, + { + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tasks/cli.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_3.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "412866163b019da7d8648980decc40f7011a59d51465d28b6b7623855e4cb5e5", + "chksum_sha256": "3fee2a63052400d50f93de5abc0dfd7897a48269d71af99f53182139461c3bb0", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tasks/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/show_zone_vsan.out", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7be6dc51b2f6fb5601e0d7f3498991d34f0910206fe6ed537217c8eba86a3cf5", + "chksum_sha256": "74aee6c5327fabe2de027ca0907e76be2628510e125976c8918575bbf09ea703", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tasks/nxapi.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_0.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5d68b21a25eb306f0096a751e16219fab0f626b859d9afece0d285349f945948", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_acl_interfaces/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "010172dc57589c93d51b95aa50feecbda06ee706fd623422a088de23ccc9e723", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/templates/populate_config.cfg", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_1.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6dd477232ff3b52e84f25f81712afb11874700566d9c52d923c012ad1d770cf0", + "chksum_sha256": "abb9d2504120327f0b55c36a6c130c9180a0f455ae397737ecfaaa4e6f891ef5", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_0.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cae1aca46b8d82f44a8f728182fafd1030040360725fb7367040392c1d52c018", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_1.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "46c16cd03a600d15085abf2052ed33830fed61424a02004021ce4dd82f0086e2", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/deleted.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3c80a977c86fd76c2bbf06ab9878e383170afc5cba3f336e2d4f8ca2de3500fa", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/empty_config.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_2.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "46c8e8809399bcd1bdfe1242e346ac1c340668e32fdbfcba0cfe6a4ad9ff6f4d", + "chksum_sha256": "6e109ddbe7ad8d251edbe3ebe5bf960c055ac9a1d3d5bc3865596bf0d65d83a5", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/gathered.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_1.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "698995afdf69835fb4ba540353a3e4f213d7954d21073c0cc754b1787cd05231", + "chksum_sha256": "bcdd326b9710f2b1f56ac59ed3bdccaa6e853cfb24af1445743d3254ce458166", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/merged.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_bug339.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8eae4ac211ea7861be4677520f4962046223747c3f400208cad64b245998d0df", + "chksum_sha256": "6c45bdddc81417a51bdb8256cc024efef8d8cf432083297902ef8fcda9850703", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/overridden.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/show_zoneset_active_vsan.out", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "603d8a6ba49dd33261b0c7a152e55df28f2c3e10f09e9ec0f3eebde8d6c5c7ad", + "chksum_sha256": "eef09bfcfaae85faa6c0b10f2ac4207c73947496c77783c7aa6bac45a9d02d3a", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/parsed.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_2.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ac628812931497d1846e45df02f6c9fc4ba4b8d61fba9a559793b8b217e08484", + "chksum_sha256": "08f7f3dc2d44ed61e7002bc417cea69f8407d7f4b0a62634c1f449f5338f7384", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/populate_acl.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_2.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d44542c7c93f7edcef7326941f254a969cc90fca962286a98a576a1979064cd0", + "chksum_sha256": "171f743817a7ffe74398b6d78a0600ec0126dc2fe0890694a62eb6db89225a58", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/populate_config.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/show_zoneset_vsan.out", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ff18091eda8eab8839ce8b146409c956a16da2af0d78204879e2a0d844835c46", + "chksum_sha256": "fc71e64aa30f5e4da11b419ac36c9b36cae8057bd8bef47b2da5bc293ebaaebb", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/remove_config.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_0.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4a810ecec7ad98918852e116b1723828e387fe649b66384bcce7ac7eeda9a3c3", + "chksum_sha256": "13fa7bba46e2967e5c1bc2254620c4cd5337daab92a23d8aa6d6dec1ea7905ae", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/rendered.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/show_zone_status_vsan.out", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9ab726e93c94df77ac9671e7dfa0b8c89104ea4333e25b56f04830f9bda81942", + "chksum_sha256": "42ca86dc445e87a4cba4d08cbd217173af42f60181eb44017d852837c17e9a47", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/replaced.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_4.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "155aa10a15be7eea0049eb7035993970089c76ee53bcd152999c6055e8586aa1", + "chksum_sha256": "5005380753639cd3afd7e1b4ed90452d5d9492bb05c0852563009949e285db0e", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/rtt.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonesetactive_0.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96d777b4974044947557f7ae5f9400640b0376086e15759c8dd8befb6a65d4b2", + "chksum_sha256": "1836db8862dd990ea4008e3c10d16d7a5563561ac27a8f846f2d2bfee8d805f0", "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/vars", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_evpn_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_acl_interfaces/vars/main.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_evpn_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6a97fa118eda919bd0c4d9b45fbacbb04ef221e6d264073eda5612e7b57228c9", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_acls", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_evpn_global/unconfigured.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "84f47e5f6bde50931928544ec35970db216f2bffd80cff2d7b7350903d86a5c1", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/defaults/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_evpn_global/configured.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "53ca3e78de8cd1b9ec6e040ece7bec23ea29663d1eebd1aed66a2980e832dc19", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/meta", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vxlan_vtep_vni", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/meta/main.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vxlan_vtep_vni/config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "9676910539593a9a50989e688d7848de6074092a58e720ebbb437fa02859bd5f", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vxlan_vtep_vni/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5b672577df941e528d711848cf3875e798da2dd3fbbdea2cb13a966de2f1a8f5", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_command", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tasks/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_command/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dc2e669d7f6ccc6f6bd958fc52376105ef28a808ec084c11f2dfcecf1471760a", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tasks/nxapi.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_command/show_version.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "258e6ba0019efd15be53daa8168c90204d68129e82ded02b6c09fca29da7c3f3", + "chksum_sha256": "c45a343dc5192f50ef68b6bebee3da8cb980be9ec3cd5b75b00a20658fde6748", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tests", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_bfd_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_bfd_global/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tests/common/deleted.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_bfd_global/N7K.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "14f12dadd4d09d23feee07007209b1eae18bc9c013a50f79ed39ae022e652226", + "chksum_sha256": "406c13868678145de8fa80ab6540d805084b62c191a928a466fd44e6e59ccd78", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tests/common/gathered.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_bfd_global/N9K.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8c6126ef877c72fdb6e19f6499e4c3ac4219a5fb4cde44f4529306aac3fd7966", + "chksum_sha256": "9089fae22c9d5b25f815c43f8de1b95041c2fd012d721e29e009e47f64fa66ff", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tests/common/merged.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/show_vrf_all", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fc2db360c49a4f960de158645c43115dec175da832363eeaba86a8ea97d1e62b", + "chksum_sha256": "a690233a51aeef35190bd4fd440a65fd819bc0153ea20b1b362c25392329e04c", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tests/common/overridden.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_inventory", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9e261e0e1a8b1778739d5bb1c17c75a378186c5c2efd72a351d604e0d7560318", + "chksum_sha256": "3d501010723eb3675a96a954862a0210ac023095947f8e09ea951e15faa96545", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tests/common/parsed.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9c6e2f1a0b9c9d9dc2c33b7906490f5acde968592b9257f095b4cfc38eee3dd9", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tests/common/populate_config.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/vrf_test_vpc_config", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ea179f0b4974165f1ad36daff838b34a663eb136543c6a908df7b8fe73027eaa", + "chksum_sha256": "f68fa10ece2a3162e69d8bc6ae207437f76b07a956782d6637214ae088346557", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tests/common/remove_config.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_vpc", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6b36b668815324ab75f641e80f9341c4f7b4f264585d07409b01704c5f8a018d", + "chksum_sha256": "d5e079e4fa7499d1ee8e1f0ef98ba4908b5abe9bb146f2d07909c5e139940ff7", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tests/common/rendered.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_vrf_all", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aa791c7d2f4a1989dd888e3880d230146cee3a448116cb224c31066a7f7573fe", + "chksum_sha256": "f9b34cc87b238b789fa2c54dd008597f37aa0a859cf06c25e5ce60aefdd0ed12", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tests/common/replaced.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_hardware", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2b9ce3eb07fb30eb390fc555830b61b4118c485523bf85538a805feb06ea0fb0", + "chksum_sha256": "cf21f74cb2df54e19dae270c2b973eea492c3d9925ad7a1b8b59ff9f0e575287", "format": 1 }, { - "name": "tests/integration/targets/nxos_acls/tests/common/rtt.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/show_vpc", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4912e31a951706d32e6682e65095ad1794df0cdedeeeec3d5e9ba139e14a0409", + "chksum_sha256": "4876569ce50a9bb5a00412d9e0e3bd17aed2d739613b28796c3224ae5397b705", "format": 1 }, { - "name": "tests/integration/targets/nxos_banner", + "name": "tests/unit/modules/network/nxos/fixtures/cliconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_banner/defaults", + "name": "tests/unit/modules/network/nxos/fixtures/cliconf/nxos", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_banner/defaults/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/cliconf/nxos/show_version", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_banner/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "12c7c1c28fcd05fced589995a39f0a1389d970f6199fadcbf95543da330feb22", "format": 1 }, { - "name": "tests/integration/targets/nxos_banner/meta/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/cliconf/nxos/show_inventory", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "cb14576378ab0f2fd25d13dd4c4dbc31c3940d65ecb5f2fa29b39eba7e04d7ee", "format": 1 }, { - "name": "tests/integration/targets/nxos_banner/tasks", + "name": "tests/unit/modules/network/nxos/fixtures/cliconf/mds", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_banner/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_banner/tasks/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/cliconf/mds/show_version", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c35d2ac52b14846e9fb2bba91ef7ba5f946b1cd2e47ed10c0b30941d6f9de766", + "chksum_sha256": "33cb951f7e55bfc24ba68026e55c250973d49113340d4c86ec5f52d2dfb32198", "format": 1 }, { - "name": "tests/integration/targets/nxos_banner/tasks/nxapi.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/cliconf/mds/show_inventory", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "6e57d9cdf30356d92715fcd45fc9fc5e6fd0dc07298682343aef0f9c1c6231d5", "format": 1 }, { - "name": "tests/integration/targets/nxos_banner/tests", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_feature", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_banner/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_feature/show_feature_mds.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "aca22131f56ec81f704e0b11d93c03bec037cd2b33a9964143b8c7bf53fa7878", "format": 1 }, { - "name": "tests/integration/targets/nxos_banner/tests/common/sanity.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_feature/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dcccaebec31acf1f9adfe71c2e5067fcb6c1416a7c63b077490beedfff6078ca", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_global", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_feature/show_feature.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d7be73f626f2d19d384bda2c214b58505da78232c84a1b5c971495510e950db8", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_global/defaults", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vsan", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_global/defaults/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vsan/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_global/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vsan/shvsanmem.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "91b604b4bdd22922dfbfb776dc40a760428806a2f845e8c9e76d42beef14bbb8", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_global/meta/main.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vsan/shvsan.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "63e5ef2ff7dfbb786b21f77d0e047b16a5af1477901433189032c59f0d2e4988", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_global/tasks", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_config", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_global/tasks/cli.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_config/config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "03abdcaedc2f739a12fd1c31f37164f02ed471aff024ad8e654a0d7ec3e611e6", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_global/tasks/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_config/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_global/tasks/nxapi.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_config/candidate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "3352c8002ead9454c96fa97e82bc2bf245ac57a69edbf8a934bed4ef809de3de", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_global/tests", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vxlan_vtep", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_global/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vxlan_vtep/config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cea4ee76cbd062bd53302a5c1f37bc78584c8677950c99eb145c106a8852b278", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_global/tests/common/sanity.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vxlan_vtep/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "302caab98adbe8644dc6652426b6e9300fc4d8fbc1a479ee7aeaf54d6a23da59", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface/show_run_interface_Ethernet2_1", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6fda3eb0c249234e367f3e6d981a9957902f3443ff892ee35c3fbb87f8b2760b", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/defaults/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface/show_run_interface_loopback0", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface/show_interface_Ethernet2_1", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "de922c7abca31dbb4d597cc485a02b9affe0c85fbaf1d268b15d38d8fe6ba069", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/meta/main.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface/show_interface", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3152065a242771a7e158ce7a8a6da2f5e62f0a35807389d62d0b927830d2ab04", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tasks/cli.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface/show_interface_loopback0", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a33a230d9f73a6b3a66310378172ca58942db01c628965eca7e09920701edb60", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tasks/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface_ospf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface_ospf/config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "5251c622e0f68d8c94e0215bd6a9f8c5d7ab755fc8879ceff8a9cac9b09caf9c", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tasks/nxapi.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface_ospf/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_evpn_vni_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f12c0f2a38e284dde284dd4042cda86d71671289619456a3438a58f88ab929e7", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/_populate_config.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_vrf_ntc", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "febb1078f232f6b64f4600db4e81e08b293f9c1b5959937b92458ea3228ac8ce", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/_remove_config.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_vrf_management_interface", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "35032ab6b2376156d9cc4386e0c3ae950aeea92146c89106e92963e5d9f30abd", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/deleted.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1ef608de6174de4a28060255b4f85b5c00beb4bf2c8c4083a85d4132fe06341f", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/empty_config.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_vrf_management", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a07b5658b8543fad6adbc03cc3dedf24b925d6c15ab96cba887e4057adde9af4", + "chksum_sha256": "ca2359ed30a431281f356f0bb15f8bc2abb7169e21a6022034d8a4411fc413f6", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/gathered.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_vrf_default_interface", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e8b8f05c67f53717f791d5fa39768a09589083927c1b288181a9a2b28d3f19fd", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/merged.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_vrf_default", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b7125a5bf2a88b3a35ff6aa0d06f3afd1474431c753306f1390613c7892f8217", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/overridden.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_run_all", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "903605fdce930f7ab623ddda18bc721d07632ae35cede2608f93d0178fffff86", + "chksum_sha256": "f2a24625313932312f1d5e1c1d2c3935f99e5ab28880315c7dd39698df72daf8", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/parsed.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_vrf_ntc_interface", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c7ce5887a89b7e2b67eb2b4bae794a1e0a77c77c2c98c1fbd123bca9ecbf78f3", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/rendered.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_static_route.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "879575bd8531da7b1f7752bc36e8b1d92d654dadebf3ac9e372c71ead2cd75d0", + "chksum_sha256": "8787db2297394f70dfa9ea3550d604fcaef84c40d973c498b147d346422b8585", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/replaced.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/_nxos_ip_interface.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "57b05a37ab33678d00ceac9fa16256aa5ce862265fb330cf2045a6f06bd40331", + "chksum_sha256": "ce28d8e36e6ed0776c23f9d57050b68a3dd4cace82f8d3909de89bf98c2b3401", "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/vars", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_devicealias", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bfd_interfaces/vars/main.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_devicealias/shdastatus_mansi.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ab74ba6b07626a0723ca4ba193159ba14bc7011f11acd94ca9b5f13f817def19", + "chksum_sha256": "b47fe27d3b8f630988803930db4eb009b8ef93e5f7838e4d3a49adf1859d43f5", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_devicealias/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_devicealias/shdastatus.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5426bfb2d55edf2003ff250d0730cf4ea9ace4f44da02ce6664ed3bc77c7867d", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/defaults/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_devicealias/shdastatuslock.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9091f7c42eaff2821f49677da0d8b7f8b2f8c54a8d7105d7f69cb51681585d01", + "chksum_sha256": "ba24a69173bd06b6a025d176427b5619878da807c2a2b8a42aced27ac16d607c", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/meta", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_devicealias/shdadatabse.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2e912812c9084c8676a32afd1e2522f00bfd75d164fbb86113f01a88f164ebb8", + "format": 1 + }, + { + "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/meta/main.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim/config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "c0c10e6761048c3f05f7143dc844703c76c41ed38e9f0175479874c183cef2ac", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/tasks", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "format": 1 + }, + { + "name": "tests/unit/modules/network/nxos/fixtures/nxos_l3_interface", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/tasks/cli.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_l3_interface/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/tasks/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "96a17611067db53f8bdee41ec48055b8ec808b2968d4f3dd784dfae1d6d85d4e", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/tasks/nxapi.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut_ipv4_ipv6", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "9b65b76df737c6da986a8850a5874d6f6733c26b8209c778d7d861ce0b5cb894", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut_multiple_ipv6", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "93f0654869c15b0670ae97f78615662b35f5f3aefccfb3c1e2e463ae3759a6d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/tests/common", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlans", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/tests/common/dis_policy.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c6617296c1d1fdd2a59205b5aa9f1ffd0cce173a875a59e73b7d21e441d1e4a4", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_bgp/tests/common/hels.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlans/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6f2ae5e9044836c334086ca4c959370d152feb8cde8be522d22af3aab6647fd4", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/tests/common/isolate.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlans/show_running-config", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "03d10817ae22af78f394b24c3b0cb814c01a0fa65b54ac956a8b6d6cde9d2862", + "chksum_sha256": "6b793f9fc0770084b8babcdd914c4c42b2d1d3256be53d0cba3a78c19a616dec", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/tests/common/param.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlans/show_running-config_no_facts", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8a7b7f1a3faf8ca3aa0a82cd11926ff10f1b5998761a38ea3223f3be2d5db512", + "chksum_sha256": "783b64a65f752ecfbf2ab084cb164df5d5a818d3dc9980856037a47853bcbfd8", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/tests/common/sanity.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlans/show_vlan", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4add3a662a54d5a5413c4c4486758dcaa6a8f1a940fc06873475b19051d5d631", + "chksum_sha256": "6ac358cca25afd3bbc1aa11515f5e31ea9d548abdbcdf0563949e446d76f0c3c", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp/tests/common/supp_fib.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlans/show_vlan_no_facts", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9df01c4ad9824c9d3874adf85dd8df0371ff6d830b9dc0c5de500b69acd26ee6", + "chksum_sha256": "ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl_interfaces/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/defaults/main.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl_interfaces/nxos_acl_interfaces.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "764024b1837b2491a2e87e60ba305df48bc64541f6caf244fe4eea63653ee340", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/meta", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/meta/main.yml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl/show_ip_access-list.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "61de402089db40d19ac51c2e8a52894c45d9002156027c09ab17d0cc3fea635d", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tasks/cli.yaml", + "name": "tests/unit/modules/network/nxos/fixtures/nxos_overlay_global_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "aeb566110f15e114259185610a7e1a17ba8a4a8380f590120292eceab885bccd", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tasks/main.yaml", + "name": "tests/unit/modules/network/nxos/test_nxos_pim_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "918e266fd84500fc8a9d7958437789683bd47b7875371afaf4941b60f4594bc7", + "chksum_sha256": "7c5937f68440ccc096dd950939c41e9dd41a824489a76043b332c1cf7be3e35f", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tasks/nxapi.yaml", + "name": "tests/unit/modules/network/nxos/test_nxos_l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "92733ffae6656acc3fe5a549f92b8380cef8870e0cc1c8048dda5d10da856fbb", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/test_nxos_vlans.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5bbc41cc6074ab22083413658f1ff7b3e1880add6b03be2d0ef30dc2a85bf163", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/test_nxos_pim.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "fe1f59aa59b32a791b714b6ba94f5db95d63ecb36919a976fece5768c620de26", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/fixtures", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/nxos/test_nxos_vxlan_vtep.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1fb26930f7397caf4e73360e986af9a6bdce38f9109603afa5688907b2a46719", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/fixtures/parsed.cfg", + "name": "tests/unit/modules/network/nxos/test_nxos_acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f6189829f4b10872e4553b8c55db04c742cca9c7598d067ddb3eea05e0ab2f0d", + "chksum_sha256": "3a022041902a02465149c84cdd3bdee33f6d54a5d161a9e1a7aca79e49c43ba2", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/_populate_config.yaml", + "name": "tests/unit/modules/network/nxos/test_nxos_fc_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4ad5b3d3c16b81ea4fcf40639099f5191577136f0cf3ff4970ed630d8248ec66", + "chksum_sha256": "f50d2c6c59efc438903a2064d09bdd734468f6e001a1ca31a460268bcff5e8bf", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/_remove_config.yaml", + "name": "tests/unit/modules/network/nxos/test_nxos_config.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c07047642c717ad5e564697143a11e7cc93a18376d91ee56dc5f44f3d19e22b5", + "chksum_sha256": "31ba29ac58679593dc02bb181382bee8b76f4728eb007ba2291681b64dfb783e", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/deleted.yaml", + "name": "tests/unit/modules/network/nxos/test_nxos_logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e76deb0ccd6d015af64ec4b54fc1da88ccf401b0aa373bda8d4cfabd23b9b1d9", + "chksum_sha256": "ba671c099009dae25cf68d105fcada6f520d1c1becf042270df92a2b42e17218", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/empty_config.yaml", + "name": "tests/unit/modules/network/nxos/test_nxos_pim_rp_address.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fed0782bb5669d310ba18f8a49c51be3b1c8b16b0951f388e2280ed4a1769b50", + "chksum_sha256": "e451350df730941297d3a8b19b3464a5dc0f1a6265e9528fff50165972eca894", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/gathered.yaml", + "name": "tests/unit/modules/network/nxos/test_nxos_bfd_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0aefe84d03b67ec239027816ac3522c7b7cfabac56bd979c781c74cab4b01955", + "chksum_sha256": "6810dbdbe6eca1cb36fe8b377e9a51e7d4604a019db7ec3f1d7c44f8ad53bceb", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/merged.yaml", + "name": "tests/unit/modules/network/nxos/test_nxos_snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a6f21fe892ff7e532f40e0d7ecb6bba83f26bb1765ac4177b453d85f896dc633", + "chksum_sha256": "762a88d4f3946c107d8dc3738799fefa5d6e1647531aedfc7ce27ab01122838b", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/overridden.yaml", + "name": "tests/unit/modules/network/nxos/test_nxos_bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ba2591fcb1bd54b023d7d45818463cb4d7efb6c7a918133129505ab24d3c9b7d", + "chksum_sha256": "f7060edef96542abbf9e9eefd25477e5599dfb63c1e5360e6c8eeb9d3cda9bb6", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/parsed.yaml", + "name": "tests/unit/modules/network/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "29d4c709454554edeef9e3a0e394a93ff71200d5ae09e04d855d8edcedc24549", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/rendered.yaml", + "name": "tests/unit/compat", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/unit/compat/unittest.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7121942f388ee7ab8d2484101d1a980b1d666be25f8388c6f00438f36a99736d", + "chksum_sha256": "727203a3846be41893b78a4b77852a1658925e936fb19539551958a5d8e8fb81", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/replaced.yaml", + "name": "tests/unit/compat/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0a2cbefd9d104a0f9e0370a13ed7e87feb1e74175d922f33d786e604e775a498", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/vars", + "name": "tests/unit/compat/mock.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d000c79c38a69b736cdc65ac48952cbb7ec574ab2e3b13f81bb213b8381b8f8c", + "format": 1 + }, + { + "name": "tests/integration", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_address_family/vars/main.yml", + "name": "tests/integration/network-integration.requirements.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "528513c35a708d559281b5758e5c998565f110acf10803504b3cdbf2accf1988", + "chksum_sha256": "234d0353684f5a41c84eabb03e13539abf602dc0de061a90e129618976b3c106", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_af", + "name": "tests/integration/targets", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_af/defaults", + "name": "tests/integration/targets/nxos_static_routes", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_af/defaults/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9091f7c42eaff2821f49677da0d8b7f8b2f8c54a8d7105d7f69cb51681585d01", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_bgp_af/meta", + "name": "tests/integration/targets/nxos_static_routes/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_af/meta/main.yml", + "name": "tests/integration/targets/nxos_static_routes/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "40fe4fe85031868241ac9845115f925a1c7be1ad8c4f932f4896fdaad51da36c", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_static_routes/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2eacf5012e1fb8a88bd7663844178dc5f6b617535d4bc2ddf0037ce474a33b1e", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_af/tasks", + "name": "tests/integration/targets/nxos_static_routes/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_af/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_static_routes/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_af/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_static_routes/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_af/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_static_routes/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_af/tests", + "name": "tests/integration/targets/nxos_static_routes/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_af/tests/common", + "name": "tests/integration/targets/nxos_static_routes/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_af/tests/common/multisite.yaml", + "name": "tests/integration/targets/nxos_static_routes/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5fb99b8f626220219deb93bef9434e964da829bd585a7c60689b3fa517376c4b", + "chksum_sha256": "244c13d831c6419ec7e7a46e3e00e82fc1be5a476e5204561deae0efce659d93", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_af/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_static_routes/tests/common/parsed.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b656e0834dbbead41a7545daba539a967fc6c3699fbe1b75c2da8613b2b4c15b", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_bgp_global", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "4a2cd09da60d6b0bc0904e3f313e959fc3efbba7979d14309764e11aaefab96d", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_static_routes/tests/common/gathered.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f58a5e229e9cb4a2cd367d9bd3d36dfc7b8a03598bd35d77c19ea701e70b8976", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/defaults/main.yaml", + "name": "tests/integration/targets/nxos_static_routes/tests/common/merged.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "d8a7a44814c334c50589139d3473b014a953fda361f2d88075fe1538f65a580e", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_static_routes/tests/common/replaced.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5c23e4c252c1cd1583fd56550d8d702f0b09b867eb03c50886e83f3c24197690", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/meta/main.yml", + "name": "tests/integration/targets/nxos_static_routes/tests/common/deleted.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", + "chksum_sha256": "10271b66076c4d1659a13c85ae4ba02c903ba2eb771ba8a2e31f0910c46de739", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_static_routes/tests/common/rtt.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ac26dd65c91afd1fd0e3734c2d3b9c361904f6af8fed0fbce8ee7746c96b64bf", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_static_routes/tests/common/overridden.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "ff14829c4bb5758e9c2bcce36a6a134e5fd2d02af7586147e25ce45f5d3c6197", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tasks/main.yaml", + "name": "tests/integration/targets/nxos_static_routes/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "05625917ea950a0b177ebb25c692ba215e247b2f17a15309a86430a5871f5672", + "chksum_sha256": "d486bec06fd92b15f491fc77298d00447520a955e2dbf3d84a5a739d1a2703c2", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_static_routes/tests/common/rendered.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "b9734f5468d080e059ad191471f78497c2ce42fa6d87de56f9f2e273bc0d8e28", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests", + "name": "tests/integration/targets/nxos_static_routes/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common", + "name": "tests/integration/targets/nxos_static_routes/vars/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3eda3cf170b296ca5e5f4996c8b03c030d87a4e3e6197f7770e2b14e739e4ab3", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_pim_interface", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/fixtures", + "name": "tests/integration/targets/nxos_pim_interface/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/fixtures/parsed.cfg", + "name": "tests/integration/targets/nxos_pim_interface/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "52efea9c016168ecd2fcd4012748fdd81f2753c77b4cd322e5628278cf36a227", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_pim_interface/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "acd7172ee28b6a88b6f7a8a95548988e2c6ed27804288daec18676481280cb08", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_pim_interface/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c07047642c717ad5e564697143a11e7cc93a18376d91ee56dc5f44f3d19e22b5", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bf494eb0d9629da4381465012ca762ab8ec270ac5b9270f7b2206f6e50eb2df6", + "name": "tests/integration/targets/nxos_pim_interface/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/deleted_af.yaml", + "name": "tests/integration/targets/nxos_pim_interface/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ef14541859231625e08fe2b53fbf4b8f6e64bcea02d4bb987038b915725abeab", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/empty_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b605ca79e5cc2cdb7f664f1aec94711594f2f485adfc760cbcea01b01e2b25f9", + "name": "tests/integration/targets/nxos_pim_interface/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_pim_interface/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d96baf5dc0a51ac1a75147a0591b62dd0d0429b6f48ed375f6e41e73d43a21ed", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/merged.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "35205173a9b4c2cdbf46f89706c24e10a7db1671892f25e7598957b6cd5424c2", + "name": "tests/integration/targets/nxos_pim_interface/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/parsed.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5ad0de011701b4094ceef2432d855f96f3441d92e71e69dcd959cb05e86ba9ef", + "name": "tests/integration/targets/nxos_pim_interface/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/purged.yaml", + "name": "tests/integration/targets/nxos_pim_interface/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "43b3e83056042eb41ac0a74dc11eca0c07bec178548807f56d79e5d211f75360", + "chksum_sha256": "acc020ce7729ff57e637de9f3cd1f3aae98af404b208386a852c6c804d0006fd", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/rendered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ff3eb25121425c6e970238566923eca969ba8f67f60e6fa8ef5c1516ca5757bd", + "name": "tests/integration/targets/nxos_overlay_global", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/replaced.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "73a38ab49a6c4f73b8e5d6b5ff301846e40a8d55b18fe61d0647b6c54cac5688", + "name": "tests/integration/targets/nxos_overlay_global/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/replaced_af.yaml", + "name": "tests/integration/targets/nxos_overlay_global/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bf31728c79fcf0b446ffd43fe431bc399513af80a6e363931a9f16fc611bf921", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_overlay_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e6dc32ce625064b12bbb4bf361b4b9a56df6792af52c16d6bcda508de05bea6f", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_bgp_global/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_global/vars/main.yml", + "name": "tests/integration/targets/nxos_overlay_global/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5664e0d1a4c541d53f188ff988aafdf4f1802b97ff08c51fc128574ae38ce63b", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor", + "name": "tests/integration/targets/nxos_overlay_global/tasks/platform", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor/defaults", + "name": "tests/integration/targets/nxos_overlay_global/tasks/platform/n7k", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor/defaults/main.yaml", + "name": "tests/integration/targets/nxos_overlay_global/tasks/platform/n7k/cleanup.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6fe5dccac28d950d4f93db2d5dd8d2d53f974b51a0c07a9371165a7fd9b20585", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_overlay_global/tasks/platform/n7k/setup.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9091f7c42eaff2821f49677da0d8b7f8b2f8c54a8d7105d7f69cb51681585d01", + "chksum_sha256": "1f41e716a6ee3d52141e15b1cf8d8a62a6656066f9761e5438f18b03b64148ba", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor/meta", + "name": "tests/integration/targets/nxos_overlay_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor/meta/main.yml", + "name": "tests/integration/targets/nxos_overlay_global/meta/main.yml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor/tasks", + "name": "tests/integration/targets/nxos_overlay_global/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_overlay_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_overlay_global/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_overlay_global/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_overlay_global/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "10d3d02705dac2e31ab7424914f1dc74d20c5cf799141c26ac2e47ec2c68e1b4", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor/tests", + "name": "tests/integration/targets/nxos_snmp_community", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor/tests/common", + "name": "tests/integration/targets/nxos_snmp_community/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor/tests/common/multisite.yaml", + "name": "tests/integration/targets/nxos_snmp_community/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "64867c6a4c293f9d84571edbbffcc57e1313b24b93595368df1c6f1eb6133a72", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_snmp_community/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1e774472017d6cb596c70ab3bd9f088b6d31443f51d4cb737771c77fb73b4045", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family", + "name": "tests/integration/targets/nxos_snmp_community/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_snmp_community/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/defaults", + "name": "tests/integration/targets/nxos_snmp_community/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_snmp_community/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/defaults/main.yaml", + "name": "tests/integration/targets/nxos_snmp_community/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/meta", + "name": "tests/integration/targets/nxos_snmp_community/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/meta/main.yml", + "name": "tests/integration/targets/nxos_snmp_community/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_snmp_community/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", + "chksum_sha256": "7a31444a04409e8b5f9d58864e5405ec3ded7ec744e6e731b3ca0d22ec1a6ee0", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tasks", + "name": "tests/integration/targets/nxos_acls", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_acls/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_acls/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "280d285e1a9b531b25d8b880d3a032933d7135004c4658b7f1eb4872c60cc666", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/main.yaml", + "name": "tests/integration/targets/nxos_acls/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0defcb7ce6f353926624c2c3e045b403af33c34a6bc1c49b08e71ec602cd21f2", + "chksum_sha256": "dc2e669d7f6ccc6f6bd958fc52376105ef28a808ec084c11f2dfcecf1471760a", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_acls/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "c57c3ff656bb8daf9febb3c7a7bff934b952d1ccb83604d93e23ccfc3ea88724", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests", + "name": "tests/integration/targets/nxos_acls/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common", + "name": "tests/integration/targets/nxos_acls/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_acls/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/fixtures", + "name": "tests/integration/targets/nxos_acls/defaults/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_acls/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/fixtures/parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b2a00e0d2590a7c6caff9c7d3d3df8eddf7a04bcb142a5900735574cf7d7ba14", + "name": "tests/integration/targets/nxos_acls/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_acls/tests/common/remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "047f1c0feea67e71c51f1eed5b1434e093a7b9f98494aa230acea01f7b68a91b", + "chksum_sha256": "6b36b668815324ab75f641e80f9341c4f7b4f264585d07409b01704c5f8a018d", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_acls/tests/common/populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c07047642c717ad5e564697143a11e7cc93a18376d91ee56dc5f44f3d19e22b5", + "chksum_sha256": "ea179f0b4974165f1ad36daff838b34a663eb136543c6a908df7b8fe73027eaa", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/deleted.yaml", + "name": "tests/integration/targets/nxos_acls/tests/common/parsed.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dc0718832154ed173f9ada21e4072a3f3c7fc9202d9a83e0b18c26d72991702e", + "chksum_sha256": "9c6e2f1a0b9c9d9dc2c33b7906490f5acde968592b9257f095b4cfc38eee3dd9", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/empty_config.yaml", + "name": "tests/integration/targets/nxos_acls/tests/common/gathered.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ed006b0b9dbb7b7c16264d7c9304040f7ddf7104c0aef4d084dd0380d81c0f0d", + "chksum_sha256": "8c6126ef877c72fdb6e19f6499e4c3ac4219a5fb4cde44f4529306aac3fd7966", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_acls/tests/common/merged.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "367b5c49d11893b14160cf94e6675588ac07bf0ee93574f6a1e9a9d4c6df70d9", + "chksum_sha256": "fc2db360c49a4f960de158645c43115dec175da832363eeaba86a8ea97d1e62b", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/merged.yaml", + "name": "tests/integration/targets/nxos_acls/tests/common/replaced.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ebe2088087a911826370430ed7e8029bee349d39be051ef9ce89f96ebb2d4118", + "chksum_sha256": "2b9ce3eb07fb30eb390fc555830b61b4118c485523bf85538a805feb06ea0fb0", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/overridden.yaml", + "name": "tests/integration/targets/nxos_acls/tests/common/deleted.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9c296bdd111a832466197719e7d3a6da9215aaaa0ab6aeca20b16e5284c61b52", + "chksum_sha256": "14f12dadd4d09d23feee07007209b1eae18bc9c013a50f79ed39ae022e652226", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_acls/tests/common/rtt.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "40d8f8cfc0bfd8a2d5da53d9e61f2d398e4ed50e2cc17915359ba02b980d16d0", + "chksum_sha256": "4912e31a951706d32e6682e65095ad1794df0cdedeeeec3d5e9ba139e14a0409", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_acls/tests/common/overridden.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a8055703f881f09873f851f1e0c212ac66aa662b744b5cc81a6bd07a7e854643", + "chksum_sha256": "9e261e0e1a8b1778739d5bb1c17c75a378186c5c2efd72a351d604e0d7560318", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_acls/tests/common/rendered.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bc402cfd6f07870283877fcd9c3158fdef7f756c7ea88c1aeebdd73629628a00", + "chksum_sha256": "aa791c7d2f4a1989dd888e3880d230146cee3a448116cb224c31066a7f7573fe", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/vars", + "name": "tests/integration/targets/nxos_user", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/vars/main.yml", + "name": "tests/integration/targets/nxos_user/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_user/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c9c20222a6eea75718e72f0e12a439d0f2a36eee5fc85db00a855c0ca4a72f99", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_af", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_user/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_user/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_af/defaults", + "name": "tests/integration/targets/nxos_user/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_af/defaults/main.yaml", + "name": "tests/integration/targets/nxos_user/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_af/meta", + "name": "tests/integration/targets/nxos_user/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_af/meta/main.yml", + "name": "tests/integration/targets/nxos_user/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_af/tasks", + "name": "tests/integration/targets/nxos_user/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_af/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_user/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_user/tests/common/auth.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "db7a57ed2e804cae9aea360123df898848cc2e772fcab84d843aac01ca0b6b61", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_af/tasks/main.yaml", + "name": "tests/integration/targets/nxos_user/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "bd39b32f02401670bfda98c14839d0da9c76ae8446c151dc7f10131c9531ded6", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_af/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_user/tests/common/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "ba9e801ff2ad1ae02085f83753b4f2e51565888a0fa5822ea0f671ee8a54229f", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_af/tests", + "name": "tests/integration/targets/nxos_gir_profile_management", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_af/tests/common", + "name": "tests/integration/targets/nxos_gir_profile_management/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_af/tests/common/multisite.yaml", + "name": "tests/integration/targets/nxos_gir_profile_management/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "41d2ef3715a99a33fa27da1071764a4d1bb02fc0636c5a55b3c8e662bc73505f", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_bgp_neighbor_af/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_gir_profile_management/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aa2e229e6cdc8013e23dd1e3f805e3a9c8ca79560e2168edc7894ab7ec773da0", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_command", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_gir_profile_management/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/defaults", + "name": "tests/integration/targets/nxos_gir_profile_management/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_command/defaults/main.yaml", + "name": "tests/integration/targets/nxos_gir_profile_management/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/meta", + "name": "tests/integration/targets/nxos_gir_profile_management/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_command/meta/main.yml", + "name": "tests/integration/targets/nxos_gir_profile_management/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tasks", + "name": "tests/integration/targets/nxos_gir_profile_management/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_command/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_gir_profile_management/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_gir_profile_management/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "d0237be40a79468b006b7bc99f59a3b8b9227b61b780adcd94fef59ea697e6fb", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests", + "name": "tests/integration/targets/nxos_ntp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/cli", + "name": "tests/integration/targets/nxos_ntp/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/cli/cli_command.yaml", + "name": "tests/integration/targets/nxos_ntp/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c8dc21d11e5f13aacc82d1a8872ad62b00551edff6284a36a02eea970b73a9d2", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/cli/contains.yaml", + "name": "tests/integration/targets/nxos_ntp/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ac46a36b0b073fcb691e33c0602443a2bef31fac538dd68d2c9d78edce98f1d4", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/cli/sanity.yaml", + "name": "tests/integration/targets/nxos_ntp/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d7688242d35f531bf33da13bd8d49b36f62688f160c858cf5174f56239f99d6d", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/common", + "name": "tests/integration/targets/nxos_ntp/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/common/bad_operator.yaml", + "name": "tests/integration/targets/nxos_ntp/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a929284d3616cf3d0ce228bff6a002588943bcf4a85f5403b519a1e46950a3b9", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/common/equal.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "78ffc32b0c96adc09c9321e1d12fbb5c91908419e857e25e4a4ac7839cc0610c", + "name": "tests/integration/targets/nxos_ntp/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/common/greaterthan.yaml", + "name": "tests/integration/targets/nxos_ntp/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3dde04a006eb5b001ed0f80589e92b4fdaa9a939dd4ae904cd63af915bd938f5", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/common/greaterthanorequal.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d6f816b5c0dcbe205f7d8e6f1a773d71276fcb9874a1c4b8a0d10e4804632301", + "name": "tests/integration/targets/nxos_ntp/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/common/invalid.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f8d3206de3a49dfbf253bca6957a915f6fb10c3f0411f102de10841ff6094d90", + "name": "tests/integration/targets/nxos_ntp/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/common/lessthan.yaml", + "name": "tests/integration/targets/nxos_ntp/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eb9067d3cfdd75f94ac2748f0742c1c61717a3798292cba7042c806fc0488fb3", + "chksum_sha256": "e73dcd5a6b36e1b9d5a9dccbe433f93ed19375686c161e0045ca92ccf2ca7053", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/common/lessthanorequal.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5c90dcce9d2d647a50d1c9db4248293535b7d75352ecffd152e877ab13940787", + "name": "tests/integration/targets/nxos_ntp_global", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/common/not_comparison_operator.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "30280c74bc0f1e1a85cafed4144bf12ba196ca4e86db30161f64b26d84951012", + "name": "tests/integration/targets/nxos_ntp_global/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/common/notequal.yaml", + "name": "tests/integration/targets/nxos_ntp_global/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b12ffe1eb63e9b2854d5c509145508207bb471df7e881218c014a7fab0f41bb5", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/common/output.yaml", + "name": "tests/integration/targets/nxos_ntp_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "afc13fd26c10d41c29bd89f7b874d6c06a2636cbb434069506a9f30cb9da907a", + "chksum_sha256": "2396a1bb62aa2d673208deb59766a787971d061630b8467afa525b7fdcb2e95e", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/common/timeout.yaml", + "name": "tests/integration/targets/nxos_ntp_global/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c859bb27d5fc01d07c00c6ce3125c74666663ccd7a9b08d9cf1a1b7385115f0e", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/nxapi", + "name": "tests/integration/targets/nxos_ntp_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/nxapi/contains.yaml", + "name": "tests/integration/targets/nxos_ntp_global/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5e366cc4b346ae49a4b6ffc53630caa1c99a8e85cd28c8adaf7b1bf4cdc0cf9c", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_command/tests/nxapi/sanity.yaml", + "name": "tests/integration/targets/nxos_ntp_global/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_ntp_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "54d18e3242c76aa88bc82a7a916bbdb6beff7ce3b5b70a651a821cf6c7942e79", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_config", + "name": "tests/integration/targets/nxos_ntp_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/defaults", + "name": "tests/integration/targets/nxos_ntp_global/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/defaults/main.yaml", + "name": "tests/integration/targets/nxos_ntp_global/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_config/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "2a828ee760fb0dfc1ce2906e7498216901248da978df3b7a90ce842c1041a157", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/meta/main.yml", + "name": "tests/integration/targets/nxos_ntp_global/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_config/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "e4c2d740371ba62f8ce9a298147acad6ef15cb6b851a8ea32e7682934e5c4294", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_ntp_global/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "060aecc4cf5c2f2c7d5785001728b97f6913dd3900aa2dcb0c37436509d9d92e", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tasks/cli_config.yaml", + "name": "tests/integration/targets/nxos_ntp_global/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cad1c35e72ece6063b7dd0600ae72e4e0f2f29b963d58733833bfb71db1ff1dc", + "chksum_sha256": "f836d5207479f29e09d0669ff7c58dd23bde729eda06dce4649cdc3e60be53a9", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tasks/main.yaml", + "name": "tests/integration/targets/nxos_ntp_global/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a069f9e3d9d905e5a1d7e2b316e284944bc38cddc390470831451fb4672fbde2", + "chksum_sha256": "159d739b15a17d8f62cbb4c9dfcd2fa3b7ede51f02fa6e9ac2bde196643b60fd", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_ntp_global/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "1581f91ffd8c1c23bb4676eab5c8b75109777725856083ae7e8f3f2e0993b3be", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tasks/redirection.yaml", + "name": "tests/integration/targets/nxos_ntp_global/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "37b184f39bf476a4001ada276ea440b2d5d59932edd78495eba8420c90275d4a", + "chksum_sha256": "08e70b7bf07e9f6621e1389be04c654a23a2f975aa49fc4aabc7ecb593bc5cfa", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates", + "name": "tests/integration/targets/nxos_ntp_global/tests/common/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/basic", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_ntp_global/tests/common/fixtures/parsed.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f7771e974db6ccc58fcb0a69ff17e00e208d57c09d96c7b8dfe8f5ecae8c879b", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/basic/base_running_config", + "name": "tests/integration/targets/nxos_ntp_global/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "85528fb2bdea51956f0b6d9a7cb07c7bc75e498553f9b5301b904db35ed0f929", + "chksum_sha256": "6b602368f7b9b4aba2e9a3e88b73abf107d658eb335fe4ce1a4cd4c0dca3a4c6", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/basic/config.j2", + "name": "tests/integration/targets/nxos_ntp_global/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d62440fb734cd4db3dd623ab8e77214ff7f82e44c7dfca249b20dcd83d83a9af", + "chksum_sha256": "9bcba4c729094da821fbbcce077fce21c817d1f560df1dc97ede6c6ff9cc4565", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/basic/configblock.j2", + "name": "tests/integration/targets/nxos_ntp_global/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f8cfadc33b5527be5bd82a279cbcc769a882135ce815cb6d42177cb51d325e4e", + "chksum_sha256": "eb766ac5e824552d743eb36cfc738ad9abd7985d945bdea3d22a0d9130f839ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/basic/configexact1.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f8cfadc33b5527be5bd82a279cbcc769a882135ce815cb6d42177cb51d325e4e", + "name": "tests/integration/targets/nxos_ntp_global/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/basic/configexact2.j2", + "name": "tests/integration/targets/nxos_ntp_global/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b5884db197b0f69276768f1f6e5e8b4214ead32869dab90d76fae353425a4b28", + "chksum_sha256": "2c37457ec8af62c1519304e787a4e2ca6be4c156f8cf7bc2293106f38aaa2957", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/basic/configstrict1.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "da30d9c2fbe9c9473f957d26568b2cb42baa620e261efbce7d604535ec532cf5", + "name": "tests/integration/targets/nxos_snmp_user", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/basic/intended_running_config", + "name": "tests/integration/targets/nxos_snmp_user/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_snmp_user/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b478553dd335d5085c847219eae58a8daac0902372a5e8fbbd133da3850332b2", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/basic/setupexact.j2", + "name": "tests/integration/targets/nxos_snmp_user/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b358f8f54eb293ce2eac2ead8f8bc2e3aae7383c2981c9c192530d6bcbff3d6f", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/basic/setupstrict.j2", + "name": "tests/integration/targets/nxos_snmp_user/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b358f8f54eb293ce2eac2ead8f8bc2e3aae7383c2981c9c192530d6bcbff3d6f", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/defaults", + "name": "tests/integration/targets/nxos_snmp_user/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/defaults/config.j2", + "name": "tests/integration/targets/nxos_snmp_user/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "522484a8eb35e809c1ebd645a73ca12f02b09c6cf237f1db1ed577088c149c51", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/defaults/test.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "356d51cb39cbc26b408ca0b3aeacc83634ee2f6e061811a3a8fafb63955ffa4d", + "name": "tests/integration/targets/nxos_snmp_user/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/templates/config.js", + "name": "tests/integration/targets/nxos_snmp_user/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c6d65e4fbe26ecfdf18d8eba2eac04aecfdd65e59e6b6db1c2aa2d29ed5a5847", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests", + "name": "tests/integration/targets/nxos_snmp_user/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli", + "name": "tests/integration/targets/nxos_snmp_user/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli/diff.yaml", + "name": "tests/integration/targets/nxos_snmp_user/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d890138033f9812260dfd304fb4888d77e0c78b71f0afb2f8f97ce71f11a2491", + "chksum_sha256": "cc18bce3cf7f8a257784f7d4e432ef00b535bfe73b057d661756f364bcc9d176", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli/multilevel.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b91edced261b04cd778d86a702fd71159bcb7e37050b2b59d66f5fbd0485ca6e", + "name": "tests/integration/targets/nxos_igmp", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli/sublevel.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "937eb38ce64f2eaaab0f4c8f86a336d6fa022a96d75e285baaf7c85f45fb0b09", + "name": "tests/integration/targets/nxos_igmp/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli/sublevel_exact.yaml", + "name": "tests/integration/targets/nxos_igmp/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b755c791e3a1b329e7da5896f70e10b01bdc5237bbe2e80316a4515d6f8d8bd8", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli/sublevel_strict.yaml", + "name": "tests/integration/targets/nxos_igmp/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "057bf9a3f64bb1abb24a5dc5a530553401a32850185af62cb278c85228ac6465", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli/toplevel_after.yaml", + "name": "tests/integration/targets/nxos_igmp/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7792c748c17cf012bd7462753459725b9b2d4e8418a3edb3f4f76eb84f8b5914", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli/toplevel_before.yaml", + "name": "tests/integration/targets/nxos_igmp/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_igmp/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "da70c4dcf111e0de17abc736ab6b4cfef245ca202d235dd1d9e611b40bbab8b2", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli_config", + "name": "tests/integration/targets/nxos_igmp/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli_config/cli_backup.yaml", + "name": "tests/integration/targets/nxos_igmp/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "02aa5aa3478284c141cb3741eb86bf919a560bc25b5a911f453e05ce25737bd7", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli_config/cli_basic.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7b3703086ba8415b259a2c8353dc03d9295173092ba3dc15170ae9718b10626e", + "name": "tests/integration/targets/nxos_igmp/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli_config/cli_block_replace.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9058efd9127aa10094d23e72b8d7b8e0426d2707a113d7be2d539c15a1b9d229", + "name": "tests/integration/targets/nxos_igmp/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli_config/cli_exact_match.yaml", + "name": "tests/integration/targets/nxos_igmp/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5eb01810e15ac6b6941a7b9b79ca5ca3be016f16ee7f534eea9be0115fb53a46", + "chksum_sha256": "e3f3aa30512b55460b5e6c82887f66d7642c56b86c7eabd5801148a945ce2ef4", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/cli_config/cli_strict_match.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6329b5bab571f5218aeff32c54936052c2188466f842b4364d80dc9c6d800450", + "name": "tests/integration/targets/nxos_l2_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/common", + "name": "tests/integration/targets/nxos_l2_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/common/backup.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "098fa1e9566ae02a5c089a7ab7a235ce53f1bc78b431e01595556f623f718c82", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/common/defaults.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "db431603f9429be57048a8789d1f0af71d6cdae47a26878a608c082768a1244d", + "chksum_sha256": "c0ff0c24a2fb4a8aa58a6356c5029065acb6cf1aba1e14add135ff69c8d1387b", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "55efec005b7a96d5dbd8739cfce99c359f047d1aacbee36ad6bc04bcf8283f26", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/common/save.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bc462c07044762a41b8eddbe29be65aa51e6d6cea05d1e0630555e8cb4a9e446", + "name": "tests/integration/targets/nxos_l2_interfaces/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/common/src_basic.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eccd369dee1af74d2b9f2888107f438904ae0c58705d800ad95e913965991608", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/common/src_invalid.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "000c3c67b80eab4be77858bbb29844ec788342c63d8570c1db6166ca5a9539b5", + "name": "tests/integration/targets/nxos_l2_interfaces/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/common/src_match_none.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f485a516ee779d29f9c4bef94249e47c885743481d409fedaad14bd49ecbafe0", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/common/sublevel_block.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_l2_interfaces/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "45748bd39c32ff0675cebcff8ed674384c0fcbd51797f2110edfbef816394801", + "chksum_sha256": "3644170fb7b4322fa4d272cd5d5e351480018b485a065fa7131fb3f6f5e2f353", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/common/toplevel.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2bc1969eeb4a97775fd72dd6e5109d499c24cf5735c2c54bf75dcf7d49690bea", + "chksum_sha256": "c58134a7c574f9d19d3012c238b2be0d4983d6d856a11e9f6ee089c3df5ec6b4", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/common/toplevel_nonidempotent.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "48fbcde0f38c5b06062ccb0f93d50a5b7a7554edf66ee7ed4779d9d4ce524ac1", + "chksum_sha256": "6c1ffa21ffa7a57ae8edbb0a72820f4ec4e7947ba1ee5a1548473e81efec8724", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/nxapi", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/empty_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a2a0ff901006be504934a514a2f337a699091eef58ab871fb32e426af1d6f6fa", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/nxapi/multilevel.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ff4c8dc408f5b4296300c4d7d983fcbdf19ee303fc95fe44ddb3d72a8b2aa08e", + "chksum_sha256": "148ed76eb41828c2417439c0b443097a6f2f9d1fa88a4abad48bd8e62de30c4e", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/nxapi/sublevel.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dc08a002e9e00d36590098bfe308ca825954a3e43755650cb5809684512433cb", + "chksum_sha256": "b6d84fa1c22c5e2d37b017a18ed59903fab43314717b4d632a46200d745318c0", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/nxapi/sublevel_exact.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "694ab236d9c21462b423d507666dfe90caceca03e8a2f8fa3759f9f51b6d06e0", + "chksum_sha256": "aeb7c65908e1aee314df87a9afe8c2f4dc1e1b21e41ca8a03f2991597dfd0685", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/nxapi/sublevel_strict.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "acaded71377fcc8c8b288d527caf6fc777c8d0f50079c8b409d1007f821cc9d3", + "chksum_sha256": "b9322c7dd05de65b972eb0bb02c699c4368fc68bb97dd155a05ed98dd304448f", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/nxapi/toplevel_after.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7b8ad2836c7ec7360561cb0f4319bbe95feae70b134c5dac9deb2ba18a17638e", + "chksum_sha256": "9e1b2b7044a678c22cccca3dcc5c677fccf40a509764b7ecf5c8dfeecf4781d8", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/nxapi/toplevel_before.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1d150adeed3e6e02c3adc3871d29b6a153d504ab7a861cd401b02c480008ba5b", + "chksum_sha256": "3c30f97c6ae729fd7b3d88a3e7b6671c761ea07061ead87487979c013835b99c", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/redirection", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f018dcb8d9a42d8930b0d10f62ed931546d66f2998aa42ce95f655d299dbb35b", "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/redirection/cli", + "name": "tests/integration/targets/nxos_l2_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_config/tests/redirection/cli/shortname.yaml", + "name": "tests/integration/targets/nxos_l2_interfaces/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "00bb1bd085c826013b04f4eaf7f74ff0de45ec8330aa386f4cd0263d468df9f1", + "chksum_sha256": "80f38875da077b4094678a1b0d5fa1dbb55a586037c541d4daec3b3b8adca944", "format": 1 }, { - "name": "tests/integration/targets/nxos_devicealias", + "name": "tests/integration/targets/nxos_vpc_interface", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_devicealias/defaults", + "name": "tests/integration/targets/nxos_vpc_interface/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_devicealias/defaults/main.yaml", + "name": "tests/integration/targets/nxos_vpc_interface/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_devicealias/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_vpc_interface/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_devicealias/meta/main.yml", + "name": "tests/integration/targets/nxos_vpc_interface/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", + "chksum_sha256": "8d37308cf2225418b5fab604f2b171a1aafbaa84be0c933a48ec0f153d7119ad", "format": 1 }, { - "name": "tests/integration/targets/nxos_devicealias/tasks", + "name": "tests/integration/targets/nxos_vpc_interface/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_devicealias/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_vpc_interface/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_devicealias/tasks/main.yaml", + "name": "tests/integration/targets/nxos_vpc_interface/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_vpc_interface/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f47853340600c1c9b76ed00695079b203ae45896e40acfac2f48e28f2ad98b40", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_devicealias/tests", + "name": "tests/integration/targets/nxos_vpc_interface/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_devicealias/tests/common", + "name": "tests/integration/targets/nxos_vpc_interface/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_devicealias/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_vpc_interface/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a93b103d12183553437c6808898ac57aa27e80ef5d1547e496e4ce5d5039baa9", + "chksum_sha256": "03b61d6df7de21547cead303ca85a6e4139660eb2df5e5e2af81ddfefc206951", "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_global", + "name": "tests/integration/targets/nxos_ntp_options", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_global/defaults", + "name": "tests/integration/targets/nxos_ntp_options/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_global/defaults/main.yaml", + "name": "tests/integration/targets/nxos_ntp_options/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_global/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_ntp_options/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_global/meta/main.yml", + "name": "tests/integration/targets/nxos_ntp_options/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_global/tasks", + "name": "tests/integration/targets/nxos_ntp_options/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_global/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_ntp_options/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_global/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_ntp_options/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_global/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_ntp_options/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_global/tests", + "name": "tests/integration/targets/nxos_ntp_options/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_global/tests/common", + "name": "tests/integration/targets/nxos_ntp_options/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_global/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_ntp_options/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9190f2d0dae47c3b29ebe68f89ec9e3b88f0af56af489b15624cf99c86415d9f", + "chksum_sha256": "21d676594b169612943330f80f0fc7f0caafca537c991d9671fee07e9639a30d", "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_vni", + "name": "tests/integration/targets/nxos_vrrp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_vni/defaults", + "name": "tests/integration/targets/nxos_vrrp/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_vni/defaults/main.yaml", + "name": "tests/integration/targets/nxos_vrrp/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_vni/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_vrrp/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_vni/meta/main.yml", + "name": "tests/integration/targets/nxos_vrrp/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_vni/tasks", + "name": "tests/integration/targets/nxos_vrrp/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_vni/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_vrrp/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_vni/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_vrrp/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_vni/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_vrrp/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_vni/tests", + "name": "tests/integration/targets/nxos_vrrp/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_vni/tests/common", + "name": "tests/integration/targets/nxos_vrrp/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_evpn_vni/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_vrrp/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "feb636a1cf337d091e427267dc9639d6fd2a5a481a9fd73cc830618990dc12af", + "chksum_sha256": "a7766c42cc22f1bb7cc7fa396978f2db1df0d1c744e3241f371f55912f3cd610", "format": 1 }, { - "name": "tests/integration/targets/nxos_facts", + "name": "tests/integration/targets/nxos_ospf_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/defaults", + "name": "tests/integration/targets/nxos_ospf_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/defaults/main.yaml", + "name": "tests/integration/targets/nxos_ospf_interfaces/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_ospf_interfaces/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e9eff3b2082e2a94e384711077fcb0a67b0410a72a0d7425367798c7fe1c4c75", "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/meta/main.yml", + "name": "tests/integration/targets/nxos_ospf_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/tasks", + "name": "tests/integration/targets/nxos_ospf_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_ospf_interfaces/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_ospf_interfaces/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_ospf_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/tests", + "name": "tests/integration/targets/nxos_ospf_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/tests/common", + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/tests/common/all_facts.yaml", + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e65140385f8d0f92647f023f5aef1ef08e04499b741da9dec6d9cf29705fa109", + "chksum_sha256": "b76239c8dec85299b177fa8a11a790932f64db53e155a64222321eff524af8b7", "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/tests/common/default_facts.yaml", + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "08c3680a5a839d8e3b53515643f3773bb1d25de670124063d41ff3e0a7fd2713", + "chksum_sha256": "3e19f34c70b0982c9c03cc96e3fcf57b88c084597eae9036b3e4c6bbd0860dc1", "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/tests/common/invalid_subset.yaml", + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d7ef14aa0d9ae451bba34e5fb2952f2034793f826a441cd042b03c34e0d78422", + "chksum_sha256": "772abaa4b30e45bb3a3e0b168b9b50f62e75e5db9d1ee54915707631af8bc3a9", "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/tests/common/not_hardware.yaml", + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "933c388db57e0042a75290223a48d69efad1e524bce14f28f64694d34e3475e3", + "chksum_sha256": "b880b29ecb1b59489b0d82bfaf1ebecc35e47cc4ae7d860d616a0e1c4c17b8f6", "format": 1 }, { - "name": "tests/integration/targets/nxos_facts/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f15ccd5a6a25f5358288fb8ddb955a1b024c33c0d1f04df3811e03aabe460c32", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_feature", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "6563a046c325a1872e9c20c3a80658c02bc684d828e1d8c0dbfbfb23ede1da1c", "format": 1 }, { - "name": "tests/integration/targets/nxos_feature/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/overridden.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f4d88bbce44a9ca14508aebf3a495f3ced56b859aa74951b92922d613d0addbd", "format": 1 }, { - "name": "tests/integration/targets/nxos_feature/defaults/main.yaml", + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "947100dd1e56c9ebd17cb32e1caa66f7c5a540d038dd36f4d0482271627ffa10", "format": 1 }, { - "name": "tests/integration/targets/nxos_feature/meta", + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_feature/meta/main.yml", + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_feature/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "77f5af82eeb76922d66d564b1b3b713644b5154cd160ed32686613453f6ffb08", "format": 1 }, { - "name": "tests/integration/targets/nxos_feature/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/_setup.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "5153443ed073b0cc035110ac96d297361e22abe390c84014d0a7dbc83ede74e4", "format": 1 }, { - "name": "tests/integration/targets/nxos_feature/tasks/main.yaml", + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "22709a3fdba9d6c94de7e53132bf6178989f0ea494f7779069913fc918ffa131", "format": 1 }, { - "name": "tests/integration/targets/nxos_feature/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "aa4d4d9ae4687f27e044a7c2ba6c6ffe31491031d9cfb724c69a54e4a1248b2e", "format": 1 }, { - "name": "tests/integration/targets/nxos_feature/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "df5bdd37b5f9ceac0c9cba9185dfd3c1c3d13d839447eca07daca2717b7261f0", "format": 1 }, { - "name": "tests/integration/targets/nxos_feature/tests/common", + "name": "tests/integration/targets/nxos_ospf_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_feature/tests/common/configure.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "89d6028b9ede5f5589b6786b029044d9cdf739f164d0a593ecacb564588acfe5", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_feature/tests/common/invalid.yaml", + "name": "tests/integration/targets/nxos_ospf_interfaces/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9876fc00630984bf3f7c6a0ce6e7a75b67d4c2dc198fe91c2d4dcaef40fec816", + "chksum_sha256": "254903ea468078a13337c27e4ffbfe0aad84710a36cdfeca8027eba5a16b48bf", "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy", + "name": "tests/integration/targets/nxos_snmp_contact", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/defaults", + "name": "tests/integration/targets/nxos_snmp_contact/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/defaults/main.yaml", + "name": "tests/integration/targets/nxos_snmp_contact/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/fixtures", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_snmp_contact/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/fixtures/data.cfg", + "name": "tests/integration/targets/nxos_snmp_contact/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ef43c9adc8aeec6910b4373ba0d9fbf28048ed53ec631ab9fd6fa8ad00a8a3a0", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/meta", + "name": "tests/integration/targets/nxos_snmp_contact/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/meta/main.yml", + "name": "tests/integration/targets/nxos_snmp_contact/meta/main.yml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/tasks", + "name": "tests/integration/targets/nxos_snmp_contact/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_snmp_contact/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2770dd7e8cf7aaf46ff693e547591ce3777d0c795f91f795e9d46bf76ed545f8", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f6bf1e5e97ebdee9d3da5227017b650cf6de337ae6ce68cee739acf39a32ec81", + "name": "tests/integration/targets/nxos_snmp_contact/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_snmp_contact/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_snmp_contact/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ce1d6ba27c1064403038da1dbddeeec72f97249fdc90ea0cd7ca3090d03b6ef5", + "chksum_sha256": "21c997106ed806dbad5a3cdba01f5e201161020b6498a5d92ac003b702fa579a", "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/tests", + "name": "tests/integration/targets/nxos_telemetry", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/tests/cli", + "name": "tests/integration/targets/nxos_telemetry/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/tests/cli/input_validation.yaml", + "name": "tests/integration/targets/nxos_telemetry/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "86642c6a7b15cbac85986a618de3eea6d741cb9819a4b7896570ab07e6033a8c", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/tests/cli/negative.yaml", + "name": "tests/integration/targets/nxos_telemetry/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0a918d9c6433c61aea340e1c0c94ef62d409893bfe7fd1858386da4422c5e208", + "chksum_sha256": "4fe8ec88364fed45512b5f8e5687038986edd9b03ab1962afa6476aed1ab2f5a", "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/tests/cli/sanity.yaml", + "name": "tests/integration/targets/nxos_telemetry/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "021893730c6fa627193f1b0189476630b88aef49449b7b7e2b0516acc288231d", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/tests/nxapi", + "name": "tests/integration/targets/nxos_telemetry/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_file_copy/tests/nxapi/badtransport.yaml", + "name": "tests/integration/targets/nxos_telemetry/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "21427f41984508b9839c2f35a72d67fd2cf22fcd68d619118a5b5515d2268668", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_gir", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_gir/defaults", + "name": "tests/integration/targets/nxos_telemetry/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_gir/defaults/main.yaml", + "name": "tests/integration/targets/nxos_telemetry/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_gir/meta", + "name": "tests/integration/targets/nxos_telemetry/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_gir/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_gir/tasks", + "name": "tests/integration/targets/nxos_telemetry/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_gir/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_telemetry/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "d231b07bd5ab608ddebbdbbdbbcbed5e4648ac7ad05dfbbf1df4e2a21c063389", "format": 1 }, { - "name": "tests/integration/targets/nxos_gir/tasks/main.yaml", + "name": "tests/integration/targets/nxos_telemetry/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "0f66a09ea372c1fa2c05027c0a2097da33a0912daf4355ff6cab34a77e057acd", "format": 1 }, { - "name": "tests/integration/targets/nxos_gir/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_telemetry/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "b1ac88fec698b51b1f358987e65b5793cd9488ea085606963409a7b9d9b2b4cc", "format": 1 }, { - "name": "tests/integration/targets/nxos_gir/tests", + "name": "tests/integration/targets/nxos_telemetry/tests/common/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_gir/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_telemetry/tests/common/fixtures/new_server.crt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d761bf530e78d0752a7d9f05dfd5084e106245c7cecac49ca75c0c76ba495fc1", "format": 1 }, { - "name": "tests/integration/targets/nxos_gir/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_telemetry/tests/common/fixtures/local_server.crt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "13582ac62b7614778bc62c5a6f93a36a920e8664812b73a2b0903af35c2fe1da", + "chksum_sha256": "29437b8420b999138ca0947aef901533fd9affbc7ae98a39b13fb6bfa0ae29cd", "format": 1 }, { - "name": "tests/integration/targets/nxos_gir_profile_management", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_telemetry/tests/common/fixtures/server.crt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9248b8354ba01bd1fecb1d24494a6098ee9547fa34a9d8840068abbb9a80fd92", "format": 1 }, { - "name": "tests/integration/targets/nxos_gir_profile_management/defaults", + "name": "tests/integration/targets/nxos_telemetry/tests/common/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "00736c9321f59eb87d3655075f655cf2244ba30caed17b3175c3f0171c94bd9f", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_telemetry/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_gir_profile_management/defaults/main.yaml", + "name": "tests/integration/targets/nxos_telemetry/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "90ee74a6d8158f5b1a5e92b16e0e044a5fae636e2742931b542355cb71ed2da4", "format": 1 }, { - "name": "tests/integration/targets/nxos_gir_profile_management/meta", + "name": "tests/integration/targets/nxos_telemetry/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_gir_profile_management/meta/main.yml", + "name": "tests/integration/targets/nxos_telemetry/templates/populate_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "160c96e0f5f10f0cd536d1fcd93fad3b60a8eac159a64755ac8617a702f032b7", "format": 1 }, { - "name": "tests/integration/targets/nxos_gir_profile_management/tasks", + "name": "tests/integration/targets/nxos_bgp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_gir_profile_management/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "name": "tests/integration/targets/nxos_bgp_global/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_gir_profile_management/tasks/main.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_gir_profile_management/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "05625917ea950a0b177ebb25c692ba215e247b2f17a15309a86430a5871f5672", "format": 1 }, { - "name": "tests/integration/targets/nxos_gir_profile_management/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bgp_global/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_gir_profile_management/tests/common", + "name": "tests/integration/targets/nxos_bgp_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_gir_profile_management/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_bgp_global/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d0237be40a79468b006b7bc99f59a3b8b9227b61b780adcd94fef59ea697e6fb", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_hostname", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/defaults", + "name": "tests/integration/targets/nxos_bgp_global/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/defaults/main.yaml", + "name": "tests/integration/targets/nxos_bgp_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/meta", + "name": "tests/integration/targets/nxos_bgp_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_hostname/tasks", + "name": "tests/integration/targets/nxos_bgp_global/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "c07047642c717ad5e564697143a11e7cc93a18376d91ee56dc5f44f3d19e22b5", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tasks/main.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c100293cbf1e43e53f2ff874e3e1079621ae414e404db0078a26044ececac0b1", + "chksum_sha256": "bf494eb0d9629da4381465012ca762ab8ec270ac5b9270f7b2206f6e50eb2df6", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_hostname/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_hostname/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "d96baf5dc0a51ac1a75147a0591b62dd0d0429b6f48ed375f6e41e73d43a21ed", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tests/common/fixtures", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bgp_global/tests/common/empty_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b605ca79e5cc2cdb7f664f1aec94711594f2f485adfc760cbcea01b01e2b25f9", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tests/common/fixtures/parsed.cfg", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/replaced_af.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6cd019ca4bbc9dc9a7657ccbc89a52a8505890bda564813765bc2bb004ef3814", + "chksum_sha256": "bf31728c79fcf0b446ffd43fe431bc399513af80a6e363931a9f16fc611bf921", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "55288117a1ba1770a3e0bcac6e550c318807316ce84c65e536ba34cc449f62b0", + "chksum_sha256": "e6dc32ce625064b12bbb4bf361b4b9a56df6792af52c16d6bcda508de05bea6f", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3c610838a6fa946c2237c8292c07b688a1ba7e8096a2d35d75f12f0b58866ed7", + "chksum_sha256": "35205173a9b4c2cdbf46f89706c24e10a7db1671892f25e7598957b6cd5424c2", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tests/common/deleted.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ce390e649cf85c4eddff7df5c0d545f57e389bb36774ae580dadafec45cf2a1b", + "chksum_sha256": "acd7172ee28b6a88b6f7a8a95548988e2c6ed27804288daec18676481280cb08", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tests/common/empty_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c48e9bf3dac84165ae9953b7ad26ecec061cc599fd5cc78290d048b36119ce19", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/fixtures", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0b28a51b56bc716da4598490f3cb3302329f0113eb3ab32fa9a860223eae43f6", + "chksum_sha256": "52efea9c016168ecd2fcd4012748fdd81f2753c77b4cd322e5628278cf36a227", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tests/common/merged.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b2db6ef6d129f976a7c1dd3d1543020bba577d399fa4e780311e9942d0e39a21", + "chksum_sha256": "73a38ab49a6c4f73b8e5d6b5ff301846e40a8d55b18fe61d0647b6c54cac5688", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tests/common/overridden.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c76970334ac8f7dea1c52d4a2e9785b43fe9754ed2cece81e49036d8efce6507", + "chksum_sha256": "5ad0de011701b4094ceef2432d855f96f3441d92e71e69dcd959cb05e86ba9ef", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/purged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "292e2e1750dcd0b5114b4c1b2f8fe93125754fa76c1869f64f87e6055da6338f", + "chksum_sha256": "43b3e83056042eb41ac0a74dc11eca0c07bec178548807f56d79e5d211f75360", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6e0e085de3251f1846bf350484b27a639383cf70f82effdb6d8aa0b73f105c60", + "chksum_sha256": "ff3eb25121425c6e970238566923eca969ba8f67f60e6fa8ef5c1516ca5757bd", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_bgp_global/tests/common/deleted_af.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8564938ffbfc1d998d5ce080e9bc6cb612cf2aeefa19ac79bf9bf6f895800a2e", + "chksum_sha256": "ef14541859231625e08fe2b53fbf4b8f6e64bcea02d4bb987038b915725abeab", "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/vars", + "name": "tests/integration/targets/nxos_bgp_global/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hostname/vars/main.yml", + "name": "tests/integration/targets/nxos_bgp_global/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "372a997c3a0ce9aa7b42746d99a75295a66504416d94fd1b0c545e58717a6a9d", + "chksum_sha256": "5664e0d1a4c541d53f188ff988aafdf4f1802b97ff08c51fc128574ae38ce63b", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp", + "name": "tests/integration/targets/nxos_nxapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp/defaults", + "name": "tests/integration/targets/nxos_nxapi/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp/defaults/main.yaml", + "name": "tests/integration/targets/nxos_nxapi/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "7022927c86a437ced8d1f9058b25af83150ab1d87223183b1c61bbf4c0d6523f", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_nxapi/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp/meta/main.yml", + "name": "tests/integration/targets/nxos_nxapi/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp/tasks", + "name": "tests/integration/targets/nxos_nxapi/tasks/platform", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n7k", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp/tasks/main.yaml", + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n7k/assert_changes_https.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "chksum_sha256": "d826b7762b3ab39ad7d294ca171272d1ff3213c35f8040c3657228f259d331d5", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n7k/assert_changes_https_http.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_hsrp/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "97089a108cc1eac9afae028c6da9bf6f7017afcfc3f1a85776cfe6af31f2c6af", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n7k/assert_changes_http.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "35222b27a54a701db0042dd5fb6069d48d9e27a70821a1707a4aad0d19bc227f", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n7k/assert_changes_https_http_ports.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a9c0076bb37472ad1bcf0815ed5845032be77683ffc6e967f2577c29cc28f8a8", + "chksum_sha256": "5d5a7bc39789b15cf95dd49af7ab1636f3a4589a2be3ee5ca341dbb4414eb95b", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces", + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n5k", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n5k/assert_changes_https.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4f99598e0507cfb4e0e625a4075deabb91c5de5e1c0e5531846b9467a6faeaa9", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n5k/assert_changes_https_http.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "79ee713da7a48ad0b493f6e07690138be3eb4d04d890126aec488e2242e7a442", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n5k/assert_changes_http.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ed763ee2de2c730ea2783225dc132f5c28f22ea272213a36b9b3bb4471492e08", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/meta/main.yml", + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n5k/assert_changes_https_http_ports.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "3cef9d277e717f6956a9d5136862c72616d866eb04d8f8c0da44c0777739c92c", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tasks", + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/default", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/default/assert_changes_https.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a33a230d9f73a6b3a66310378172ca58942db01c628965eca7e09920701edb60", + "chksum_sha256": "bfae052c7df36024a59df89f314dc7e03019ad1649f4132cb34bb2a8f50fe903", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/default/assert_changes_https_http.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "b055af4a4779d412640cee585ef493e52c3937782e095218164d2719d5223d29", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/default/assert_changes_http.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "db4865169c3dc97c5ca5e24083550b243b685cfaeaaba16333b1f55754dd265a", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_nxapi/tasks/platform/default/assert_changes_https_http_ports.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "04e8b8ae8842f40c777282e979ea824c7c886f3e8ae1d9e2710ff466d1fc2ae0", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common", + "name": "tests/integration/targets/nxos_nxapi/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/_populate_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a313ec546dfda89fa9e4dbd468fa0940164b42c0ebce4e544f9c6eddf9c76e63", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_nxapi/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ce89afffb71cc896f467a3e32919ab4a8fdcd5ea07a9175ecd7db9a7ae6f77cb", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6e9f0e87988c4ded07d518b67a5118d9d6894e2fab2c86c9cd90ffcf5f56beab", + "name": "tests/integration/targets/nxos_nxapi/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/empty_config.yaml", + "name": "tests/integration/targets/nxos_nxapi/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d1ff8909b5732150a58ea8fafa7e0f20c447a8bd7e6be23fa0d7cc5655b75510", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/gathered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0ef96315e1d8b08e76b5d905207c1d85c0ddea43e8efa07b54896132e7d772e1", + "name": "tests/integration/targets/nxos_nxapi/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/merged.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "da6b8a879ff9188026a3b1aa01b53289a7517026aff1a7d1954d1bdaead6dec0", + "name": "tests/integration/targets/nxos_nxapi/tests/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/overridden.yaml", + "name": "tests/integration/targets/nxos_nxapi/tests/cli/nxapi_ssl.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "45a5f0f9979ffcd5b7ef73f95de39a4c6ad35b3f7f05a61b7f6770eb17166dcb", + "chksum_sha256": "dae84b45affca730b7c9158216bf18dc9ab9c92bbce4701b6ba881f192ae47f4", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_nxapi/tests/cli/enable.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9db583ddb82a512ca231ffb3a5ba6c672aa653ec28834c17328fd56190b4a558", + "chksum_sha256": "abdd34478d7db89533c9d3d8cc0fb2f26a5324ab85212086aa1fecc220e7d1c8", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_nxapi/tests/cli/configure.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f2c908e56c100ed364248792037843ebe703124cb856054bba1a7904494edd3", + "chksum_sha256": "b4853e02af108065809baebdb1f8e957bc48184f9a24e3510826d28f734d17a6", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_nxapi/tests/cli/disable.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d1c4df45348332e927abe784ea39438ab014af521a169cc07ca76ff6d8d7c52d", + "chksum_sha256": "94889efb465f8b55120a28becc23705cd11dc1bc9aebc91204105ba9f8207302", "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/vars", + "name": "tests/integration/targets/nxos_nxapi/tests/nxapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_hsrp_interfaces/vars/main.yml", + "name": "tests/integration/targets/nxos_nxapi/tests/nxapi/badtransport.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a06be45c7fcb5fbb624b33983db74636889ef05ed32ce0f3ba56485272e3db09", + "chksum_sha256": "28a2dfdf7ba13f8dd757c8d9095797a0b91437b5bfd9d9c1c8bfe65508e15901", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp", + "name": "tests/integration/targets/nxos_reboot", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp/defaults", + "name": "tests/integration/targets/nxos_reboot/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp/defaults/main.yaml", + "name": "tests/integration/targets/nxos_reboot/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "b93ca9bd41e9b2ddb1e47c5782c7104ad85b67441154a82ac8954fdaebc62cfc", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_reboot/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0789afb380e4ee3da221b8e5904d1fc0309acaaf7afce7e63c9ba4c75c34ef57", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp/meta/main.yml", + "name": "tests/integration/targets/nxos_reboot/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp/tasks", + "name": "tests/integration/targets/nxos_reboot/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_reboot/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_reboot/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_reboot/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp/tests", + "name": "tests/integration/targets/nxos_reboot/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp/tests/common", + "name": "tests/integration/targets/nxos_reboot/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_reboot/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3f3aa30512b55460b5e6c82887f66d7642c56b86c7eabd5801148a945ce2ef4", + "chksum_sha256": "b4c67bb49d21e284b5a0589f01582abe664f16d3361279b26463e6db76fd2425", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_interface", + "name": "tests/integration/targets/nxos_system", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_interface/defaults", + "name": "tests/integration/targets/nxos_system/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_interface/defaults/main.yaml", + "name": "tests/integration/targets/nxos_system/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_interface/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_system/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_interface/meta/main.yml", + "name": "tests/integration/targets/nxos_system/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_interface/tasks", + "name": "tests/integration/targets/nxos_system/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_interface/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_system/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_interface/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_system/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_interface/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_system/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_interface/tests", + "name": "tests/integration/targets/nxos_system/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_interface/tests/common", + "name": "tests/integration/targets/nxos_system/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_interface/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_system/tests/cli/set_domain_name.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3f1f412736c7af33d14c2be45d461f6f96778bc221e6abdabdc579247c32d72d", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_igmp_snooping", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "fa3289fe04fe5f8a8259ca69cee34e575e690589e3c4b5a1e8ade6a724c81246", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_snooping/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_system/tests/cli/set_name_servers.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "634ccd651c5a3aff45209b99a311b488422098e96df88ca31e1f1f6e5fcc0e2f", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_snooping/defaults/main.yaml", + "name": "tests/integration/targets/nxos_system/tests/cli/set_domain_list.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "494d4bd1f0afc278a5422adec3684980a21807274f3887cc64743335104fc95f", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_snooping/meta", + "name": "tests/integration/targets/nxos_system/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_snooping/meta/main.yml", + "name": "tests/integration/targets/nxos_system/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "e76a24280e763ab2423dbd4062e39dd0c4b54131b361582bc4de92183c9fe32f", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_snooping/tasks", + "name": "tests/integration/targets/nxos_system/tests/common/set_hostname.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1f80d47b8482b052d64571ffd74d3e08219c8180e0bdfd38785cbdcb80b4dc01", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_system/tests/nxapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_snooping/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_system/tests/nxapi/set_domain_name.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "c3c9fe4f41326a05c53fb03a14ab15d9aca59b0cd5276ca5e28b7c7b7e24e1a5", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_snooping/tasks/main.yaml", + "name": "tests/integration/targets/nxos_system/tests/nxapi/set_name_servers.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "bbee414220275ff9a13a61bb40c3f4aa127cf63ebb07221abf01f8995b22b252", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_snooping/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_system/tests/nxapi/set_domain_list.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "4f58661081e4b16a1b96f55d176abaa163d8eeb2d530a96420da6d15de4bb0ac", "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_snooping/tests", + "name": "tests/integration/targets/nxos_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_snooping/tests/common", + "name": "tests/integration/targets/nxos_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_igmp_snooping/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_interfaces/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a73bc840e125f41372313d58b550980ef7c1642f87ba9bb8ee85d8d026ff42", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_interfaces/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "64ca5b4de950cd0d788bdd92389f7741e663d949ee6b0e343f1038c573564b64", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/defaults", + "name": "tests/integration/targets/nxos_interfaces/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/defaults/main.yaml", + "name": "tests/integration/targets/nxos_interfaces/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a79b77c93a1982c2682c177681bfcef5f3fb3421e3ef10be452fc81dc3ce8871", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/meta", + "name": "tests/integration/targets/nxos_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/meta/main.yml", + "name": "tests/integration/targets/nxos_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "efb275d54a7c21fd007e1d1c8b10b65d148a9121af425a4e7fbd60abacd23fc8", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tasks", + "name": "tests/integration/targets/nxos_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tasks/upgrade", + "name": "tests/integration/targets/nxos_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/clear_persistent_sockets.yaml", + "name": "tests/integration/targets/nxos_interfaces/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2fcf3f5178da21851bf3cd61610f645b242d841bb553acc94fa88c003c8849e5", + "chksum_sha256": "a639b04de3b8a2a70660b4034c291526f9e1f4bee9e24e4e543bd719a4f65a50", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/copy_kick_system_images.yaml", + "name": "tests/integration/targets/nxos_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "71f8a18402f8b4c95d4bdcb1f4fc6542ce6b9671ea246c44fe9acac70bbd562d", + "chksum_sha256": "d5ba532156bd9771e2ec35bb085d404ed049b88e1da827ab9eb6d4dd38a3c871", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/delete_files.yaml", + "name": "tests/integration/targets/nxos_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f770f6c4e52488ddd7b0c1dd5c61ef6f7f2dfb329cbae4337e0845567fa3e113", + "chksum_sha256": "3f875bd8877a898338a0402b34179ad17f45b84d1623c72741490f52913eb064", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/enable_scp_server.yaml", + "name": "tests/integration/targets/nxos_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2f94537521756c0171b570da8d8012aa47441ed01f2085c5e0c4ce1c80d6dbf3", + "chksum_sha256": "c5a2d4d2fa3245673307a06eb29fd3b751fad50fde2dac24f84aaff5498a5af7", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/install_os.yaml", + "name": "tests/integration/targets/nxos_interfaces/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d774b3f202b5780184d96cdb5ac41b3db3540d09f575f0c8b0840a3509fd75bb", + "chksum_sha256": "0eb7659a55ab72845d72bf76bcac9618bf84c8d5d55c6fa8f04ff9c15c68a92a", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/install_system.yaml", + "name": "tests/integration/targets/nxos_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d7225266ebf0be4737420a6d63a5cd3c77d3b6cfde7bd0f1c7eded1ebfad70b7", + "chksum_sha256": "49898e976fb440f5b1ebc404e489b6e2511049c950c8c0d8fe75e251dc5c3671", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/install_with_kick.yaml", + "name": "tests/integration/targets/nxos_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bf39d3606053aeface47d66b776a0f8ed281c130cf0258ac09e8a0a759076df4", + "chksum_sha256": "52f0f66116a7b07a9bfd39bcc2cdabc5a2db68ed24d92751f3f53f08332f0ed0", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/main_os_install.yaml", + "name": "tests/integration/targets/nxos_interfaces/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bc3281050236443452b55b83c4c3f32be752eb802c09c730e36e06ee7ef7ca31", + "chksum_sha256": "eb7918401f281cb2d25ccebc214ac1fd9ae10975f3ca4f77f56a53f3cc485a40", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tasks/httpapi.yaml", + "name": "tests/integration/targets/nxos_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e34c809eb2a1ff2bd14e3f594b241b70326a76217b58ec64bc7b8665d098f29a", + "chksum_sha256": "c8d1e0d8e50dd46dc84c73912990ffca760b0f5e1a8ad8ab2f10a90bce902369", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tasks/main.yaml", + "name": "tests/integration/targets/nxos_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5a0047c8f02776d1bffe8d2ced68ea4c0f823708554f48419af32b1b7172a1a9", + "chksum_sha256": "e26569250511575d31ea2338e2abede7fda11240bd583ac7896adccb24abd7f2", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tasks/network_cli.yaml", + "name": "tests/integration/targets/nxos_interfaces/tests/common/purged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "534693509b706a04e6a5880ee9365e0fa59581c094f85e9327c65a5be3b5cb9a", + "chksum_sha256": "832b01df3053b44b5e69f7b1e62fede8df0291af913f7b4abd1d4545439ef718", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests", + "name": "tests/integration/targets/nxos_interfaces/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "454396b9f57fd4895a1d8063b565bde8a053291bc6f6e5f934397c75e99ac6cb", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common", + "name": "tests/integration/targets/nxos_interfaces/vars/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c7aa68e2e8b3bb1d6b4258ed279670b1a8e5fc5e6a63b446eab511c3963db1c1", + "format": 1 + }, + { + "name": "tests/integration/targets/prepare_nxos_tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ee3909a9cbc7c9f42f3b146f122a61bdc2adada843b80ee111fe024dfa5c0d33", + "name": "tests/integration/targets/prepare_nxos_tests/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n3172_greensboro.yaml", + "name": "tests/integration/targets/prepare_nxos_tests/tasks/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f26347411b88b126bce20f80dca17f5726cc830996a1d8bd6119b73647bea681", + "chksum_sha256": "8d49ed36175f83090c361ca918f66c751d9a55d3e57ed4097366dda3f04434ff", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u61a.yaml", + "name": "tests/integration/targets/prepare_nxos_tests/tasks/prepare.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "147279cb89618d50352ab1e86d4e939a3f3e0594cf28aec862eb867e1bdfc307", + "chksum_sha256": "6dc1745aa3d09766233e4522d935898ecfdf07caf0b7d2a3ab7e20e40bbdc4a5", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u62a.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9ee1eb9e5b4f1fea2c930c8a7c48eaf4708576b9af88c29f280f3dabcec163fb", + "name": "tests/integration/targets/prepare_nxos_tests/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u63a.yaml", + "name": "tests/integration/targets/prepare_nxos_tests/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c37931cb7c45570fe30f100fb278e26b7b94b7848d59ad8b6dbdda0670534452", + "chksum_sha256": "851860fe2ed1258710d7fcf89ac5b7d8c3c87755e89ca56fdd79bea022eb2b92", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n35_62a88.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c041886e29ede3a58d17f0e6d281d5dd458095369130bed0e617ffb200824743", + "name": "tests/integration/targets/nxos_aaa_server_host", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n35_greensboro.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bf8414d8d1327c0db9056739e1b39b673abe37e939356efd1ef96ade985ccffc", + "name": "tests/integration/targets/nxos_aaa_server_host/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n5k_730_N11.yaml", + "name": "tests/integration/targets/nxos_aaa_server_host/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "744e3327618fd03cced8667aa2dee9cd691c358777ecb1dc741abf3c8dc18484", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n5k_733_N11.yaml", + "name": "tests/integration/targets/nxos_aaa_server_host/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7efa46e2021391e0fc9114f1b132861cd3614b7ec0064425b46ed876c81ea0f1", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n7k_atherton.yaml", + "name": "tests/integration/targets/nxos_aaa_server_host/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f72c407c1bedf043f2a763f9db8de4c28cb40cd3f55a99180c0b54f46bc9910c", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n7k_helsinki.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c023ec2f8677adcd41bd418bb5e35d3c82dc0636d9d41c45a2074b32891214be", + "name": "tests/integration/targets/nxos_aaa_server_host/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n9k_greensboro.yaml", + "name": "tests/integration/targets/nxos_aaa_server_host/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7a09f37097e9dbedf717f83715339eb5397073ac3909bfd0cae6f874d3cd6342", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n9k_greensboro_force.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "13e87f23b456e285da0593775bfe2b876d167922ce61a4ba47a668cb0b0d82bb", + "name": "tests/integration/targets/nxos_aaa_server_host/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n9k_hamilton.yaml", + "name": "tests/integration/targets/nxos_aaa_server_host/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "669ba59d9d909f0d42d6e69ae0ef3e6e1d4c33995a4658761f0b2884113cc041", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces", + "name": "tests/integration/targets/nxos_aaa_server_host/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/defaults", + "name": "tests/integration/targets/nxos_aaa_server_host/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/nxos_aaa_server_host/tests/common/tacacs.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "b669c11c0bee9b899cb3075b446411bac7b4fd7c79396e5add683a2d5ab8b725", "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_aaa_server_host/tests/common/radius.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "10dec61711d8e2e9660491a3ac36bda92ef57264b44ce2fafd5c0512b2ecfd13", "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "name": "tests/integration/targets/nxos_udld_interface", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tasks", + "name": "tests/integration/targets/nxos_udld_interface/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_udld_interface/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/nxos_udld_interface/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "64ca5b4de950cd0d788bdd92389f7741e663d949ee6b0e343f1038c573564b64", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_udld_interface/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests", + "name": "tests/integration/targets/nxos_udld_interface/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests/common", + "name": "tests/integration/targets/nxos_udld_interface/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_udld_interface/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_udld_interface/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eb7918401f281cb2d25ccebc214ac1fd9ae10975f3ca4f77f56a53f3cc485a40", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests/common/_remove_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a639b04de3b8a2a70660b4034c291526f9e1f4bee9e24e4e543bd719a4f65a50", + "name": "tests/integration/targets/nxos_udld_interface/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests/common/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d5ba532156bd9771e2ec35bb085d404ed049b88e1da827ab9eb6d4dd38a3c871", + "name": "tests/integration/targets/nxos_udld_interface/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests/common/empty_config.yaml", + "name": "tests/integration/targets/nxos_udld_interface/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c5a2d4d2fa3245673307a06eb29fd3b751fad50fde2dac24f84aaff5498a5af7", + "chksum_sha256": "3cd8d7eab5171ab6ad59ea7fd737a7de66bff01398491e83f7d3904da0c5e451", "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests/common/gathered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3f875bd8877a898338a0402b34179ad17f45b84d1623c72741490f52913eb064", + "name": "tests/integration/targets/nxos_pim_rp_address", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests/common/merged.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "49898e976fb440f5b1ebc404e489b6e2511049c950c8c0d8fe75e251dc5c3671", + "name": "tests/integration/targets/nxos_pim_rp_address/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests/common/overridden.yaml", + "name": "tests/integration/targets/nxos_pim_rp_address/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "52f0f66116a7b07a9bfd39bcc2cdabc5a2db68ed24d92751f3f53f08332f0ed0", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_pim_rp_address/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e26569250511575d31ea2338e2abede7fda11240bd583ac7896adccb24abd7f2", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests/common/purged.yaml", + "name": "tests/integration/targets/nxos_pim_rp_address/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "832b01df3053b44b5e69f7b1e62fede8df0291af913f7b4abd1d4545439ef718", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests/common/rendered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "454396b9f57fd4895a1d8063b565bde8a053291bc6f6e5f934397c75e99ac6cb", + "name": "tests/integration/targets/nxos_pim_rp_address/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_pim_rp_address/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c8d1e0d8e50dd46dc84c73912990ffca760b0f5e1a8ad8ab2f10a90bce902369", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/tests/common/rtt.yaml", + "name": "tests/integration/targets/nxos_pim_rp_address/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_pim_rp_address/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0eb7659a55ab72845d72bf76bcac9618bf84c8d5d55c6fa8f04ff9c15c68a92a", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/vars", + "name": "tests/integration/targets/nxos_pim_rp_address/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_interfaces/vars/main.yml", + "name": "tests/integration/targets/nxos_pim_rp_address/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_pim_rp_address/tests/common/configure.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c7aa68e2e8b3bb1d6b4258ed279670b1a8e5fc5e6a63b446eab511c3963db1c1", + "chksum_sha256": "5860ed215f27147987c62a8541f96530427cfadc64b6ce13e849a6785275c8ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces", + "name": "tests/integration/targets/nxos_vtp_domain", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/defaults", + "name": "tests/integration/targets/nxos_vtp_domain/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/nxos_vtp_domain/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "1e03994e82f05167e558b19e20c435e80ed92b6ff4f62f71fb93ed9082d30f94", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_vtp_domain/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/meta/main.yml", + "name": "tests/integration/targets/nxos_vtp_domain/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tasks", + "name": "tests/integration/targets/nxos_vtp_domain/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_vtp_domain/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c0ff0c24a2fb4a8aa58a6356c5029065acb6cf1aba1e14add135ff69c8d1387b", + "name": "tests/integration/targets/nxos_vtp_domain/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_vtp_domain/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tests", + "name": "tests/integration/targets/nxos_vtp_domain/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tests/common", + "name": "tests/integration/targets/nxos_vtp_domain/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_vtp_domain/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b9322c7dd05de65b972eb0bb02c699c4368fc68bb97dd155a05ed98dd304448f", + "chksum_sha256": "d5ce98107789e4105c99fef3d305b6b7099cf14b564000fe960cc6861772e803", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/_remove_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3644170fb7b4322fa4d272cd5d5e351480018b485a065fa7131fb3f6f5e2f353", + "name": "tests/integration/targets/nxos_install_os", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c58134a7c574f9d19d3012c238b2be0d4983d6d856a11e9f6ee089c3df5ec6b4", + "name": "tests/integration/targets/nxos_install_os/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/empty_config.yaml", + "name": "tests/integration/targets/nxos_install_os/tasks/network_cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2a0ff901006be504934a514a2f337a699091eef58ab871fb32e426af1d6f6fa", + "chksum_sha256": "29b863033e05757e739075e995a668f9bcc014a0e214ac894ffa9af68bd781ce", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_install_os/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6c1ffa21ffa7a57ae8edbb0a72820f4ec4e7947ba1ee5a1548473e81efec8724", + "chksum_sha256": "5a0047c8f02776d1bffe8d2ced68ea4c0f823708554f48419af32b1b7172a1a9", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/merged.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b6d84fa1c22c5e2d37b017a18ed59903fab43314717b4d632a46200d745318c0", + "name": "tests/integration/targets/nxos_install_os/tasks/upgrade", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/overridden.yaml", + "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/main_os_install.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aeb7c65908e1aee314df87a9afe8c2f4dc1e1b21e41ca8a03f2991597dfd0685", + "chksum_sha256": "bc3281050236443452b55b83c4c3f32be752eb802c09c730e36e06ee7ef7ca31", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/install_os.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3c30f97c6ae729fd7b3d88a3e7b6671c761ea07061ead87487979c013835b99c", + "chksum_sha256": "d774b3f202b5780184d96cdb5ac41b3db3540d09f575f0c8b0840a3509fd75bb", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/copy_kick_system_images.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f018dcb8d9a42d8930b0d10f62ed931546d66f2998aa42ce95f655d299dbb35b", + "chksum_sha256": "71f8a18402f8b4c95d4bdcb1f4fc6542ce6b9671ea246c44fe9acac70bbd562d", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/enable_scp_server.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9e1b2b7044a678c22cccca3dcc5c677fccf40a509764b7ecf5c8dfeecf4781d8", + "chksum_sha256": "2f94537521756c0171b570da8d8012aa47441ed01f2085c5e0c4ce1c80d6dbf3", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/tests/common/rtt.yaml", + "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/delete_files.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "148ed76eb41828c2417439c0b443097a6f2f9d1fa88a4abad48bd8e62de30c4e", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_l2_interfaces/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "f770f6c4e52488ddd7b0c1dd5c61ef6f7f2dfb329cbae4337e0845567fa3e113", "format": 1 }, { - "name": "tests/integration/targets/nxos_l2_interfaces/vars/main.yml", + "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/install_with_kick.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "80f38875da077b4094678a1b0d5fa1dbb55a586037c541d4daec3b3b8adca944", + "chksum_sha256": "bf39d3606053aeface47d66b776a0f8ed281c130cf0258ac09e8a0a759076df4", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/install_system.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d7225266ebf0be4737420a6d63a5cd3c77d3b6cfde7bd0f1c7eded1ebfad70b7", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_install_os/tasks/upgrade/clear_persistent_sockets.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2fcf3f5178da21851bf3cd61610f645b242d841bb553acc94fa88c003c8849e5", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/nxos_install_os/tasks/httpapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "1c9ccfa8d43479520eb4cffae188c452027a694dd86a02bd92d31b5843301ad5", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/meta", + "name": "tests/integration/targets/nxos_install_os/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/meta/main.yml", + "name": "tests/integration/targets/nxos_install_os/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "efb275d54a7c21fd007e1d1c8b10b65d148a9121af425a4e7fbd60abacd23fc8", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tasks", + "name": "tests/integration/targets/nxos_install_os/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_l3_interfaces/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2418a2ada8700c06969324411c9be328b4d4ad913c6eb93fb824dff96900ff8f", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_l3_interfaces/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_install_os/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "a79b77c93a1982c2682c177681bfcef5f3fb3421e3ef10be452fc81dc3ce8871", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests", + "name": "tests/integration/targets/nxos_install_os/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests/common", + "name": "tests/integration/targets/nxos_install_os/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n3172_greensboro.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3a640fd87c6717d5876b64797f7d0092fd6673272fc5a674bde3cf5ed78e8b79", + "chksum_sha256": "f26347411b88b126bce20f80dca17f5726cc830996a1d8bd6119b73647bea681", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n9k_greensboro.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9dbc4efa7c9e6843b987aa6286ba0de836129c75b66249ab846fee2012fc2394", + "chksum_sha256": "7a09f37097e9dbedf717f83715339eb5397073ac3909bfd0cae6f874d3cd6342", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/deleted.yaml", + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n7k_atherton.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1676a953c0e740cc280155ea76e6368fd5628556cdc0acae19e1834b40721681", + "chksum_sha256": "f72c407c1bedf043f2a763f9db8de4c28cb40cd3f55a99180c0b54f46bc9910c", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/empty_config.yaml", + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n5k_730_N11.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "858bc39fea4f9cedff070a248b5119124852eeb9237388ef833c414510dbf24c", + "chksum_sha256": "744e3327618fd03cced8667aa2dee9cd691c358777ecb1dc741abf3c8dc18484", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u63a.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4c8ea6a0bd93a5ae1092362c88b1eb6ed13a086968841b5d68654677741714dc", + "chksum_sha256": "c37931cb7c45570fe30f100fb278e26b7b94b7848d59ad8b6dbdda0670534452", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/merged.yaml", + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n9k_hamilton.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e7555ee3d0322003861d6c2d810ec490027b8d792e8800c7e9a46fab869b1c92", + "chksum_sha256": "669ba59d9d909f0d42d6e69ae0ef3e6e1d4c33995a4658761f0b2884113cc041", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/multisite.yaml", + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n35_greensboro.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b0b3ebe6d2d7db422ec1a046818ce06ddf83ef9f32a9178691d732b0824b4da1", + "chksum_sha256": "bf8414d8d1327c0db9056739e1b39b673abe37e939356efd1ef96ade985ccffc", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/overridden.yaml", + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n9k_greensboro_force.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c670083adeabaa18419eea52a2297aeea81b1a5635718b95aebf3d1955f78385", + "chksum_sha256": "13e87f23b456e285da0593775bfe2b876d167922ce61a4ba47a668cb0b0d82bb", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5e2abf21e437435b96d94e3a1c900ac1284a39092f3b0b1d19e8d5d7544a8424", + "chksum_sha256": "ee3909a9cbc7c9f42f3b146f122a61bdc2adada843b80ee111fe024dfa5c0d33", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n35_62a88.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f274f91771b34f2246ee4fa58bae6acd7fafb0ea1f1efb04ffb362cfd1678de3", + "chksum_sha256": "c041886e29ede3a58d17f0e6d281d5dd458095369130bed0e617ffb200824743", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n7k_helsinki.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ef91b776e8c9627a55cc9759549aaa7482e0f7da4385079443b8e8f1d8d40b8c", + "chksum_sha256": "c023ec2f8677adcd41bd418bb5e35d3c82dc0636d9d41c45a2074b32891214be", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/rtt.yaml", + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u61a.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d660e4e5717467104076599f04b44aca40bbe45b79eb5e5554cb1ff390feb405", + "chksum_sha256": "147279cb89618d50352ab1e86d4e939a3f3e0594cf28aec862eb867e1bdfc307", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n3172_u62a.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9ee1eb9e5b4f1fea2c930c8a7c48eaf4708576b9af88c29f280f3dabcec163fb", "format": 1 }, { - "name": "tests/integration/targets/nxos_l3_interfaces/vars/main.yml", + "name": "tests/integration/targets/nxos_install_os/tests/common/upgrade_n5k_733_N11.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24e5a4f2e7330b185775678aa68b4645786e83617b90d5a32fb4ff4b77b345ad", + "chksum_sha256": "7efa46e2021391e0fc9114f1b132861cd3614b7ec0064425b46ed876c81ea0f1", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp", + "name": "tests/integration/targets/nxos_aaa_server", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/defaults", + "name": "tests/integration/targets/nxos_aaa_server/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/defaults/main.yaml", + "name": "tests/integration/targets/nxos_aaa_server/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_aaa_server/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/meta/main.yml", + "name": "tests/integration/targets/nxos_aaa_server/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tasks", + "name": "tests/integration/targets/nxos_aaa_server/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_aaa_server/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c0ff0c24a2fb4a8aa58a6356c5029065acb6cf1aba1e14add135ff69c8d1387b", + "name": "tests/integration/targets/nxos_aaa_server/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_aaa_server/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tests", + "name": "tests/integration/targets/nxos_aaa_server/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tests/common", + "name": "tests/integration/targets/nxos_aaa_server/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_aaa_server/tests/common/tacacs.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a10bac016859ecead883b3a70c3eb13f70718ad9cdd2796b92294bb73bbee29d", + "chksum_sha256": "309cf43dacad631085bfede9a52ee2e7bdb4763488463bfb96dde11184bbe0fc", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_aaa_server/tests/common/radius.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6c963e6f41c7e38e88e7f37dd8025ee75cd3970358d2568dc84a25bf0833c221", + "chksum_sha256": "08fe50e81078371eff5d9482f9b7721eb6fd1288ccc88f11b8b42f94270df4ef", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tests/common/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5e8603749c8d553899ed39b13b3acd136e23d7bd3b09098fc55d615557712b8e", + "name": "tests/integration/targets/nxos_ntp_auth", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tests/common/empty_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d05b5fe9f03352e3b8f7827b2dcf181df0e3c72fe956593e4da447c9d4f8869c", + "name": "tests/integration/targets/nxos_ntp_auth/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_ntp_auth/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dc7919875ac197ca437f1f27d4ace434975e7b0ebc59f0b9e76779b7c13300bd", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tests/common/merged.yaml", + "name": "tests/integration/targets/nxos_ntp_auth/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d7f405af0ba053d9e613e791943bc8133e6dbf994db877e876b7dbfcfead68cb", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_ntp_auth/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "82e18104dcb23f633ded1a694fa4ecbf1df4e14a09620d260473341a8920698a", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tests/common/rendered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b9a08d012138636068569151cf4f74205676ea00cc6fccdc2e2627447110156c", + "name": "tests/integration/targets/nxos_ntp_auth/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_ntp_auth/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "546c7e8f53d5167a0c5fb320ccd6b5e7db098829ce47de467b2e20856dd402c2", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/vars", + "name": "tests/integration/targets/nxos_ntp_auth/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp/vars/main.yml", + "name": "tests/integration/targets/nxos_ntp_auth/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d990ef6f460be1be57ee33ce95b7fd66d05175e93e1e2716cce708d420a5d466", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces", + "name": "tests/integration/targets/nxos_ntp_auth/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/defaults", + "name": "tests/integration/targets/nxos_ntp_auth/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/nxos_ntp_auth/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "8e17189f259b91c17e7264d272ac181275b6b550180c1703b6c97e7dd4ed5b46", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/meta", + "name": "tests/integration/targets/nxos_lacp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { "name": "tests/integration/targets/nxos_lacp_interfaces/tasks", "ftype": "dir", "chksum_type": null, @@ -9087,10 +9157,10 @@ "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_lacp_interfaces/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { @@ -9101,31 +9171,52 @@ "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_lacp_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ce1d6ba27c1064403038da1dbddeeec72f97249fdc90ea0cd7ca3090d03b6ef5", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/tests", + "name": "tests/integration/targets/nxos_lacp_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common", + "name": "tests/integration/targets/nxos_lacp_interfaces/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_lacp_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_lacp_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d8f3f3ddd194db7f9b22519fac0e45a4c3529b3beaf85c2f15780daaa1cac4a0", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_lacp_interfaces/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { @@ -9143,17 +9234,17 @@ "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common/empty_config.yaml", + "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c290a62babd394680c978ea09017b67507be0351b51e46c746a874320362e8ec", + "chksum_sha256": "ea101ba2a00ebe731b075245fdac99f96d8536a8dbd4b1f3f41aa0bf3863713e", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ea101ba2a00ebe731b075245fdac99f96d8536a8dbd4b1f3f41aa0bf3863713e", + "chksum_sha256": "c290a62babd394680c978ea09017b67507be0351b51e46c746a874320362e8ec", "format": 1 }, { @@ -9171,24 +9262,31 @@ "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3e5be532a772bae7c777ccff5a0bd7873f6d67fd9cfc19ee1148d34381a7e6a7", + "chksum_sha256": "d8f3f3ddd194db7f9b22519fac0e45a4c3529b3beaf85c2f15780daaa1cac4a0", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3e63a62df68b89bd619c1bd5632735df0c735ed4fa2cd9201bd1ba31faf87e7", + "chksum_sha256": "7fba7cbbd3ce552b4dbe95b0929f2264f20fca017fd8d49dcbfcf704234fee03", "format": 1 }, { - "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7fba7cbbd3ce552b4dbe95b0929f2264f20fca017fd8d49dcbfcf704234fee03", + "chksum_sha256": "3e5be532a772bae7c777ccff5a0bd7873f6d67fd9cfc19ee1148d34381a7e6a7", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_lacp_interfaces/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d3e63a62df68b89bd619c1bd5632735df0c735ed4fa2cd9201bd1ba31faf87e7", "format": 1 }, { @@ -9213,59 +9311,59 @@ "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/defaults", + "name": "tests/integration/targets/nxos_lag_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/nxos_lag_interfaces/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_lag_interfaces/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b9647339f89f9eeca01a09cd4f31da21e0c0c2f10793ea3ea06c24fd8664046e", "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/meta/main.yml", + "name": "tests/integration/targets/nxos_lag_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/tasks", + "name": "tests/integration/targets/nxos_lag_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_lag_interfaces/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b9647339f89f9eeca01a09cd4f31da21e0c0c2f10793ea3ea06c24fd8664046e", + "name": "tests/integration/targets/nxos_lag_interfaces/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_lag_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ce1d6ba27c1064403038da1dbddeeec72f97249fdc90ea0cd7ca3090d03b6ef5", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { @@ -9283,24 +9381,24 @@ "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "76ea0558de38d30dd8813738f9d92fba9867c7d37fcb2a104acaaf5aeebb12af", + "chksum_sha256": "d6daa4d3b2cb43c7b62b7606b80b4f212348ecb1e28a516d16ac90e02f459266", "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d6daa4d3b2cb43c7b62b7606b80b4f212348ecb1e28a516d16ac90e02f459266", + "chksum_sha256": "4af7dc65128b02d59c3c12d5f94cfc4a77c266e867b79b172fc6425c871f9ffd", "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/deleted.yaml", + "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4af7dc65128b02d59c3c12d5f94cfc4a77c266e867b79b172fc6425c871f9ffd", + "chksum_sha256": "2e4441e52874693cf2caa332a4639c23ad59350a6eda4e9c5109a9792a306447", "format": 1 }, { @@ -9311,45 +9409,45 @@ "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2e4441e52874693cf2caa332a4639c23ad59350a6eda4e9c5109a9792a306447", + "chksum_sha256": "53c3cd45c91dd6078cf71ea7a9973d65069a61eaef47c49a51c7b66355970a63", "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/merged.yaml", + "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7bca98f5d35319d4cb3688020a2a0f8be8dfe00410cbd467b55f84b1c3cb2763", + "chksum_sha256": "96e1c7636b178b2ae705ac0d7dd2ea67a4d4c1aaf29122900549bde0da43b4de", "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/overridden.yaml", + "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b8be50a6527c3f19266dd4edb39b65edc72d036164cf8aafecae8b8b5b82fd61", + "chksum_sha256": "76ea0558de38d30dd8813738f9d92fba9867c7d37fcb2a104acaaf5aeebb12af", "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c10b8ab6302c0df3b5d8c99d1f67a9d92b80b518250c11e650dde96bc8f6b886", + "chksum_sha256": "08e830f9373a4a360949e7c56cf2c374dad94a559adbde314f3b66daa642a0c8", "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6eb88f454c810cee9cf1be9fc56eb6a574516fc49bddc50e81f329dc98cfb9eb", + "chksum_sha256": "c10b8ab6302c0df3b5d8c99d1f67a9d92b80b518250c11e650dde96bc8f6b886", "format": 1 }, { - "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_lag_interfaces/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "08e830f9373a4a360949e7c56cf2c374dad94a559adbde314f3b66daa642a0c8", + "chksum_sha256": "6eb88f454c810cee9cf1be9fc56eb6a574516fc49bddc50e81f329dc98cfb9eb", "format": 1 }, { @@ -9367,7549 +9465,7381 @@ "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global", + "name": "tests/integration/targets/nxos_vrf_af", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/defaults", + "name": "tests/integration/targets/nxos_vrf_af/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/defaults/main.yaml", + "name": "tests/integration/targets/nxos_vrf_af/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_vrf_af/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/meta/main.yml", + "name": "tests/integration/targets/nxos_vrf_af/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "8d37308cf2225418b5fab604f2b171a1aafbaa84be0c933a48ec0f153d7119ad", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/tasks", + "name": "tests/integration/targets/nxos_vrf_af/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_vrf_af/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9c60c765342e8f0f2291889e663162ef5139a9426461da1a3de8f53706b51c1f", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_vrf_af/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_vrf_af/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "258e6ba0019efd15be53daa8168c90204d68129e82ded02b6c09fca29da7c3f3", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/tests", + "name": "tests/integration/targets/nxos_vrf_af/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/tests/common", + "name": "tests/integration/targets/nxos_vrf_af/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/tests/common/_populate_config.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c7bacd3b7cb077dc6895ecf350711c1bf39e18739a361f6cf514e9dd4d6355f3", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_lldp_global/tests/common/_remove_config.yml", + "name": "tests/integration/targets/nxos_vrf_af/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "339639545338297ee483c8e1370eeefc88356fceb240523dbbc6d8c237444982", + "chksum_sha256": "df6d2b3a3d7a67ce3759464bf144b6a71d61afa348cfda6faea7707ab93acf21", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/tests/common/deleted.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ffe0021fbc8bd39a7990267dc791d78f2571f3285efd5fd1244c68159ffca98f", + "name": "tests/integration/targets/nxos_zone_zoneset", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/tests/common/gathered.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e5f9f21d8529dd8144e8259391a04642355d3f3c9063db5a27472a5180d6b7dd", + "name": "tests/integration/targets/nxos_zone_zoneset/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/tests/common/merged.yml", + "name": "tests/integration/targets/nxos_zone_zoneset/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e82eb173fbdc3209c167bc096bf1665240e72b24a34f75c19ec1a3b7c5d4c8d1", + "chksum_sha256": "f47853340600c1c9b76ed00695079b203ae45896e40acfac2f48e28f2ad98b40", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/tests/common/parsed.yml", + "name": "tests/integration/targets/nxos_zone_zoneset/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ca1cd52e0c16bb7a97f9e1aa4eb9c49600b25854f35a93b0bcfeaf3ead1e7c07", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/tests/common/rendered.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "18c1848ef28d20fffd52045955b5a54ca72aea45d5c2ff9060d8856aeeb7162a", + "name": "tests/integration/targets/nxos_zone_zoneset/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/tests/common/replaced.yml", + "name": "tests/integration/targets/nxos_zone_zoneset/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a62a8ac1f40b48c56dbd06eb543897331236925608b859a758f1c91037f17455", + "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/vars", + "name": "tests/integration/targets/nxos_zone_zoneset/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_global/vars/main.yml", + "name": "tests/integration/targets/nxos_zone_zoneset/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ac136582618b2844cd5bb84e0aaf52f6b4e7a6ea581a0fa0ec5466e9c9c3bd68", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces", + "name": "tests/integration/targets/nxos_zone_zoneset/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/defaults", + "name": "tests/integration/targets/nxos_zone_zoneset/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/nxos_zone_zoneset/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "781a480d71c224fb90d67eba3072492ff3f2d263df13ec8c735cabec41956751", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/meta", + "name": "tests/integration/targets/nxos_zone_zoneset/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/meta/main.yml", + "name": "tests/integration/targets/nxos_zone_zoneset/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "97b10ee26b05c01b328d79887c41479bd2bf559184fb1df4af53645db6e109ba", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tasks", + "name": "tests/integration/targets/nxos_file_copy", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5b672577df941e528d711848cf3875e798da2dd3fbbdea2cb13a966de2f1a8f5", + "name": "tests/integration/targets/nxos_file_copy/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/nxos_file_copy/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0ff0c24a2fb4a8aa58a6356c5029065acb6cf1aba1e14add135ff69c8d1387b", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_file_copy/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "258e6ba0019efd15be53daa8168c90204d68129e82ded02b6c09fca29da7c3f3", + "chksum_sha256": "f6bf1e5e97ebdee9d3da5227017b650cf6de337ae6ce68cee739acf39a32ec81", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_file_copy/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common", + "name": "tests/integration/targets/nxos_file_copy/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/deleted.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8695d048ec2623b31a194a213ef80da6add19468e0f90a4ca97d5b8257979529", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/gathered.yml", + "name": "tests/integration/targets/nxos_file_copy/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d559bcc46e44d101f2fa43a97d785b4476d6053486294e513a7cafbaf67b6bae", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/merged.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2399f3e2619a3b82bcf30be4b9a2be7c660d0f53450d25a46b87fd8ee4abb25b", + "name": "tests/integration/targets/nxos_file_copy/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/overridden.yml", + "name": "tests/integration/targets/nxos_file_copy/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b4403fc48624d3990b76b682c8b17543e81f43f152f1afe573bdde1722248ea1", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/parsed.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e63afbeefadaaf0dcc22637aaeebfc27980cb517c68aabda8338c05976255320", + "name": "tests/integration/targets/nxos_file_copy/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/remove_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "303bc0ba56d6f13d152987aaf4b6953d88e4461e8958c7db467d52d247a63dce", + "name": "tests/integration/targets/nxos_file_copy/tests/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/rendered.yml", + "name": "tests/integration/targets/nxos_file_copy/tests/cli/input_validation.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "05a26c146d796dee090a8d9931d7f38b5cf3ea87682c7f50f73597a6cff1a4cb", + "chksum_sha256": "86642c6a7b15cbac85986a618de3eea6d741cb9819a4b7896570ab07e6033a8c", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/replaced.yml", + "name": "tests/integration/targets/nxos_file_copy/tests/cli/negative.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2c101fa94fc443f0335f4fb75c440dc5c0fe47363d3463d0eccc2c340b39e6cf", + "chksum_sha256": "0a918d9c6433c61aea340e1c0c94ef62d409893bfe7fd1858386da4422c5e208", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/rtt.yml", + "name": "tests/integration/targets/nxos_file_copy/tests/cli/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "23d20e20e06201967d2847f91f879c7741ac48c9e08bc1b9b3f63ef8c111ad29", + "chksum_sha256": "021893730c6fa627193f1b0189476630b88aef49449b7b7e2b0516acc288231d", "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/vars", + "name": "tests/integration/targets/nxos_file_copy/tests/nxapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_lldp_interfaces/vars/main.yml", + "name": "tests/integration/targets/nxos_file_copy/tests/nxapi/badtransport.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "823ad4608bc4788ff160348fe4e6be75f267c9f2a55bf2043875eb2d76084f39", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_logging", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "21427f41984508b9839c2f35a72d67fd2cf22fcd68d619118a5b5515d2268668", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging/defaults", + "name": "tests/integration/targets/nxos_file_copy/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging/defaults/main.yaml", + "name": "tests/integration/targets/nxos_file_copy/fixtures/data.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "ef43c9adc8aeec6910b4373ba0d9fbf28048ed53ec631ab9fd6fa8ad00a8a3a0", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging/meta", + "name": "tests/integration/targets/nxos_evpn_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging/meta/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_logging/tasks", + "name": "tests/integration/targets/nxos_evpn_global/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_evpn_global/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging/tasks/main.yaml", + "name": "tests/integration/targets/nxos_evpn_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2fa4212775c84d75c443b3960aebf6341b09e5224e4faa7487fd1665c531cfed", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_evpn_global/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging/tests", + "name": "tests/integration/targets/nxos_evpn_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_evpn_global/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging/tests/common/basic.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cffb79e3d12eafda145406aeabd6a8b977e70c5eaf2357b1ea7e9f961f0d8efa", + "name": "tests/integration/targets/nxos_evpn_global/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging/tests/common/purge.yaml", + "name": "tests/integration/targets/nxos_evpn_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "73306e68b9cf6de77d4ae5c21bef31324fa909718a1aa43c35e1d99dfa07ce1f", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global", + "name": "tests/integration/targets/nxos_evpn_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/defaults", + "name": "tests/integration/targets/nxos_evpn_global/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/defaults/main.yaml", + "name": "tests/integration/targets/nxos_evpn_global/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "9190f2d0dae47c3b29ebe68f89ec9e3b88f0af56af489b15624cf99c86415d9f", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/meta", + "name": "tests/integration/targets/nxos_vxlan_vtep_vni", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_logging_global/tasks", + "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "6fa74ca9eef193774b0257522c64344fa2c8851398dc0acd94e161192cc0015d", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tasks/main.yaml", + "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2396a1bb62aa2d673208deb59766a787971d061630b8467afa525b7fdcb2e95e", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tests", + "name": "tests/integration/targets/nxos_vxlan_vtep_vni/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_vxlan_vtep_vni/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tests/common/fixtures", + "name": "tests/integration/targets/nxos_vxlan_vtep_vni/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tests/common/fixtures/parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3a97c562338de257e93908f409c770a5439d362fcddcdb8d939dc7ff2e7002c6", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_logging_global/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_vxlan_vtep_vni/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dd0584d7e6d6a3aa5942acda6002b2e13a2bd64d59ee04dc5122274268676cc8", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tests/common/_remove_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "619954ad3ae24e83760fb7b9f09daaf010f96020056398fe49a04001326f72c8", + "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tests/common/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "926b1b20a7babe989cc2f1b3e34a16d08368817d3ef38d6903650a294a42cc3a", + "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tests/common/empty_config.yaml", + "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b1658713d71b118aec3c1e27ae2d2453c239d56b32e3c6d816f5187796b40c7c", + "chksum_sha256": "81ba6bdc57dba2f0adc0b293862db415cb6aea44ae3793cbb0c755ea01c073a9", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tests/common/multisite.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c13b226487605fb6b6c73406c97a1972ed4c1995825124cb426d64eaac1a2ec", + "chksum_sha256": "7127fe8481d55865ca7043a159fb4c4a6e02423899c7143bbb548aff0f3728e4", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tests/common/merged.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "82ec13620a0c096e01a22d68b13c59798667ca68d3ddbbc1be802ff3f415a562", + "name": "tests/integration/targets/nxos_command", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tests/common/overridden.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "04822e2f3237fcae131842012a520b5fde51c1fd4b381ab86aa055d7c076f867", + "name": "tests/integration/targets/nxos_command/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_command/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d952ab3ac507f65ff98eb58e380db0abe1583198f653d77beaa4e384929ad698", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_command/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b4a5f8a10bd86d7609cb6688523bc611e052260c4a06bf9cf202f33eee40a1f5", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_command/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dadff9821e586c3a062c7ac4b2936903359a8fc4b2f4cceeb466f558c82b52d1", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/vars", + "name": "tests/integration/targets/nxos_command/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_logging_global/vars/main.yml", + "name": "tests/integration/targets/nxos_command/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15f80d89c3629bea0c669753c52136268f11e94a83ba6e69411fc96ab8449457", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_ntp", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp/defaults", + "name": "tests/integration/targets/nxos_command/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp/defaults/main.yaml", + "name": "tests/integration/targets/nxos_command/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp/meta", + "name": "tests/integration/targets/nxos_command/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_ntp/tasks", + "name": "tests/integration/targets/nxos_command/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_command/tests/cli/contains.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "ac46a36b0b073fcb691e33c0602443a2bef31fac538dd68d2c9d78edce98f1d4", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp/tasks/main.yaml", + "name": "tests/integration/targets/nxos_command/tests/cli/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "chksum_sha256": "41b22e35084ef1e82fe5fbe12cb7eec0591d256af60a6acdea4c26138a4b4b97", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_command/tests/cli/cli_command.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "c8dc21d11e5f13aacc82d1a8872ad62b00551edff6284a36a02eea970b73a9d2", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp/tests", + "name": "tests/integration/targets/nxos_command/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_command/tests/common/lessthan.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "eb9067d3cfdd75f94ac2748f0742c1c61717a3798292cba7042c806fc0488fb3", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_command/tests/common/invalid.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e73dcd5a6b36e1b9d5a9dccbe433f93ed19375686c161e0045ca92ccf2ca7053", + "chksum_sha256": "f8d3206de3a49dfbf253bca6957a915f6fb10c3f0411f102de10841ff6094d90", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_auth", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_command/tests/common/greaterthanorequal.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d6f816b5c0dcbe205f7d8e6f1a773d71276fcb9874a1c4b8a0d10e4804632301", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_auth/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_command/tests/common/equal.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "78ffc32b0c96adc09c9321e1d12fbb5c91908419e857e25e4a4ac7839cc0610c", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_auth/defaults/main.yaml", + "name": "tests/integration/targets/nxos_command/tests/common/bad_operator.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "a929284d3616cf3d0ce228bff6a002588943bcf4a85f5403b519a1e46950a3b9", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_auth/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_command/tests/common/lessthanorequal.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5c90dcce9d2d647a50d1c9db4248293535b7d75352ecffd152e877ab13940787", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_auth/meta/main.yml", + "name": "tests/integration/targets/nxos_command/tests/common/output.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "afc13fd26c10d41c29bd89f7b874d6c06a2636cbb434069506a9f30cb9da907a", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_auth/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_command/tests/common/greaterthan.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3dde04a006eb5b001ed0f80589e92b4fdaa9a939dd4ae904cd63af915bd938f5", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_auth/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_command/tests/common/timeout.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "c859bb27d5fc01d07c00c6ce3125c74666663ccd7a9b08d9cf1a1b7385115f0e", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_auth/tasks/main.yaml", + "name": "tests/integration/targets/nxos_command/tests/common/notequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "b12ffe1eb63e9b2854d5c509145508207bb471df7e881218c014a7fab0f41bb5", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_auth/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_command/tests/common/not_comparison_operator.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "30280c74bc0f1e1a85cafed4144bf12ba196ca4e86db30161f64b26d84951012", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_auth/tests", + "name": "tests/integration/targets/nxos_command/tests/nxapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_auth/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_command/tests/nxapi/contains.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5e366cc4b346ae49a4b6ffc53630caa1c99a8e85cd28c8adaf7b1bf4cdc0cf9c", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_auth/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_command/tests/nxapi/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8e17189f259b91c17e7264d272ac181275b6b550180c1703b6c97e7dd4ed5b46", + "chksum_sha256": "54d18e3242c76aa88bc82a7a916bbdb6beff7ce3b5b70a651a821cf6c7942e79", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global", + "name": "tests/integration/targets/nxos_lldp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/defaults", + "name": "tests/integration/targets/nxos_lldp_global/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/defaults/main.yaml", + "name": "tests/integration/targets/nxos_lldp_global/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "280d285e1a9b531b25d8b880d3a032933d7135004c4658b7f1eb4872c60cc666", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_lldp_global/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/meta/main.yml", + "name": "tests/integration/targets/nxos_lldp_global/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "fe84894e2a9ff992a755f52f856ff23c23dd249fb9fe14dc4f264cd1a6070e12", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tasks", + "name": "tests/integration/targets/nxos_lldp_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_lldp_global/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2396a1bb62aa2d673208deb59766a787971d061630b8467afa525b7fdcb2e95e", + "name": "tests/integration/targets/nxos_lldp_global/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_lldp_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_ntp_global/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tests/common", + "name": "tests/integration/targets/nxos_lldp_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tests/common/fixtures", + "name": "tests/integration/targets/nxos_lldp_global/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tests/common/fixtures/parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f7771e974db6ccc58fcb0a69ff17e00e208d57c09d96c7b8dfe8f5ecae8c879b", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_ntp_global/tests/common/_populate_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "08e70b7bf07e9f6621e1389be04c654a23a2f975aa49fc4aabc7ecb593bc5cfa", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_ntp_global/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_lldp_global/tests/common/parsed.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2a828ee760fb0dfc1ce2906e7498216901248da978df3b7a90ce842c1041a157", + "chksum_sha256": "ca1cd52e0c16bb7a97f9e1aa4eb9c49600b25854f35a93b0bcfeaf3ead1e7c07", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tests/common/deleted.yaml", + "name": "tests/integration/targets/nxos_lldp_global/tests/common/_remove_config.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e4c2d740371ba62f8ce9a298147acad6ef15cb6b851a8ea32e7682934e5c4294", + "chksum_sha256": "339639545338297ee483c8e1370eeefc88356fceb240523dbbc6d8c237444982", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tests/common/empty_config.yaml", + "name": "tests/integration/targets/nxos_lldp_global/tests/common/gathered.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f836d5207479f29e09d0669ff7c58dd23bde729eda06dce4649cdc3e60be53a9", + "chksum_sha256": "e5f9f21d8529dd8144e8259391a04642355d3f3c9063db5a27472a5180d6b7dd", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_lldp_global/tests/common/merged.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "060aecc4cf5c2f2c7d5785001728b97f6913dd3900aa2dcb0c37436509d9d92e", + "chksum_sha256": "e82eb173fbdc3209c167bc096bf1665240e72b24a34f75c19ec1a3b7c5d4c8d1", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tests/common/merged.yaml", + "name": "tests/integration/targets/nxos_lldp_global/tests/common/replaced.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "159d739b15a17d8f62cbb4c9dfcd2fa3b7ede51f02fa6e9ac2bde196643b60fd", + "chksum_sha256": "a62a8ac1f40b48c56dbd06eb543897331236925608b859a758f1c91037f17455", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tests/common/overridden.yaml", + "name": "tests/integration/targets/nxos_lldp_global/tests/common/deleted.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1581f91ffd8c1c23bb4676eab5c8b75109777725856083ae7e8f3f2e0993b3be", + "chksum_sha256": "ffe0021fbc8bd39a7990267dc791d78f2571f3285efd5fd1244c68159ffca98f", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_lldp_global/tests/common/overridden.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bcba4c729094da821fbbcce077fce21c817d1f560df1dc97ede6c6ff9cc4565", + "chksum_sha256": "8aeec5521c22e513a4e736c9b51461285abce953173508ae28fb02ecef95952a", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_lldp_global/tests/common/_populate_config.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eb766ac5e824552d743eb36cfc738ad9abd7985d945bdea3d22a0d9130f839ca", + "chksum_sha256": "c7bacd3b7cb077dc6895ecf350711c1bf39e18739a361f6cf514e9dd4d6355f3", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_lldp_global/tests/common/rendered.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6b602368f7b9b4aba2e9a3e88b73abf107d658eb335fe4ce1a4cd4c0dca3a4c6", + "chksum_sha256": "18c1848ef28d20fffd52045955b5a54ca72aea45d5c2ff9060d8856aeeb7162a", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/vars", + "name": "tests/integration/targets/nxos_lldp_global/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_global/vars/main.yml", + "name": "tests/integration/targets/nxos_lldp_global/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2c37457ec8af62c1519304e787a4e2ca6be4c156f8cf7bc2293106f38aaa2957", + "chksum_sha256": "ac136582618b2844cd5bb84e0aaf52f6b4e7a6ea581a0fa0ec5466e9c9c3bd68", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_options", + "name": "tests/integration/targets/nxos_bfd_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_options/defaults", + "name": "tests/integration/targets/nxos_bfd_global/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_options/defaults/main.yaml", + "name": "tests/integration/targets/nxos_bfd_global/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_options/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bfd_global/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_options/meta/main.yml", + "name": "tests/integration/targets/nxos_bfd_global/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_options/tasks", + "name": "tests/integration/targets/nxos_bfd_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_options/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_bfd_global/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_options/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_bfd_global/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_options/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_bfd_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_options/tests", + "name": "tests/integration/targets/nxos_bfd_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_options/tests/common", + "name": "tests/integration/targets/nxos_bfd_global/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ntp_options/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_bfd_global/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "21d676594b169612943330f80f0fc7f0caafca537c991d9671fee07e9639a30d", + "chksum_sha256": "302caab98adbe8644dc6652426b6e9300fc4d8fbc1a479ee7aeaf54d6a23da59", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi", + "name": "tests/integration/targets/nxos_logging_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/defaults", + "name": "tests/integration/targets/nxos_logging_global/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/defaults/main.yaml", + "name": "tests/integration/targets/nxos_logging_global/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/meta", + "name": "tests/integration/targets/nxos_logging_global/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2396a1bb62aa2d673208deb59766a787971d061630b8467afa525b7fdcb2e95e", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_logging_global/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_logging_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/meta/main.yml", + "name": "tests/integration/targets/nxos_logging_global/meta/main.yml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks", + "name": "tests/integration/targets/nxos_logging_global/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_logging_global/defaults/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/default", + "name": "tests/integration/targets/nxos_logging_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/default/assert_changes_http.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "db4865169c3dc97c5ca5e24083550b243b685cfaeaaba16333b1f55754dd265a", + "name": "tests/integration/targets/nxos_logging_global/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/default/assert_changes_https.yaml", + "name": "tests/integration/targets/nxos_logging_global/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bfae052c7df36024a59df89f314dc7e03019ad1649f4132cb34bb2a8f50fe903", + "chksum_sha256": "619954ad3ae24e83760fb7b9f09daaf010f96020056398fe49a04001326f72c8", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/default/assert_changes_https_http.yaml", + "name": "tests/integration/targets/nxos_logging_global/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b055af4a4779d412640cee585ef493e52c3937782e095218164d2719d5223d29", + "chksum_sha256": "926b1b20a7babe989cc2f1b3e34a16d08368817d3ef38d6903650a294a42cc3a", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/default/assert_changes_https_http_ports.yaml", + "name": "tests/integration/targets/nxos_logging_global/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "04e8b8ae8842f40c777282e979ea824c7c886f3e8ae1d9e2710ff466d1fc2ae0", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n5k", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "7c13b226487605fb6b6c73406c97a1972ed4c1995825124cb426d64eaac1a2ec", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n5k/assert_changes_http.yaml", + "name": "tests/integration/targets/nxos_logging_global/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ed763ee2de2c730ea2783225dc132f5c28f22ea272213a36b9b3bb4471492e08", + "chksum_sha256": "b1658713d71b118aec3c1e27ae2d2453c239d56b32e3c6d816f5187796b40c7c", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n5k/assert_changes_https.yaml", + "name": "tests/integration/targets/nxos_logging_global/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f99598e0507cfb4e0e625a4075deabb91c5de5e1c0e5531846b9467a6faeaa9", + "chksum_sha256": "82ec13620a0c096e01a22d68b13c59798667ca68d3ddbbc1be802ff3f415a562", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n5k/assert_changes_https_http.yaml", + "name": "tests/integration/targets/nxos_logging_global/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "79ee713da7a48ad0b493f6e07690138be3eb4d04d890126aec488e2242e7a442", + "chksum_sha256": "04822e2f3237fcae131842012a520b5fde51c1fd4b381ab86aa055d7c076f867", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n5k/assert_changes_https_http_ports.yaml", + "name": "tests/integration/targets/nxos_logging_global/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3cef9d277e717f6956a9d5136862c72616d866eb04d8f8c0da44c0777739c92c", + "chksum_sha256": "dd0584d7e6d6a3aa5942acda6002b2e13a2bd64d59ee04dc5122274268676cc8", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n7k", + "name": "tests/integration/targets/nxos_logging_global/tests/common/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n7k/assert_changes_http.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "35222b27a54a701db0042dd5fb6069d48d9e27a70821a1707a4aad0d19bc227f", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n7k/assert_changes_https.yaml", + "name": "tests/integration/targets/nxos_logging_global/tests/common/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d826b7762b3ab39ad7d294ca171272d1ff3213c35f8040c3657228f259d331d5", + "chksum_sha256": "3a97c562338de257e93908f409c770a5439d362fcddcdb8d939dc7ff2e7002c6", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n7k/assert_changes_https_http.yaml", + "name": "tests/integration/targets/nxos_logging_global/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "97089a108cc1eac9afae028c6da9bf6f7017afcfc3f1a85776cfe6af31f2c6af", + "chksum_sha256": "dadff9821e586c3a062c7ac4b2936903359a8fc4b2f4cceeb466f558c82b52d1", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/platform/n7k/assert_changes_https_http_ports.yaml", + "name": "tests/integration/targets/nxos_logging_global/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5d5a7bc39789b15cf95dd49af7ab1636f3a4589a2be3ee5ca341dbb4414eb95b", + "chksum_sha256": "d952ab3ac507f65ff98eb58e380db0abe1583198f653d77beaa4e384929ad698", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_logging_global/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "b4a5f8a10bd86d7609cb6688523bc611e052260c4a06bf9cf202f33eee40a1f5", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_logging_global/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_logging_global/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1fe890d2122c883dbbca6bba07bfc7861746a52bf1fa3cd59e987ea410718cfc", + "chksum_sha256": "15f80d89c3629bea0c669753c52136268f11e94a83ba6e69411fc96ab8449457", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tests", + "name": "tests/integration/targets/nxos_vpc", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tests/cli", + "name": "tests/integration/targets/nxos_vpc/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tests/cli/configure.yaml", + "name": "tests/integration/targets/nxos_vpc/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b4853e02af108065809baebdb1f8e957bc48184f9a24e3510826d28f734d17a6", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tests/cli/disable.yaml", + "name": "tests/integration/targets/nxos_vpc/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "94889efb465f8b55120a28becc23705cd11dc1bc9aebc91204105ba9f8207302", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tests/cli/enable.yaml", + "name": "tests/integration/targets/nxos_vpc/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "abdd34478d7db89533c9d3d8cc0fb2f26a5324ab85212086aa1fecc220e7d1c8", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tests/cli/nxapi_ssl.yaml", + "name": "tests/integration/targets/nxos_vpc/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_vpc/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dae84b45affca730b7c9158216bf18dc9ab9c92bbce4701b6ba881f192ae47f4", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tests/nxapi", + "name": "tests/integration/targets/nxos_vpc/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_nxapi/tests/nxapi/badtransport.yaml", + "name": "tests/integration/targets/nxos_vpc/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "28a2dfdf7ba13f8dd757c8d9095797a0b91437b5bfd9d9c1c8bfe65508e15901", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces", + "name": "tests/integration/targets/nxos_vpc/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/defaults", + "name": "tests/integration/targets/nxos_vpc/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/nxos_vpc/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "2df57c902caed23947093482590483584784db8850c51e6efe545b314895eaed", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/meta", + "name": "tests/integration/targets/nxos_lacp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_ospf_interfaces/tasks", + "name": "tests/integration/targets/nxos_lacp/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_lacp/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/nxos_lacp/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e9eff3b2082e2a94e384711077fcb0a67b0410a72a0d7425367798c7fe1c4c75", + "chksum_sha256": "c0ff0c24a2fb4a8aa58a6356c5029065acb6cf1aba1e14add135ff69c8d1387b", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_lacp/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests", + "name": "tests/integration/targets/nxos_lacp/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_lacp/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/fixtures", + "name": "tests/integration/targets/nxos_lacp/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/fixtures/parsed.cfg", + "name": "tests/integration/targets/nxos_lacp/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "77f5af82eeb76922d66d564b1b3b713644b5154cd160ed32686613453f6ffb08", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/_populate_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "947100dd1e56c9ebd17cb32e1caa66f7c5a540d038dd36f4d0482271627ffa10", + "name": "tests/integration/targets/nxos_lacp/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_lacp/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_lacp/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b76239c8dec85299b177fa8a11a790932f64db53e155a64222321eff524af8b7", + "chksum_sha256": "6c963e6f41c7e38e88e7f37dd8025ee75cd3970358d2568dc84a25bf0833c221", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/_setup.yaml", + "name": "tests/integration/targets/nxos_lacp/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5153443ed073b0cc035110ac96d297361e22abe390c84014d0a7dbc83ede74e4", + "chksum_sha256": "5e8603749c8d553899ed39b13b3acd136e23d7bd3b09098fc55d615557712b8e", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/deleted.yaml", + "name": "tests/integration/targets/nxos_lacp/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3e19f34c70b0982c9c03cc96e3fcf57b88c084597eae9036b3e4c6bbd0860dc1", + "chksum_sha256": "dc7919875ac197ca437f1f27d4ace434975e7b0ebc59f0b9e76779b7c13300bd", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/empty_config.yaml", + "name": "tests/integration/targets/nxos_lacp/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b880b29ecb1b59489b0d82bfaf1ebecc35e47cc4ae7d860d616a0e1c4c17b8f6", + "chksum_sha256": "d05b5fe9f03352e3b8f7827b2dcf181df0e3c72fe956593e4da447c9d4f8869c", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_lacp/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "772abaa4b30e45bb3a3e0b168b9b50f62e75e5db9d1ee54915707631af8bc3a9", + "chksum_sha256": "d7f405af0ba053d9e613e791943bc8133e6dbf994db877e876b7dbfcfead68cb", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/merged.yaml", + "name": "tests/integration/targets/nxos_lacp/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6563a046c325a1872e9c20c3a80658c02bc684d828e1d8c0dbfbfb23ede1da1c", + "chksum_sha256": "c6245af2941f9a747ea7774bdad73686d4d453173680ea526ab20b52dba2f283", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/overridden.yaml", + "name": "tests/integration/targets/nxos_lacp/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f4d88bbce44a9ca14508aebf3a495f3ced56b859aa74951b92922d613d0addbd", + "chksum_sha256": "a10bac016859ecead883b3a70c3eb13f70718ad9cdd2796b92294bb73bbee29d", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_lacp/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aa4d4d9ae4687f27e044a7c2ba6c6ffe31491031d9cfb724c69a54e4a1248b2e", + "chksum_sha256": "546c7e8f53d5167a0c5fb320ccd6b5e7db098829ce47de467b2e20856dd402c2", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_lacp/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "df5bdd37b5f9ceac0c9cba9185dfd3c1c3d13d839447eca07daca2717b7261f0", + "chksum_sha256": "82e18104dcb23f633ded1a694fa4ecbf1df4e14a09620d260473341a8920698a", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_lacp/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "22709a3fdba9d6c94de7e53132bf6178989f0ea494f7779069913fc918ffa131", + "chksum_sha256": "b9a08d012138636068569151cf4f74205676ea00cc6fccdc2e2627447110156c", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/vars", + "name": "tests/integration/targets/nxos_lacp/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospf_interfaces/vars/main.yml", + "name": "tests/integration/targets/nxos_lacp/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "254903ea468078a13337c27e4ffbfe0aad84710a36cdfeca8027eba5a16b48bf", + "chksum_sha256": "d990ef6f460be1be57ee33ce95b7fd66d05175e93e1e2716cce708d420a5d466", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2", + "name": "tests/integration/targets/nxos_banner", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/defaults", + "name": "tests/integration/targets/nxos_banner/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/defaults/main.yaml", + "name": "tests/integration/targets/nxos_banner/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_banner/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c35d2ac52b14846e9fb2bba91ef7ba5f946b1cd2e47ed10c0b30941d6f9de766", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/meta/main.yml", + "name": "tests/integration/targets/nxos_banner/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tasks", + "name": "tests/integration/targets/nxos_banner/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_banner/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7826463ba77fb2f0f2bb32a0e02ce314ce3a06762e189598970cc26dd17828b1", + "name": "tests/integration/targets/nxos_banner/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_banner/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_ospfv2/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tests/common", + "name": "tests/integration/targets/nxos_banner/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tests/common/fixtures", + "name": "tests/integration/targets/nxos_banner/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tests/common/fixtures/parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4ad11ae9e094b6bc2d4286b05967979551104857b314aa8af9afee18cdec2d4a", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_ospfv2/tests/common/_populate_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0a3077084e8ed39aae3bc10055bbff711e7d40af65e514c7ecd99bffaad96bfc", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_ospfv2/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_banner/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c5bb202379b75e7aaffb216dd2e42b234acf1ab4fc0679f470fc01c67b309b27", + "chksum_sha256": "dcccaebec31acf1f9adfe71c2e5067fcb6c1416a7c63b077490beedfff6078ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tests/common/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "69ef5f767607840c90b3cb9b80ca6eae206df8ec8a48b850dc47adbcf4b11aa5", + "name": "tests/integration/targets/nxos_vtp_version", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tests/common/gathered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b8b689385d369d30980492e63bb16f13719d27452d738494899f85539130b2b5", + "name": "tests/integration/targets/nxos_vtp_version/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tests/common/merged.yaml", + "name": "tests/integration/targets/nxos_vtp_version/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ddfff25fc88c57f108a7ed89d11d6df5c2233b27eac626512dc63709325fcf85", + "chksum_sha256": "1e03994e82f05167e558b19e20c435e80ed92b6ff4f62f71fb93ed9082d30f94", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tests/common/overridden.yaml", + "name": "tests/integration/targets/nxos_vtp_version/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "de58bef72adb70191cc8d212367d3332359130dbaf399807962787d1df375915", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_vtp_version/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b1738278980bd3d3426805bcd85053668078a6b992627d9119043bc29161ea8e", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tests/common/rendered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "77ed312700fb0471e6e108949f8b983d6c418f0187b84b569551ce3c8205ce0c", + "name": "tests/integration/targets/nxos_vtp_version/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_vtp_version/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7a00b8609854d6a88cc33f870793ec8972cd5d81ae8dcfed33fbbca19938ce69", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/vars", + "name": "tests/integration/targets/nxos_vtp_version/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv2/vars/main.yml", + "name": "tests/integration/targets/nxos_vtp_version/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "61311d9ddd2174a10efead34de8526412e4c4d438600cf5a3ff852ec8692c4f6", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3", + "name": "tests/integration/targets/nxos_vtp_version/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/defaults", + "name": "tests/integration/targets/nxos_vtp_version/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/defaults/main.yaml", + "name": "tests/integration/targets/nxos_vtp_version/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "e33039720ba0e6ccc73fe5d38aaa4c2d1284afbb89058f6fe98c1a09d2a30638", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/meta", + "name": "tests/integration/targets/nxos_facts", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_ospfv3/tasks", + "name": "tests/integration/targets/nxos_facts/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_facts/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tasks/main.yaml", + "name": "tests/integration/targets/nxos_facts/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dd759468c5cc871fb7737ff3d8d736515fc4a391944ba48e311bd8e9cf4015bf", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_facts/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tests", + "name": "tests/integration/targets/nxos_facts/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_facts/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tests/common/fixtures", + "name": "tests/integration/targets/nxos_facts/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tests/common/fixtures/parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "98780d78ffa7990bb331aa22eb22a241c513c360e240824d45a7bf1de5be2ecc", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_ospfv3/tests/common/_populate_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cef0853f045225f3cfd3ac7b2362e20d12372005f8a175b973e60fa22c30e3b0", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_ospfv3/tests/common/_remove_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6e1cddebab71b07ac4b62257a57ee91bb813c2d2a627f21fd1ddc848c5c71242", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_ospfv3/tests/common/deleted.yaml", + "name": "tests/integration/targets/nxos_facts/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dd6501583c6d35a54f84e67f7a3c089c3d327af513f2843227d760ec81b09f26", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tests/common/empty_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "fbe1d547c87e7fce94633ac9d2659cf83c9f705225abd47e025752589adf5206", + "name": "tests/integration/targets/nxos_facts/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tests/common/gathered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "52b75fde8bd0aeae9fa656b94f228d66f550904e311166923cfbd6ad3504ec3b", + "name": "tests/integration/targets/nxos_facts/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tests/common/merged.yaml", + "name": "tests/integration/targets/nxos_facts/tests/common/not_hardware.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3351bbfbf0d6d47b6d974a6520e49d2c2e37fe82c909425bc2b35fbd2a1c3619", + "chksum_sha256": "933c388db57e0042a75290223a48d69efad1e524bce14f28f64694d34e3475e3", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tests/common/overridden.yaml", + "name": "tests/integration/targets/nxos_facts/tests/common/default_facts.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d97a097d36258f90bedf8acd4609bba2c4840b38c56f3cd6517e9fc394600f61", + "chksum_sha256": "08c3680a5a839d8e3b53515643f3773bb1d25de670124063d41ff3e0a7fd2713", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_facts/tests/common/invalid_subset.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1668f415528b25d80c75d0b7d1429ad1f2998999e48a9c1103c194437b8d53c6", + "chksum_sha256": "d7ef14aa0d9ae451bba34e5fb2952f2034793f826a441cd042b03c34e0d78422", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_facts/tests/common/all_facts.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fdb04181004019fce7d2aa47598c99683fa0c17efda91a40679e647ae1080926", + "chksum_sha256": "f737c75bd85a50361bfb755799335e3bf0044448e43308c6f4c3f9186a80b65f", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_facts/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c47c9c8159c406510ed5c37a849752430af675f5f74b2dee2d4361c5a4647ada", + "chksum_sha256": "f15ccd5a6a25f5358288fb8ddb955a1b024c33c0d1f04df3811e03aabe460c32", "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/vars", + "name": "tests/integration/targets/nxos_facts/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_ospfv3/vars/main.yml", + "name": "tests/integration/targets/nxos_facts/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a58f6902557b2603f0814004741aba525b7a0950e5a11aa66b37c4955c16f39e", + "chksum_sha256": "90b4146d19a8448ba711a28645cf964f8251d544bf1de77f552e08a1e60a9914", "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global", + "name": "tests/integration/targets/nxos_feature", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/defaults", + "name": "tests/integration/targets/nxos_feature/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/defaults/main.yaml", + "name": "tests/integration/targets/nxos_feature/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_feature/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/meta/main.yml", + "name": "tests/integration/targets/nxos_feature/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/tasks", + "name": "tests/integration/targets/nxos_feature/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/tasks/platform", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_feature/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/tasks/platform/n7k", + "name": "tests/integration/targets/nxos_feature/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/tasks/platform/n7k/cleanup.yaml", + "name": "tests/integration/targets/nxos_feature/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6fe5dccac28d950d4f93db2d5dd8d2d53f974b51a0c07a9371165a7fd9b20585", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/tasks/platform/n7k/setup.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1f41e716a6ee3d52141e15b1cf8d8a62a6656066f9761e5438f18b03b64148ba", + "name": "tests/integration/targets/nxos_feature/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "name": "tests/integration/targets/nxos_feature/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/tasks/main.yaml", + "name": "tests/integration/targets/nxos_feature/tests/common/invalid.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "chksum_sha256": "9876fc00630984bf3f7c6a0ce6e7a75b67d4c2dc198fe91c2d4dcaef40fec816", "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_feature/tests/common/configure.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "89d6028b9ede5f5589b6786b029044d9cdf739f164d0a593ecacb564588acfe5", "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/tests", + "name": "tests/integration/targets/nxos_evpn_vni", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/tests/common", + "name": "tests/integration/targets/nxos_evpn_vni/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_overlay_global/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_evpn_vni/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "10d3d02705dac2e31ab7424914f1dc74d20c5cf799141c26ac2e47ec2c68e1b4", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_pim", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_evpn_vni/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim/defaults/main.yaml", + "name": "tests/integration/targets/nxos_evpn_vni/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim/meta", + "name": "tests/integration/targets/nxos_evpn_vni/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_pim/meta/main.yml", + "name": "tests/integration/targets/nxos_evpn_vni/meta/main.yml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim/tasks", + "name": "tests/integration/targets/nxos_evpn_vni/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_pim/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_pim/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_pim/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_evpn_vni/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim/tests", + "name": "tests/integration/targets/nxos_evpn_vni/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_pim/tests/common", + "name": "tests/integration/targets/nxos_evpn_vni/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_pim/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_evpn_vni/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ab1efb1a3ca7cc688042b32d2d0660eeb0e25ff2bb2c833e9bcdeab5d6a1e0a0", + "chksum_sha256": "feb636a1cf337d091e427267dc9639d6fd2a5a481a9fd73cc830618990dc12af", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_interface", + "name": "tests/integration/targets/nxos_ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_interface/defaults", + "name": "tests/integration/targets/nxos_ospfv2/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_interface/defaults/main.yaml", + "name": "tests/integration/targets/nxos_ospfv2/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_interface/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_ospfv2/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "7826463ba77fb2f0f2bb32a0e02ce314ce3a06762e189598970cc26dd17828b1", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_interface/meta/main.yml", + "name": "tests/integration/targets/nxos_ospfv2/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_interface/tasks", + "name": "tests/integration/targets/nxos_ospfv2/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_interface/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_ospfv2/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_interface/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "name": "tests/integration/targets/nxos_ospfv2/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_interface/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_ospfv2/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_interface/tests", + "name": "tests/integration/targets/nxos_ospfv2/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_interface/tests/common", + "name": "tests/integration/targets/nxos_ospfv2/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_interface/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_ospfv2/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "acc020ce7729ff57e637de9f3cd1f3aae98af404b208386a852c6c804d0006fd", + "chksum_sha256": "c5bb202379b75e7aaffb216dd2e42b234acf1ab4fc0679f470fc01c67b309b27", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_rp_address", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_ospfv2/tests/common/deleted.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "69ef5f767607840c90b3cb9b80ca6eae206df8ec8a48b850dc47adbcf4b11aa5", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_rp_address/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_ospfv2/tests/common/gathered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b8b689385d369d30980492e63bb16f13719d27452d738494899f85539130b2b5", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_rp_address/defaults/main.yaml", + "name": "tests/integration/targets/nxos_ospfv2/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "ddfff25fc88c57f108a7ed89d11d6df5c2233b27eac626512dc63709325fcf85", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_rp_address/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_ospfv2/tests/common/overridden.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "de58bef72adb70191cc8d212367d3332359130dbaf399807962787d1df375915", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_rp_address/meta/main.yml", + "name": "tests/integration/targets/nxos_ospfv2/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "0a3077084e8ed39aae3bc10055bbff711e7d40af65e514c7ecd99bffaad96bfc", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_rp_address/tasks", + "name": "tests/integration/targets/nxos_ospfv2/tests/common/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_rp_address/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_ospfv2/tests/common/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "4ad11ae9e094b6bc2d4286b05967979551104857b314aa8af9afee18cdec2d4a", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_rp_address/tasks/main.yaml", + "name": "tests/integration/targets/nxos_ospfv2/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "7a00b8609854d6a88cc33f870793ec8972cd5d81ae8dcfed33fbbca19938ce69", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_rp_address/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_ospfv2/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "b1738278980bd3d3426805bcd85053668078a6b992627d9119043bc29161ea8e", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_rp_address/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_ospfv2/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "77ed312700fb0471e6e108949f8b983d6c418f0187b84b569551ce3c8205ce0c", "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_rp_address/tests/common", + "name": "tests/integration/targets/nxos_ospfv2/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_pim_rp_address/tests/common/configure.yaml", + "name": "tests/integration/targets/nxos_ospfv2/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5860ed215f27147987c62a8541f96530427cfadc64b6ce13e849a6785275c8ca", + "chksum_sha256": "61311d9ddd2174a10efead34de8526412e4c4d438600cf5a3ff852ec8692c4f6", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists", + "name": "tests/integration/targets/nxos_ospfv3", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/defaults", + "name": "tests/integration/targets/nxos_ospfv3/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/defaults/main.yaml", + "name": "tests/integration/targets/nxos_ospfv3/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_ospfv3/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "dd759468c5cc871fb7737ff3d8d736515fc4a391944ba48e311bd8e9cf4015bf", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/meta/main.yml", + "name": "tests/integration/targets/nxos_ospfv3/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tasks", + "name": "tests/integration/targets/nxos_ospfv3/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_ospfv3/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2396a1bb62aa2d673208deb59766a787971d061630b8467afa525b7fdcb2e95e", + "name": "tests/integration/targets/nxos_ospfv3/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_ospfv3/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_prefix_lists/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common", + "name": "tests/integration/targets/nxos_ospfv3/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common/fixtures", + "name": "tests/integration/targets/nxos_ospfv3/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common/fixtures/parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f7f1e53d17acf3059197aa476e1715028d571930c8cff8eabada2af3da2e7819", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common/.DS_Store", + "name": "tests/integration/targets/nxos_ospfv3/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5b8c3589c79b71429938a827331899d13ac16c156374f8c45ec59068bd2d2060", + "chksum_sha256": "6e1cddebab71b07ac4b62257a57ee91bb813c2d2a627f21fd1ddc848c5c71242", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_ospfv3/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2233813d83a2cf367f99e9348cfb36ea295efcebe61d310a4580abbab8836d5c", + "chksum_sha256": "dd6501583c6d35a54f84e67f7a3c089c3d327af513f2843227d760ec81b09f26", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_ospfv3/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b94ddd8f6e3aef1be0b00d88c934c971a436d3595b760e10dd388b6dacfac7d3", + "chksum_sha256": "52b75fde8bd0aeae9fa656b94f228d66f550904e311166923cfbd6ad3504ec3b", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common/deleted.yaml", + "name": "tests/integration/targets/nxos_ospfv3/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8c7dfc255e4fdc2e873e375b7b4a24b1098f63ebc6f80b18ddaf4bb4e62a9a46", + "chksum_sha256": "fbe1d547c87e7fce94633ac9d2659cf83c9f705225abd47e025752589adf5206", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common/empty_config.yaml", + "name": "tests/integration/targets/nxos_ospfv3/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "56b14e2fd373b2211c65f09454a4c39137bb1f1a06ad96f007e377d8b2b51851", + "chksum_sha256": "3351bbfbf0d6d47b6d974a6520e49d2c2e37fe82c909425bc2b35fbd2a1c3619", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_ospfv3/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c10395ec2b03209c79681dd09690cb615195b8adaae1cdfa3fabc0fd68ef0565", + "chksum_sha256": "d97a097d36258f90bedf8acd4609bba2c4840b38c56f3cd6517e9fc394600f61", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common/merged.yaml", + "name": "tests/integration/targets/nxos_ospfv3/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b63842b6c47d71229bd8ad567bce61e119a9da6f44fb987d22a5348d9b67f1e7", + "chksum_sha256": "cef0853f045225f3cfd3ac7b2362e20d12372005f8a175b973e60fa22c30e3b0", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common/overridden.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "56599df6259a9ed56f2794f1171dba7cd811995b228ee29610d679201d7094f0", + "name": "tests/integration/targets/nxos_ospfv3/tests/common/fixtures", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_ospfv3/tests/common/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "53a49d08552e563da400b6c13475d9e2a020cc039eee9985b1c5a3e930fb3843", + "chksum_sha256": "98780d78ffa7990bb331aa22eb22a241c513c360e240824d45a7bf1de5be2ecc", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_ospfv3/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "742244e5eb090968dbbab6b3bce1d5d52404f476371439bf2404e4467534b488", + "chksum_sha256": "c47c9c8159c406510ed5c37a849752430af675f5f74b2dee2d4361c5a4647ada", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_ospfv3/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7bf73d5bf1f98884b2c8dedfcdc762af1c6542276fc649a04bf360fe10400cff", + "chksum_sha256": "1668f415528b25d80c75d0b7d1429ad1f2998999e48a9c1103c194437b8d53c6", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/tests/.DS_Store", + "name": "tests/integration/targets/nxos_ospfv3/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "af891bb95ebcc39dfd38131bf64fba6eb7bb8e84f59a428b6af5477588fbc6b6", + "chksum_sha256": "fdb04181004019fce7d2aa47598c99683fa0c17efda91a40679e647ae1080926", "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/vars", + "name": "tests/integration/targets/nxos_ospfv3/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_prefix_lists/vars/main.yml", + "name": "tests/integration/targets/nxos_ospfv3/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f869515b8a1ec55c8346c13f87eff1b4bef627722f02ba89f143fec41ea52254", + "chksum_sha256": "a58f6902557b2603f0814004741aba525b7a0950e5a11aa66b37c4955c16f39e", "format": 1 }, { - "name": "tests/integration/targets/nxos_reboot", + "name": "tests/integration/targets/nxos_rpm", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_reboot/defaults", + "name": "tests/integration/targets/nxos_rpm/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_reboot/defaults/main.yaml", + "name": "tests/integration/targets/nxos_rpm/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "1e03994e82f05167e558b19e20c435e80ed92b6ff4f62f71fb93ed9082d30f94", "format": 1 }, { - "name": "tests/integration/targets/nxos_reboot/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_rpm/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_reboot/meta/main.yml", + "name": "tests/integration/targets/nxos_rpm/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_reboot/tasks", + "name": "tests/integration/targets/nxos_rpm/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_reboot/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_rpm/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_reboot/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0789afb380e4ee3da221b8e5904d1fc0309acaaf7afce7e63c9ba4c75c34ef57", + "name": "tests/integration/targets/nxos_rpm/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_reboot/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_rpm/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f21870b6c859ba03ea77dd9dabef9b18cafc2a4cbfdeb3cbdc8be3def90e2485", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_reboot/tests", + "name": "tests/integration/targets/nxos_rpm/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_reboot/tests/common", + "name": "tests/integration/targets/nxos_rpm/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_reboot/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_rpm/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b4c67bb49d21e284b5a0589f01582abe664f16d3361279b26463e6db76fd2425", + "chksum_sha256": "70447866be2605ad11b7abd82e4ae0000992bbdb0d143e90b86c0b4905ba1d19", "format": 1 }, { - "name": "tests/integration/targets/nxos_rollback", + "name": "tests/integration/targets/nxos_snmp_server", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_rollback/defaults", + "name": "tests/integration/targets/nxos_snmp_server/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_rollback/defaults/main.yaml", + "name": "tests/integration/targets/nxos_snmp_server/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_rollback/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_snmp_server/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "dc2a3a8f315668c3a0a94a40753f7fd1e7eec342b781bbef50ce0f8d3c4abae2", "format": 1 }, { - "name": "tests/integration/targets/nxos_rollback/meta/main.yml", + "name": "tests/integration/targets/nxos_snmp_server/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_rollback/tasks", + "name": "tests/integration/targets/nxos_snmp_server/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_rollback/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_snmp_server/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_rollback/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_snmp_server/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_rollback/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_snmp_server/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_rollback/tests", + "name": "tests/integration/targets/nxos_snmp_server/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_rollback/tests/common", + "name": "tests/integration/targets/nxos_snmp_server/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_rollback/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_snmp_server/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "394570f3e6f1edf503b6782dd89ffa589499a778fc5336c8c610b01d473a7bb8", + "chksum_sha256": "5e57172ca560cf57a5a6cda0d4427ef723ff0c2041494801839810d37f2dc448", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_snmp_server/tests/common/gathered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "98bd39c65fc6a311ba043b2cb6e5fb636bf75e1cd4976826739b8a81f1a4a6fc", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_snmp_server/tests/common/empty_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "870e84431b7485f0d29bb5431284baf0098b3a2dc4c33433007de1b970ed5b6f", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/defaults/main.yaml", + "name": "tests/integration/targets/nxos_snmp_server/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "f8669a63ac0d96789d4722d662bf1568b86c5433817147820023d2b323b2c14e", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_snmp_server/tests/common/overridden.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "7fd565877939a79d2e7d7d25da2c520c9ea6d42572d5d4fc8110716dff0f961a", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/meta/main.yml", + "name": "tests/integration/targets/nxos_snmp_server/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "af12998368091442ef220d6e85760264d3d8b49b44ab62a34598479e622d6d61", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tasks", + "name": "tests/integration/targets/nxos_snmp_server/tests/common/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_snmp_server/tests/common/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "68295fddd79719b8ad7b74adc76ea194066abae9bd717b24c71eacb7d4b20f8e", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tasks/main.yaml", + "name": "tests/integration/targets/nxos_snmp_server/tests/common/_setup.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2396a1bb62aa2d673208deb59766a787971d061630b8467afa525b7fdcb2e95e", + "chksum_sha256": "5153443ed073b0cc035110ac96d297361e22abe390c84014d0a7dbc83ede74e4", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_snmp_server/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "f6e477bd3b8bdcdbdb4a581d99fc15745c21c823d54c364ea2b1a1fbfb43958d", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests", + "name": "tests/integration/targets/nxos_snmp_server/tests/common/parsed.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0a2278a138afa16699d2018af1c1e1e616a0898336bf1632352195a4d2be36ec", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_snmp_server/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "84c00378264bacd0d235c0b7a80ebf88d754fb93b1e85b00047fac028b29275c", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_snmp_server/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common", + "name": "tests/integration/targets/nxos_snmp_server/vars/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "8668c98a492f96e42640c00cc5b31c0b73f071b7a61dac9e872c31602833ade2", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_rollback", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common/fixtures", + "name": "tests/integration/targets/nxos_rollback/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common/fixtures/parsed.cfg", + "name": "tests/integration/targets/nxos_rollback/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "09e1c1e0b37433d900624319d7037eb3672c94053d18f87f22552dceeec1dc96", + "chksum_sha256": "1e03994e82f05167e558b19e20c435e80ed92b6ff4f62f71fb93ed9082d30f94", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_rollback/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "036af452cc03bdec84720356e6c7013b4f39c2a6800e1f8303120d785b2955e7", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_rollback/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cdf825a17b7761cfbd225079ec5d366f4584e7f97111e0af086884f87fda0fde", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common/_setup.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5153443ed073b0cc035110ac96d297361e22abe390c84014d0a7dbc83ede74e4", + "name": "tests/integration/targets/nxos_rollback/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common/deleted.yaml", + "name": "tests/integration/targets/nxos_rollback/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c276d4c6888f077b84280f79606acb632995c8f1bf32e8c1c0bcb9c02055ee76", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common/empty_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ff60a5603326c1ae214cbac1f9411495c0cab6360f7880234d1b2e3be1a2ffbb", + "name": "tests/integration/targets/nxos_rollback/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_rollback/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "562a6817ca710cc4c1b6c4babb9b7bca97334312e19d963f8df83a98b7e94512", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common/merged.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3b2a9d97ae8aa59ee542363b43e7051f5d8492e4f45ba0db862a9d071e1ef820", + "name": "tests/integration/targets/nxos_rollback/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common/overridden.yaml", + "name": "tests/integration/targets/nxos_rollback/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_rollback/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d8ea6575a0570f9ce32c1d3211f075ee42f56a4ba2d87115c6fccd3409b6b5d0", + "chksum_sha256": "394570f3e6f1edf503b6782dd89ffa589499a778fc5336c8c610b01d473a7bb8", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_vsan", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_vsan/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_vsan/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ab508eea7234bac851c3c482330fa0c4afb0e8bd2af87d91901c230754d9779d", + "chksum_sha256": "f47853340600c1c9b76ed00695079b203ae45896e40acfac2f48e28f2ad98b40", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_vsan/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4e59d332194a4bb9ce27f445771203088b05b31a191b59d0e9e049deb72552a8", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_vsan/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_vsan/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "56653dab75b72e7a40ed1dbff928b5fd2dedf7651dcf2155747903b1a64803e4", + "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/vars", + "name": "tests/integration/targets/nxos_vsan/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_route_maps/vars/main.yml", + "name": "tests/integration/targets/nxos_vsan/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2e01454e13b8195b24273afb60288d0cb4a32a1ca4e7f1fff3bfea0fd2610f18", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_rpm", + "name": "tests/integration/targets/nxos_vsan/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_rpm/defaults", + "name": "tests/integration/targets/nxos_vsan/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_rpm/defaults/main.yaml", + "name": "tests/integration/targets/nxos_vsan/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "cb88ac95adfc25626d2c81d7dc7d45341c006ac0490dda44c675101938ec4bcc", "format": 1 }, { - "name": "tests/integration/targets/nxos_rpm/meta", + "name": "tests/integration/targets/nxos_vsan/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_rpm/meta/main.yml", + "name": "tests/integration/targets/nxos_vsan/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "97b10ee26b05c01b328d79887c41479bd2bf559184fb1df4af53645db6e109ba", "format": 1 }, { - "name": "tests/integration/targets/nxos_rpm/tasks", + "name": "tests/integration/targets/nxos_prefix_lists", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_rpm/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_prefix_lists/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_rpm/tasks/main.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "2396a1bb62aa2d673208deb59766a787971d061630b8467afa525b7fdcb2e95e", "format": 1 }, { - "name": "tests/integration/targets/nxos_rpm/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_rpm/tests", + "name": "tests/integration/targets/nxos_prefix_lists/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_rpm/tests/common", + "name": "tests/integration/targets/nxos_prefix_lists/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_prefix_lists/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_rpm/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "70447866be2605ad11b7abd82e4ae0000992bbdb0d143e90b86c0b4905ba1d19", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke", + "name": "tests/integration/targets/nxos_prefix_lists/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/defaults", + "name": "tests/integration/targets/nxos_prefix_lists/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/defaults/main.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_smoke/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "b94ddd8f6e3aef1be0b00d88c934c971a436d3595b760e10dd388b6dacfac7d3", "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/meta/main.yml", + "name": "tests/integration/targets/nxos_prefix_lists/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_smoke/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "8c7dfc255e4fdc2e873e375b7b4a24b1098f63ebc6f80b18ddaf4bb4e62a9a46", "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bdb09dc7f73c33a4f863edb36068a6b0a6664a5a8a70fe1c3c15167abcff6550", + "chksum_sha256": "c10395ec2b03209c79681dd09690cb615195b8adaae1cdfa3fabc0fd68ef0565", "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/tasks/main.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "849f2a2746300bf950bfe382b3f2b80990bbee773cbdbd2d1e2a897a9ed1e261", + "chksum_sha256": "56b14e2fd373b2211c65f09454a4c39137bb1f1a06ad96f007e377d8b2b51851", "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "540f1d53d40ce2fa779a7c4c4585189f6c2fa3c7188d8a96d5a487387b8782f3", + "chksum_sha256": "b63842b6c47d71229bd8ad567bce61e119a9da6f44fb987d22a5348d9b67f1e7", "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_prefix_lists/tests/common/overridden.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "56599df6259a9ed56f2794f1171dba7cd811995b228ee29610d679201d7094f0", "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/tests/cli", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_prefix_lists/tests/common/.DS_Store", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5b8c3589c79b71429938a827331899d13ac16c156374f8c45ec59068bd2d2060", "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/tests/cli/misc_tests.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dedfb27511bd8fde863a0aa430bdd23272cd766d0c23694764d01852c9586073", + "chksum_sha256": "2233813d83a2cf367f99e9348cfb36ea295efcebe61d310a4580abbab8836d5c", "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/tests/common", + "name": "tests/integration/targets/nxos_prefix_lists/tests/common/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/tests/common/caching.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/tests/common/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2db51e2d9c925d2773d4bcf45ee241c75cc02547793d07cad590f1d9657eb36c", + "chksum_sha256": "f7f1e53d17acf3059197aa476e1715028d571930c8cff8eabada2af3da2e7819", "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/tests/common/common_config.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dea32a9f41f8c2367181bfb2fc2821e4304e393ac781dd02e19d6cb01c6273ae", + "chksum_sha256": "7bf73d5bf1f98884b2c8dedfcdc762af1c6542276fc649a04bf360fe10400cff", "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/tests/common/common_utils.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a60e645271b0b349228daf7eac3948d5651a32abd8cb578005202d4c1ed80236", + "chksum_sha256": "53a49d08552e563da400b6c13475d9e2a020cc039eee9985b1c5a3e930fb3843", "format": 1 }, { - "name": "tests/integration/targets/nxos_smoke/tests/common/misc_tests.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ca259adfd9eabd17072e03cae98011aa82cf2e1b6d8fc88fb0ada2ebaca18d7a", + "chksum_sha256": "742244e5eb090968dbbab6b3bce1d5d52404f476371439bf2404e4467534b488", "format": 1 }, { - "name": "tests/integration/targets/nxos_snapshot", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_prefix_lists/tests/.DS_Store", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "af891bb95ebcc39dfd38131bf64fba6eb7bb8e84f59a428b6af5477588fbc6b6", "format": 1 }, { - "name": "tests/integration/targets/nxos_snapshot/defaults", + "name": "tests/integration/targets/nxos_prefix_lists/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snapshot/defaults/main.yaml", + "name": "tests/integration/targets/nxos_prefix_lists/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "f869515b8a1ec55c8346c13f87eff1b4bef627722f02ba89f143fec41ea52254", "format": 1 }, { - "name": "tests/integration/targets/nxos_snapshot/meta", + "name": "tests/integration/targets/nxos_hsrp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snapshot/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_snapshot/tasks", + "name": "tests/integration/targets/nxos_hsrp_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snapshot/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_hsrp_interfaces/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_snapshot/tasks/main.yaml", + "name": "tests/integration/targets/nxos_hsrp_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_snapshot/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_hsrp_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_snapshot/tests", + "name": "tests/integration/targets/nxos_hsrp_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snapshot/tests/common", + "name": "tests/integration/targets/nxos_hsrp_interfaces/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_hsrp_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snapshot/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_hsrp_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "171022870f501d3dcb8c73978ee34038cb5e65c32786bbabc9f638c9ae04be4d", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_community", + "name": "tests/integration/targets/nxos_hsrp_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_community/defaults", + "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_community/defaults/main.yaml", + "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_snmp_community/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "ce89afffb71cc896f467a3e32919ab4a8fdcd5ea07a9175ecd7db9a7ae6f77cb", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_community/meta/main.yml", + "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "6e9f0e87988c4ded07d518b67a5118d9d6894e2fab2c86c9cd90ffcf5f56beab", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_community/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/gathered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0ef96315e1d8b08e76b5d905207c1d85c0ddea43e8efa07b54896132e7d772e1", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_community/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "d1ff8909b5732150a58ea8fafa7e0f20c447a8bd7e6be23fa0d7cc5655b75510", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_community/tasks/main.yaml", + "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "chksum_sha256": "da6b8a879ff9188026a3b1aa01b53289a7517026aff1a7d1954d1bdaead6dec0", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_community/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "45a5f0f9979ffcd5b7ef73f95de39a4c6ad35b3f7f05a61b7f6770eb17166dcb", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_community/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/_populate_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a313ec546dfda89fa9e4dbd468fa0940164b42c0ebce4e544f9c6eddf9c76e63", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_community/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d1c4df45348332e927abe784ea39438ab014af521a169cc07ca76ff6d8d7c52d", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_community/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7a31444a04409e8b5f9d58864e5405ec3ded7ec744e6e731b3ca0d22ec1a6ee0", + "chksum_sha256": "9db583ddb82a512ca231ffb3a5ba6c672aa653ec28834c17328fd56190b4a558", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_contact", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_hsrp_interfaces/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4f2c908e56c100ed364248792037843ebe703124cb856054bba1a7904494edd3", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_contact/defaults", + "name": "tests/integration/targets/nxos_hsrp_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_contact/defaults/main.yaml", + "name": "tests/integration/targets/nxos_hsrp_interfaces/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "a06be45c7fcb5fbb624b33983db74636889ef05ed32ce0f3ba56485272e3db09", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_contact/meta", + "name": "tests/integration/targets/nxos_hostname", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_contact/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_snmp_contact/tasks", + "name": "tests/integration/targets/nxos_hostname/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_contact/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_hostname/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_contact/tasks/main.yaml", + "name": "tests/integration/targets/nxos_hostname/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "c100293cbf1e43e53f2ff874e3e1079621ae414e404db0078a26044ececac0b1", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_contact/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_hostname/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_contact/tests", + "name": "tests/integration/targets/nxos_hostname/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_contact/tests/common", + "name": "tests/integration/targets/nxos_hostname/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_hostname/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_contact/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_hostname/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "21c997106ed806dbad5a3cdba01f5e201161020b6498a5d92ac003b702fa579a", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host", + "name": "tests/integration/targets/nxos_hostname/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host/defaults", + "name": "tests/integration/targets/nxos_hostname/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host/defaults/main.yaml", + "name": "tests/integration/targets/nxos_hostname/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_snmp_host/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "3c610838a6fa946c2237c8292c07b688a1ba7e8096a2d35d75f12f0b58866ed7", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host/meta/main.yml", + "name": "tests/integration/targets/nxos_hostname/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "ce390e649cf85c4eddff7df5c0d545f57e389bb36774ae580dadafec45cf2a1b", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_hostname/tests/common/gathered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0b28a51b56bc716da4598490f3cb3302329f0113eb3ab32fa9a860223eae43f6", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_hostname/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "c48e9bf3dac84165ae9953b7ad26ecec061cc599fd5cc78290d048b36119ce19", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host/tasks/main.yaml", + "name": "tests/integration/targets/nxos_hostname/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "chksum_sha256": "b2db6ef6d129f976a7c1dd3d1543020bba577d399fa4e780311e9942d0e39a21", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_hostname/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "c76970334ac8f7dea1c52d4a2e9785b43fe9754ed2cece81e49036d8efce6507", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_hostname/tests/common/_populate_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "55288117a1ba1770a3e0bcac6e550c318807316ce84c65e536ba34cc449f62b0", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host/tests/common", + "name": "tests/integration/targets/nxos_hostname/tests/common/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host/tests/common/sanity_snmp_v1_trap.yaml", + "name": "tests/integration/targets/nxos_hostname/tests/common/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aa6a8b70ec63534db6d01bad4ccb22de07cf1d7c0c65b148a02474964d1a4e72", + "chksum_sha256": "6cd019ca4bbc9dc9a7657ccbc89a52a8505890bda564813765bc2bb004ef3814", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host/tests/common/sanity_snmp_v2_inform.yaml", + "name": "tests/integration/targets/nxos_hostname/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "54b2c813dda14d97a1eef23c8a3b3ff2bdc194b60ec4cf15d7f6e0068802afa5", + "chksum_sha256": "8564938ffbfc1d998d5ce080e9bc6cb612cf2aeefa19ac79bf9bf6f895800a2e", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host/tests/common/sanity_snmp_v3_inform.yaml", + "name": "tests/integration/targets/nxos_hostname/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0156bedc287881d6d9d767fd9720c5821708b9ad3c9c217c5c4b1df0a72a6891", + "chksum_sha256": "292e2e1750dcd0b5114b4c1b2f8fe93125754fa76c1869f64f87e6055da6338f", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_host/tests/common/sanity_snmp_v3_trap.yaml", + "name": "tests/integration/targets/nxos_hostname/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1e10b5c9c01f39edff0f76171c81720d458aca5775d0f5f97f20bd2e6c21f57f", + "chksum_sha256": "6e0e085de3251f1846bf350484b27a639383cf70f82effdb6d8aa0b73f105c60", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_location", + "name": "tests/integration/targets/nxos_hostname/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_location/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_hostname/vars/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "372a997c3a0ce9aa7b42746d99a75295a66504416d94fd1b0c545e58717a6a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_location/defaults/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "name": "tests/integration/targets/nxos_config", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_location/meta", + "name": "tests/integration/targets/nxos_config/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_location/meta/main.yml", + "name": "tests/integration/targets/nxos_config/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_location/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_config/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a069f9e3d9d905e5a1d7e2b316e284944bc38cddc390470831451fb4672fbde2", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_location/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_config/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_location/tasks/main.yaml", + "name": "tests/integration/targets/nxos_config/tasks/cli_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "chksum_sha256": "244797b68a9ec0f73b3fecca59e21469c0bc8126f36a5b7ffe2fe20ebdf22f19", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_location/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_config/tasks/redirection.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "a4f04d0bc1463bb36c212620e786d8ce8d18681fd03f641c1a37351b6d0dfac8", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_location/tests", + "name": "tests/integration/targets/nxos_config/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_location/tests/common", + "name": "tests/integration/targets/nxos_config/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_config/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_location/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_config/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3e00a1c43687d39e22e8835b039f398d7bdebbcc45399d8cd01d6ca7d4ef6e96", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server", + "name": "tests/integration/targets/nxos_config/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/defaults", + "name": "tests/integration/targets/nxos_config/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/defaults/main.yaml", + "name": "tests/integration/targets/nxos_config/tests/cli/toplevel_before.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_snmp_server/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "da70c4dcf111e0de17abc736ab6b4cfef245ca202d235dd1d9e611b40bbab8b2", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/meta/main.yml", + "name": "tests/integration/targets/nxos_config/tests/cli/toplevel_after.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "7792c748c17cf012bd7462753459725b9b2d4e8418a3edb3f4f76eb84f8b5914", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_config/tests/cli/diff.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d890138033f9812260dfd304fb4888d77e0c78b71f0afb2f8f97ce71f11a2491", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_config/tests/cli/sublevel_strict.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", + "chksum_sha256": "057bf9a3f64bb1abb24a5dc5a530553401a32850185af62cb278c85228ac6465", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tasks/main.yaml", + "name": "tests/integration/targets/nxos_config/tests/cli/multilevel.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4eb5a8e00ecc12625a6e9748f30ff1406e12a2f65abeb97241a35586b74c6eb4", + "chksum_sha256": "b91edced261b04cd778d86a702fd71159bcb7e37050b2b59d66f5fbd0485ca6e", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_config/tests/cli/replace_block.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4a86cb5b697425620bc1dc5074c661cb0cb8760ca391a08cc0c4d133d7b0407", + "chksum_sha256": "e0eef2496cf4af6b50d6274c1b6ef30dbe7955e60ab6695c4cc0660ee5e8a51e", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_config/tests/cli/sublevel_exact.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b755c791e3a1b329e7da5896f70e10b01bdc5237bbe2e80316a4515d6f8d8bd8", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_config/tests/cli/sublevel.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "937eb38ce64f2eaaab0f4c8f86a336d6fa022a96d75e285baaf7c85f45fb0b09", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests/common/fixtures", + "name": "tests/integration/targets/nxos_config/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests/common/fixtures/parsed.cfg", + "name": "tests/integration/targets/nxos_config/tests/common/src_match_none.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "68295fddd79719b8ad7b74adc76ea194066abae9bd717b24c71eacb7d4b20f8e", + "chksum_sha256": "f485a516ee779d29f9c4bef94249e47c885743481d409fedaad14bd49ecbafe0", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_config/tests/common/sublevel_block.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "af12998368091442ef220d6e85760264d3d8b49b44ab62a34598479e622d6d61", + "chksum_sha256": "45748bd39c32ff0675cebcff8ed674384c0fcbd51797f2110edfbef816394801", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_config/tests/common/toplevel_nonidempotent.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5e57172ca560cf57a5a6cda0d4427ef723ff0c2041494801839810d37f2dc448", + "chksum_sha256": "48fbcde0f38c5b06062ccb0f93d50a5b7a7554edf66ee7ed4779d9d4ce524ac1", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests/common/_setup.yaml", + "name": "tests/integration/targets/nxos_config/tests/common/toplevel.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5153443ed073b0cc035110ac96d297361e22abe390c84014d0a7dbc83ede74e4", + "chksum_sha256": "2bc1969eeb4a97775fd72dd6e5109d499c24cf5735c2c54bf75dcf7d49690bea", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests/common/empty_config.yaml", + "name": "tests/integration/targets/nxos_config/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "870e84431b7485f0d29bb5431284baf0098b3a2dc4c33433007de1b970ed5b6f", + "chksum_sha256": "55efec005b7a96d5dbd8739cfce99c359f047d1aacbee36ad6bc04bcf8283f26", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_config/tests/common/src_basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "98bd39c65fc6a311ba043b2cb6e5fb636bf75e1cd4976826739b8a81f1a4a6fc", + "chksum_sha256": "eccd369dee1af74d2b9f2888107f438904ae0c58705d800ad95e913965991608", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests/common/merged.yaml", + "name": "tests/integration/targets/nxos_config/tests/common/defaults.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f8669a63ac0d96789d4722d662bf1568b86c5433817147820023d2b323b2c14e", + "chksum_sha256": "db431603f9429be57048a8789d1f0af71d6cdae47a26878a608c082768a1244d", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests/common/overridden.yaml", + "name": "tests/integration/targets/nxos_config/tests/common/backup.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7fd565877939a79d2e7d7d25da2c520c9ea6d42572d5d4fc8110716dff0f961a", + "chksum_sha256": "098fa1e9566ae02a5c089a7ab7a235ce53f1bc78b431e01595556f623f718c82", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_config/tests/common/src_invalid.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0a2278a138afa16699d2018af1c1e1e616a0898336bf1632352195a4d2be36ec", + "chksum_sha256": "000c3c67b80eab4be77858bbb29844ec788342c63d8570c1db6166ca5a9539b5", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests/common/rendered.yaml", + "name": "tests/integration/targets/nxos_config/tests/common/save.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "84c00378264bacd0d235c0b7a80ebf88d754fb93b1e85b00047fac028b29275c", + "chksum_sha256": "bc462c07044762a41b8eddbe29be65aa51e6d6cea05d1e0630555e8cb4a9e446", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/tests/common/replaced.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f6e477bd3b8bdcdbdb4a581d99fc15745c21c823d54c364ea2b1a1fbfb43958d", + "name": "tests/integration/targets/nxos_config/tests/redirection", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/vars", + "name": "tests/integration/targets/nxos_config/tests/redirection/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_server/vars/main.yml", + "name": "tests/integration/targets/nxos_config/tests/redirection/cli/shortname.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8668c98a492f96e42640c00cc5b31c0b73f071b7a61dac9e872c31602833ade2", + "chksum_sha256": "00bb1bd085c826013b04f4eaf7f74ff0de45ec8330aa386f4cd0263d468df9f1", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_traps", + "name": "tests/integration/targets/nxos_config/tests/nxapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_traps/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_config/tests/nxapi/toplevel_before.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1d150adeed3e6e02c3adc3871d29b6a153d504ab7a861cd401b02c480008ba5b", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_traps/defaults/main.yaml", + "name": "tests/integration/targets/nxos_config/tests/nxapi/toplevel_after.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "7b8ad2836c7ec7360561cb0f4319bbe95feae70b134c5dac9deb2ba18a17638e", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_traps/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_config/tests/nxapi/sublevel_strict.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "acaded71377fcc8c8b288d527caf6fc777c8d0f50079c8b409d1007f821cc9d3", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_traps/meta/main.yml", + "name": "tests/integration/targets/nxos_config/tests/nxapi/multilevel.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "ff4c8dc408f5b4296300c4d7d983fcbdf19ee303fc95fe44ddb3d72a8b2aa08e", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_traps/tasks", + "name": "tests/integration/targets/nxos_config/tests/nxapi/sublevel_exact.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "694ab236d9c21462b423d507666dfe90caceca03e8a2f8fa3759f9f51b6d06e0", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_config/tests/nxapi/sublevel.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "dc08a002e9e00d36590098bfe308ca825954a3e43755650cb5809684512433cb", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_config/tests/cli_config", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_traps/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_config/tests/cli_config/cli_exact_match.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "5eb01810e15ac6b6941a7b9b79ca5ca3be016f16ee7f534eea9be0115fb53a46", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_traps/tasks/main.yaml", + "name": "tests/integration/targets/nxos_config/tests/cli_config/cli_strict_match.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "chksum_sha256": "6329b5bab571f5218aeff32c54936052c2188466f842b4364d80dc9c6d800450", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_traps/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_config/tests/cli_config/cli_backup.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "02aa5aa3478284c141cb3741eb86bf919a560bc25b5a911f453e05ce25737bd7", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_config/tests/cli_config/cli_block_replace.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "9058efd9127aa10094d23e72b8d7b8e0426d2707a113d7be2d539c15a1b9d229", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_traps/tests", + "name": "tests/integration/targets/nxos_config/tests/cli_config/cli_basic.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "7b3703086ba8415b259a2c8353dc03d9295173092ba3dc15170ae9718b10626e", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_config/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_traps/tests/common", + "name": "tests/integration/targets/nxos_config/templates/basic", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_traps/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_config/templates/basic/configstrict1.j2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "05f0dab9e4ec9f1e7c2800b2027b212b293b7f81a6a5a5645ded7d94b353e09f", + "chksum_sha256": "da30d9c2fbe9c9473f957d26568b2cb42baa620e261efbce7d604535ec532cf5", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_user", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_config/templates/basic/setupexact.j2", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b358f8f54eb293ce2eac2ead8f8bc2e3aae7383c2981c9c192530d6bcbff3d6f", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_user/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_config/templates/basic/setupstrict.j2", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b358f8f54eb293ce2eac2ead8f8bc2e3aae7383c2981c9c192530d6bcbff3d6f", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_user/defaults/main.yaml", + "name": "tests/integration/targets/nxos_config/templates/basic/acl_config.j2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "f8cfadc33b5527be5bd82a279cbcc769a882135ce815cb6d42177cb51d325e4e", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_user/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_config/templates/basic/intended_running_config", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b478553dd335d5085c847219eae58a8daac0902372a5e8fbbd133da3850332b2", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_user/meta/main.yml", + "name": "tests/integration/targets/nxos_config/templates/basic/base_running_config", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "85528fb2bdea51956f0b6d9a7cb07c7bc75e498553f9b5301b904db35ed0f929", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_user/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_config/templates/basic/configblock.j2", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f8cfadc33b5527be5bd82a279cbcc769a882135ce815cb6d42177cb51d325e4e", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_user/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_config/templates/basic/configexact1.j2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "f8cfadc33b5527be5bd82a279cbcc769a882135ce815cb6d42177cb51d325e4e", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_user/tasks/main.yaml", + "name": "tests/integration/targets/nxos_config/templates/basic/configexact2.j2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "chksum_sha256": "b5884db197b0f69276768f1f6e5e8b4214ead32869dab90d76fae353425a4b28", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_user/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_config/templates/basic/config.j2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "d62440fb734cd4db3dd623ab8e77214ff7f82e44c7dfca249b20dcd83d83a9af", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_user/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_config/templates/config.js", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c6d65e4fbe26ecfdf18d8eba2eac04aecfdd65e59e6b6db1c2aa2d29ed5a5847", "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_user/tests/common", + "name": "tests/integration/targets/nxos_config/templates/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_snmp_user/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_config/templates/defaults/test.j2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cc18bce3cf7f8a257784f7d4e432ef00b535bfe73b057d661756f364bcc9d176", + "chksum_sha256": "356d51cb39cbc26b408ca0b3aeacc83634ee2f6e061811a3a8fafb63955ffa4d", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes", + "name": "tests/integration/targets/nxos_config/templates/defaults/config.j2", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "522484a8eb35e809c1ebd645a73ca12f02b09c6cf237f1db1ed577088c149c51", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_bfd_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/defaults", + "name": "tests/integration/targets/nxos_bfd_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/defaults/main.yaml", + "name": "tests/integration/targets/nxos_bfd_interfaces/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bfd_interfaces/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/meta/main.yml", + "name": "tests/integration/targets/nxos_bfd_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tasks", + "name": "tests/integration/targets/nxos_bfd_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_bfd_interfaces/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "179f234edacb9001a786336c8d5356649e61bee90fec1cbe90439b51dd2404be", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tasks/main.yaml", + "name": "tests/integration/targets/nxos_bfd_interfaces/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_bfd_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "23a6d14c405b079e713a5f819fded731e3f2458bb5a744557364043b000924c8", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tests", + "name": "tests/integration/targets/nxos_bfd_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tests/common", + "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d486bec06fd92b15f491fc77298d00447520a955e2dbf3d84a5a739d1a2703c2", + "chksum_sha256": "35032ab6b2376156d9cc4386e0c3ae950aeea92146c89106e92963e5d9f30abd", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "244c13d831c6419ec7e7a46e3e00e82fc1be5a476e5204561deae0efce659d93", + "chksum_sha256": "1ef608de6174de4a28060255b4f85b5c00beb4bf2c8c4083a85d4132fe06341f", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tests/common/deleted.yml", + "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4967dcabf48af06eef2abaced4b8b9fa8be7ccf9c040280e43bc566e609eff38", + "chksum_sha256": "e8b8f05c67f53717f791d5fa39768a09589083927c1b288181a9a2b28d3f19fd", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tests/common/gathered.yml", + "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f58a5e229e9cb4a2cd367d9bd3d36dfc7b8a03598bd35d77c19ea701e70b8976", + "chksum_sha256": "a07b5658b8543fad6adbc03cc3dedf24b925d6c15ab96cba887e4057adde9af4", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tests/common/merged.yml", + "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "90d3fc09ac769b6da9605e3d3af1ba861c03809390d2b655faacffaa6a3a787d", + "chksum_sha256": "b7125a5bf2a88b3a35ff6aa0d06f3afd1474431c753306f1390613c7892f8217", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tests/common/overridden.yml", + "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c5788d452377713c3f05af78636686f378019e6fa3b871bb481b60cdaafcc851", + "chksum_sha256": "903605fdce930f7ab623ddda18bc721d07632ae35cede2608f93d0178fffff86", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tests/common/parsed.yml", + "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "890e0e95d47fc42ebf801482b3e035fb702531edae81a9c4328900703f9a18fa", + "chksum_sha256": "febb1078f232f6b64f4600db4e81e08b293f9c1b5959937b92458ea3228ac8ce", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tests/common/rendered.yml", + "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6e6401cf2561d87bdb04083be258c6941048c7d43d927a0134623160e2d01c72", + "chksum_sha256": "57b05a37ab33678d00ceac9fa16256aa5ce862265fb330cf2045a6f06bd40331", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tests/common/replaced.yml", + "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eab7c3d79bf9664fae7b1eb6bc04ca4e40660a5211573791d853018a75ad5ea8", + "chksum_sha256": "c7ce5887a89b7e2b67eb2b4bae794a1e0a77c77c2c98c1fbd123bca9ecbf78f3", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/tests/common/rtt.yml", + "name": "tests/integration/targets/nxos_bfd_interfaces/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "be154ed8f2f479706ef805339638377f2dfe06fb05ae6f92174f628763c51ef6", + "chksum_sha256": "879575bd8531da7b1f7752bc36e8b1d92d654dadebf3ac9e372c71ead2cd75d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/vars", + "name": "tests/integration/targets/nxos_bfd_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_static_routes/vars/main.yml", + "name": "tests/integration/targets/nxos_bfd_interfaces/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f13b712996115e0197b7cbe4561aca2fb8f5c4ad0c0e162427809c87bde7bc09", + "chksum_sha256": "ab74ba6b07626a0723ca4ba193159ba14bc7011f11acd94ca9b5f13f817def19", "format": 1 }, { - "name": "tests/integration/targets/nxos_system", + "name": "tests/integration/targets/nxos_vxlan_vtep", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_system/defaults", + "name": "tests/integration/targets/nxos_vxlan_vtep/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_system/defaults/main.yaml", + "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "1e03994e82f05167e558b19e20c435e80ed92b6ff4f62f71fb93ed9082d30f94", "format": 1 }, { - "name": "tests/integration/targets/nxos_system/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_system/meta/main.yml", + "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tasks", + "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/platform", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/platform/n7k", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tasks/main.yaml", + "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/platform/n7k/cleanup.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "6fe5dccac28d950d4f93db2d5dd8d2d53f974b51a0c07a9371165a7fd9b20585", "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/platform/n7k/setup.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "b569f1de86c96331c196b935a58a716b5314f80ebd5b9130aeaa56f44c45f047", "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tests", + "name": "tests/integration/targets/nxos_vxlan_vtep/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tests/cli", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_vxlan_vtep/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tests/cli/set_domain_list.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "494d4bd1f0afc278a5422adec3684980a21807274f3887cc64743335104fc95f", + "name": "tests/integration/targets/nxos_vxlan_vtep/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tests/cli/set_domain_name.yaml", + "name": "tests/integration/targets/nxos_vxlan_vtep/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fa3289fe04fe5f8a8259ca69cee34e575e690589e3c4b5a1e8ade6a724c81246", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tests/cli/set_name_servers.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "634ccd651c5a3aff45209b99a311b488422098e96df88ca31e1f1f6e5fcc0e2f", + "name": "tests/integration/targets/nxos_vxlan_vtep/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tests/common", + "name": "tests/integration/targets/nxos_vxlan_vtep/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_vxlan_vtep/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e76a24280e763ab2423dbd4062e39dd0c4b54131b361582bc4de92183c9fe32f", + "chksum_sha256": "6f5876cdb7e7636f06c87e462e6002cd2694520079c83f7103450520ff14b3b9", "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tests/common/set_hostname.yaml", + "name": "tests/integration/targets/nxos_vxlan_vtep/tests/common/multisite.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1f80d47b8482b052d64571ffd74d3e08219c8180e0bdfd38785cbdcb80b4dc01", + "chksum_sha256": "6e9df57ea06843b691dc030437dd9190193ddb70664dd0254133417e3a8b5cdc", "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tests/nxapi", + "name": "tests/integration/targets/nxos_udld", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tests/nxapi/set_domain_list.yaml", + "name": "tests/integration/targets/nxos_udld/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_udld/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f58661081e4b16a1b96f55d176abaa163d8eeb2d530a96420da6d15de4bb0ac", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tests/nxapi/set_domain_name.yaml", + "name": "tests/integration/targets/nxos_udld/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c3c9fe4f41326a05c53fb03a14ab15d9aca59b0cd5276ca5e28b7c7b7e24e1a5", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_system/tests/nxapi/set_name_servers.yaml", + "name": "tests/integration/targets/nxos_udld/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bbee414220275ff9a13a61bb40c3f4aa127cf63ebb07221abf01f8995b22b252", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry", + "name": "tests/integration/targets/nxos_udld/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/defaults", + "name": "tests/integration/targets/nxos_udld/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_udld/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/defaults/main.yaml", + "name": "tests/integration/targets/nxos_udld/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/meta", + "name": "tests/integration/targets/nxos_udld/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/meta/main.yml", + "name": "tests/integration/targets/nxos_udld/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_udld/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "327f500b5a3e5f79399f7a93e74613eec32ee87f52ea77b89af0bb84862a89d2", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tasks", + "name": "tests/integration/targets/nxos_l3_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_l3_interfaces/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_l3_interfaces/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2770dd7e8cf7aaf46ff693e547591ce3777d0c795f91f795e9d46bf76ed545f8", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tasks/main.yaml", + "name": "tests/integration/targets/nxos_l3_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4fe8ec88364fed45512b5f8e5687038986edd9b03ab1962afa6476aed1ab2f5a", + "chksum_sha256": "2418a2ada8700c06969324411c9be328b4d4ad913c6eb93fb824dff96900ff8f", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_l3_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ce1d6ba27c1064403038da1dbddeeec72f97249fdc90ea0cd7ca3090d03b6ef5", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/templates", + "name": "tests/integration/targets/nxos_l3_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/templates/populate_config.cfg", + "name": "tests/integration/targets/nxos_l3_interfaces/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "160c96e0f5f10f0cd536d1fcd93fad3b60a8eac159a64755ac8617a702f032b7", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tests", + "name": "tests/integration/targets/nxos_l3_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tests/common", + "name": "tests/integration/targets/nxos_l3_interfaces/defaults/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_l3_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tests/common/fixtures", + "name": "tests/integration/targets/nxos_l3_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tests/common/fixtures/local_server.crt", + "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "29437b8420b999138ca0947aef901533fd9affbc7ae98a39b13fb6bfa0ae29cd", + "chksum_sha256": "9dbc4efa7c9e6843b987aa6286ba0de836129c75b66249ab846fee2012fc2394", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tests/common/fixtures/new_server.crt", + "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d761bf530e78d0752a7d9f05dfd5084e106245c7cecac49ca75c0c76ba495fc1", + "chksum_sha256": "1676a953c0e740cc280155ea76e6368fd5628556cdc0acae19e1834b40721681", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tests/common/fixtures/server.crt", + "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9248b8354ba01bd1fecb1d24494a6098ee9547fa34a9d8840068abbb9a80fd92", + "chksum_sha256": "4c8ea6a0bd93a5ae1092362c88b1eb6ed13a086968841b5d68654677741714dc", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tests/common/deleted.yaml", + "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d231b07bd5ab608ddebbdbbdbbcbed5e4648ac7ad05dfbbf1df4e2a21c063389", + "chksum_sha256": "858bc39fea4f9cedff070a248b5119124852eeb9237388ef833c414510dbf24c", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0f66a09ea372c1fa2c05027c0a2097da33a0912daf4355ff6cab34a77e057acd", + "chksum_sha256": "d660e4e5717467104076599f04b44aca40bbe45b79eb5e5554cb1ff390feb405", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tests/common/merged.yaml", + "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b1ac88fec698b51b1f358987e65b5793cd9488ea085606963409a7b9d9b2b4cc", + "chksum_sha256": "e7555ee3d0322003861d6c2d810ec490027b8d792e8800c7e9a46fab869b1c92", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "00736c9321f59eb87d3655075f655cf2244ba30caed17b3175c3f0171c94bd9f", + "chksum_sha256": "c670083adeabaa18419eea52a2297aeea81b1a5635718b95aebf3d1955f78385", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/multisite.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b0b3ebe6d2d7db422ec1a046818ce06ddf83ef9f32a9178691d732b0824b4da1", "format": 1 }, { - "name": "tests/integration/targets/nxos_telemetry/vars/main.yaml", + "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "90ee74a6d8158f5b1a5e92b16e0e044a5fae636e2742931b542355cb71ed2da4", + "chksum_sha256": "3a640fd87c6717d5876b64797f7d0092fd6673272fc5a674bde3cf5ed78e8b79", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ef91b776e8c9627a55cc9759549aaa7482e0f7da4385079443b8e8f1d8d40b8c", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/parsed.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5e2abf21e437435b96d94e3a1c900ac1284a39092f3b0b1d19e8d5d7544a8424", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld/defaults/main.yaml", + "name": "tests/integration/targets/nxos_l3_interfaces/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "f274f91771b34f2246ee4fa58bae6acd7fafb0ea1f1efb04ffb362cfd1678de3", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld/meta", + "name": "tests/integration/targets/nxos_l3_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_udld/meta/main.yml", + "name": "tests/integration/targets/nxos_l3_interfaces/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "24e5a4f2e7330b185775678aa68b4645786e83617b90d5a32fb4ff4b77b345ad", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld/tasks", + "name": "tests/integration/targets/nxos_lldp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_udld/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_lldp_interfaces/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_lldp_interfaces/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "280d285e1a9b531b25d8b880d3a032933d7135004c4658b7f1eb4872c60cc666", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld/tasks/main.yaml", + "name": "tests/integration/targets/nxos_lldp_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "chksum_sha256": "c0ff0c24a2fb4a8aa58a6356c5029065acb6cf1aba1e14add135ff69c8d1387b", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_lldp_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "c57c3ff656bb8daf9febb3c7a7bff934b952d1ccb83604d93e23ccfc3ea88724", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld/tests", + "name": "tests/integration/targets/nxos_lldp_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_udld/tests/common", + "name": "tests/integration/targets/nxos_lldp_interfaces/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_lldp_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_udld/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_lldp_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "327f500b5a3e5f79399f7a93e74613eec32ee87f52ea77b89af0bb84862a89d2", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld_interface", + "name": "tests/integration/targets/nxos_lldp_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_udld_interface/defaults", + "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_udld_interface/defaults/main.yaml", + "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "303bc0ba56d6f13d152987aaf4b6953d88e4461e8958c7db467d52d247a63dce", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld_interface/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/parsed.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e63afbeefadaaf0dcc22637aaeebfc27980cb517c68aabda8338c05976255320", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld_interface/meta/main.yml", + "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/gathered.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "d559bcc46e44d101f2fa43a97d785b4476d6053486294e513a7cafbaf67b6bae", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld_interface/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/merged.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2399f3e2619a3b82bcf30be4b9a2be7c660d0f53450d25a46b87fd8ee4abb25b", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld_interface/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/replaced.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "2c101fa94fc443f0335f4fb75c440dc5c0fe47363d3463d0eccc2c340b39e6cf", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld_interface/tasks/main.yaml", + "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/deleted.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "chksum_sha256": "8695d048ec2623b31a194a213ef80da6add19468e0f90a4ca97d5b8257979529", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld_interface/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/rtt.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "23d20e20e06201967d2847f91f879c7741ac48c9e08bc1b9b3f63ef8c111ad29", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld_interface/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/overridden.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b4403fc48624d3990b76b682c8b17543e81f43f152f1afe573bdde1722248ea1", "format": 1 }, { - "name": "tests/integration/targets/nxos_udld_interface/tests/common", + "name": "tests/integration/targets/nxos_lldp_interfaces/tests/common/rendered.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "05a26c146d796dee090a8d9931d7f38b5cf3ea87682c7f50f73597a6cff1a4cb", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_lldp_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_udld_interface/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_lldp_interfaces/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3cd8d7eab5171ab6ad59ea7fd737a7de66bff01398491e83f7d3904da0c5e451", + "chksum_sha256": "823ad4608bc4788ff160348fe4e6be75f267c9f2a55bf2043875eb2d76084f39", "format": 1 }, { - "name": "tests/integration/targets/nxos_user", + "name": "tests/integration/targets/nxos_vrf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_user/defaults", + "name": "tests/integration/targets/nxos_vrf/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_user/defaults/main.yaml", + "name": "tests/integration/targets/nxos_vrf/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_user/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_vrf/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_user/meta/main.yaml", + "name": "tests/integration/targets/nxos_vrf/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_user/tasks", + "name": "tests/integration/targets/nxos_vrf/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_user/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_vrf/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_user/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_vrf/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_user/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_vrf/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_user/tests", + "name": "tests/integration/targets/nxos_vrf/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_user/tests/common", + "name": "tests/integration/targets/nxos_vrf/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_user/tests/common/auth.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "db7a57ed2e804cae9aea360123df898848cc2e772fcab84d843aac01ca0b6b61", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_user/tests/common/basic.yaml", + "name": "tests/integration/targets/nxos_vrf/tests/common/intent.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ba9e801ff2ad1ae02085f83753b4f2e51565888a0fa5822ea0f671ee8a54229f", + "chksum_sha256": "b49015c20a19ae1f270a3b5e69d370744549a23915fb03c23f6e84ad40f8ef74", "format": 1 }, { - "name": "tests/integration/targets/nxos_user/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_vrf/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bd39b32f02401670bfda98c14839d0da9c76ae8446c151dc7f10131c9531ded6", + "chksum_sha256": "b8fb2d6249a8d9311ec67a31c87ad94a8184c7351dbf190d833bb1d7bafd4e7a", "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans", + "name": "tests/integration/targets/nxos_hsrp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/defaults", + "name": "tests/integration/targets/nxos_hsrp/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/defaults/main.yaml", + "name": "tests/integration/targets/nxos_hsrp/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/fixtures", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_hsrp/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/fixtures/parsed.cfg", + "name": "tests/integration/targets/nxos_hsrp/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9d00aff551522b3a0a61d5ba2b38944de36985bd3353dc67987d76d650ccbea3", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/meta", + "name": "tests/integration/targets/nxos_hsrp/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/meta/main.yml", + "name": "tests/integration/targets/nxos_hsrp/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ec4fa30fc4a7b9e002d1c7b3932286ace72ba36e4f532e2cc79f49d07e0794c3", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tasks", + "name": "tests/integration/targets/nxos_hsrp/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c188dd142fbd975c639386eb44dc079d8f6ff7e323444a227c93a9346c2d748d", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_vlans/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_vlans/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_hsrp/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tests", + "name": "tests/integration/targets/nxos_hsrp/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tests/common", + "name": "tests/integration/targets/nxos_hsrp/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tests/common/_populate_config.yaml", + "name": "tests/integration/targets/nxos_hsrp/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0fef283f3a139da74d869920dfc1b12b127b20e505c060d30b893d457ea980bc", + "chksum_sha256": "a9c0076bb37472ad1bcf0815ed5845032be77683ffc6e967f2577c29cc28f8a8", "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tests/common/_remove_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9d0b9b581e3e45b412907eecbc4ba5ad1632595e8cb58f397365287ce091bee0", + "name": "tests/integration/targets/nxos_vtp_password", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tests/common/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e2964f468cfe2c92dbee0504a71845636d76ff4e079dd07ad7f8656cba328221", + "name": "tests/integration/targets/nxos_vtp_password/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tests/common/empty_config.yaml", + "name": "tests/integration/targets/nxos_vtp_password/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "69cfb989d7be0b980e8fc3eb9d33154c66e2cde5df1a9f8b17b1ea0894879212", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tests/common/gathered.yaml", + "name": "tests/integration/targets/nxos_vtp_password/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "87888ec93930b5630192fd9f60d931700a43910cfe6a3d092b04099ac88eb612", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tests/common/merged.yaml", + "name": "tests/integration/targets/nxos_vtp_password/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6f9623efb3904d185246e618c1cb0726553a5556941e5c2e91b7c9025de0e89c", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tests/common/overridden.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c70b2b7642402aeef4772a4a8cc7b7abde208bfedd65fbdcf95231b2ab5a74db", + "name": "tests/integration/targets/nxos_vtp_password/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tests/common/parsed.yaml", + "name": "tests/integration/targets/nxos_vtp_password/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fe16be9cd5316c7526ea489bad81d693f40c2f2351c01f60a4074802f208164e", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tests/common/rendered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5745013bf8f6e23f513cea1bb8878e4ca80ba61a331a5a5d2a7097673b786ed2", + "name": "tests/integration/targets/nxos_vtp_password/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tests/common/replaced.yaml", + "name": "tests/integration/targets/nxos_vtp_password/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1f1efb47f41f82d4be94cca66acf388791ed71b63f1f3897f769f7e4110f1be6", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/tests/common/rtt.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "65b9276bee903c86af57ed5a6afee1d84461bf6c7bf3a3cf95aa8369e0c7df57", + "name": "tests/integration/targets/nxos_vtp_password/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/vars", + "name": "tests/integration/targets/nxos_vtp_password/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vlans/vars/main.yml", + "name": "tests/integration/targets/nxos_vtp_password/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fd3723c027909807b1d6ef73222d5bfc96f98c680a9f86f3e89c0366bdd22116", + "chksum_sha256": "3146095b01817bec07dd315c90e066bd664e16b5438d62d337a7ebfc0c48884e", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc/defaults", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc/defaults/main.yaml", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0defcb7ce6f353926624c2c3e045b403af33c34a6bc1c49b08e71ec602cd21f2", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc/meta/main.yml", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc/tasks", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc/tests", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc/tests/common", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2df57c902caed23947093482590483584784db8850c51e6efe545b314895eaed", + "chksum_sha256": "c07047642c717ad5e564697143a11e7cc93a18376d91ee56dc5f44f3d19e22b5", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc_interface", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/deleted.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "dc0718832154ed173f9ada21e4072a3f3c7fc9202d9a83e0b18c26d72991702e", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc_interface/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/gathered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "367b5c49d11893b14160cf94e6675588ac07bf0ee93574f6a1e9a9d4c6df70d9", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc_interface/defaults/main.yaml", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "ed006b0b9dbb7b7c16264d7c9304040f7ddf7104c0aef4d084dd0380d81c0f0d", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc_interface/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ebe2088087a911826370430ed7e8029bee349d39be051ef9ce89f96ebb2d4118", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc_interface/meta/main.yml", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "9c296bdd111a832466197719e7d3a6da9215aaaa0ab6aeca20b16e5284c61b52", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc_interface/tasks", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/_populate_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "047f1c0feea67e71c51f1eed5b1434e093a7b9f98494aa230acea01f7b68a91b", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc_interface/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "b2a00e0d2590a7c6caff9c7d3d3df8eddf7a04bcb142a5900735574cf7d7ba14", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc_interface/tasks/main.yaml", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "chksum_sha256": "bc402cfd6f07870283877fcd9c3158fdef7f756c7ea88c1aeebdd73629628a00", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc_interface/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "40d8f8cfc0bfd8a2d5da53d9e61f2d398e4ed50e2cc17915359ba02b980d16d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc_interface/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a8055703f881f09873f851f1e0c212ac66aa662b744b5cc81a6bd07a7e854643", "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc_interface/tests/common", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vpc_interface/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_bgp_neighbor_address_family/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "03b61d6df7de21547cead303ca85a6e4139660eb2df5e5e2af81ddfefc206951", + "chksum_sha256": "c9c20222a6eea75718e72f0e12a439d0f2a36eee5fc85db00a855c0ca4a72f99", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf", + "name": "tests/integration/targets/nxos_logging", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf/defaults", + "name": "tests/integration/targets/nxos_logging/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf/defaults/main.yaml", + "name": "tests/integration/targets/nxos_logging/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_logging/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2fa4212775c84d75c443b3960aebf6341b09e5224e4faa7487fd1665c531cfed", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf/meta/main.yml", + "name": "tests/integration/targets/nxos_logging/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf/tasks", + "name": "tests/integration/targets/nxos_logging/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_logging/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_logging/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_logging/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf/tests", + "name": "tests/integration/targets/nxos_logging/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf/tests/common", + "name": "tests/integration/targets/nxos_logging/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf/tests/common/intent.yaml", + "name": "tests/integration/targets/nxos_logging/tests/common/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b49015c20a19ae1f270a3b5e69d370744549a23915fb03c23f6e84ad40f8ef74", + "chksum_sha256": "cffb79e3d12eafda145406aeabd6a8b977e70c5eaf2357b1ea7e9f961f0d8efa", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_logging/tests/common/purge.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b8fb2d6249a8d9311ec67a31c87ad94a8184c7351dbf190d833bb1d7bafd4e7a", + "chksum_sha256": "73306e68b9cf6de77d4ae5c21bef31324fa909718a1aa43c35e1d99dfa07ce1f", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_af", + "name": "tests/integration/targets/nxos_gir", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_af/defaults", + "name": "tests/integration/targets/nxos_gir/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_af/defaults/main.yaml", + "name": "tests/integration/targets/nxos_gir/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_af/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_gir/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_af/meta/main.yml", + "name": "tests/integration/targets/nxos_gir/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_af/tasks", + "name": "tests/integration/targets/nxos_gir/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_af/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_gir/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_af/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "name": "tests/integration/targets/nxos_gir/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_af/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_gir/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_af/tests", + "name": "tests/integration/targets/nxos_gir/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_af/tests/common", + "name": "tests/integration/targets/nxos_gir/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_af/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_gir/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "df6d2b3a3d7a67ce3759464bf144b6a71d61afa348cfda6faea7707ab93acf21", + "chksum_sha256": "13582ac62b7614778bc62c5a6f93a36a920e8664812b73a2b0903af35c2fe1da", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_interface", + "name": "tests/integration/targets/nxos_smoke", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_interface/defaults", + "name": "tests/integration/targets/nxos_smoke/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_interface/defaults/main.yaml", + "name": "tests/integration/targets/nxos_smoke/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "7277ec56762ca20a3617b1da87631d8dde35556a4c004e7c82974e49fab50d92", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_interface/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_smoke/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "849f2a2746300bf950bfe382b3f2b80990bbee773cbdbd2d1e2a897a9ed1e261", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_interface/meta/main.yml", + "name": "tests/integration/targets/nxos_smoke/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "62a31764ef528947cdefe8eb150e20bdaba422d40bac12a3609948ca1575cf8f", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_interface/tasks", + "name": "tests/integration/targets/nxos_smoke/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_interface/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_smoke/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_interface/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "name": "tests/integration/targets/nxos_smoke/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_interface/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_smoke/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_interface/tests", + "name": "tests/integration/targets/nxos_smoke/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_interface/tests/common", + "name": "tests/integration/targets/nxos_smoke/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrf_interface/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_smoke/tests/cli/misc_tests.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7f97e455b1bd40d8c37f4c473ba8a86d18cb742022dface71269898bcf9d6594", + "chksum_sha256": "dedfb27511bd8fde863a0aa430bdd23272cd766d0c23694764d01852c9586073", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrrp", + "name": "tests/integration/targets/nxos_smoke/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrrp/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_smoke/tests/common/common_utils.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a60e645271b0b349228daf7eac3948d5651a32abd8cb578005202d4c1ed80236", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrrp/defaults/main.yaml", + "name": "tests/integration/targets/nxos_smoke/tests/common/misc_tests.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "ca259adfd9eabd17072e03cae98011aa82cf2e1b6d8fc88fb0ada2ebaca18d7a", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrrp/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_smoke/tests/common/common_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "dea32a9f41f8c2367181bfb2fc2821e4304e393ac781dd02e19d6cb01c6273ae", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrrp/meta/main.yml", + "name": "tests/integration/targets/nxos_smoke/tests/common/caching.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "2db51e2d9c925d2773d4bcf45ee241c75cc02547793d07cad590f1d9657eb36c", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrrp/tasks", + "name": "tests/integration/targets/nxos_bgp_templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrrp/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_bgp_templates/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_bgp_templates/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrrp/tasks/main.yaml", + "name": "tests/integration/targets/nxos_bgp_templates/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "918e266fd84500fc8a9d7958437789683bd47b7875371afaf4941b60f4594bc7", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrrp/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_bgp_templates/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_vrrp/tests", + "name": "tests/integration/targets/nxos_bgp_templates/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrrp/tests/common", + "name": "tests/integration/targets/nxos_bgp_templates/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_bgp_templates/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vrrp/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_bgp_templates/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a7766c42cc22f1bb7cc7fa396978f2db1df0d1c744e3241f371f55912f3cd610", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_vsan", + "name": "tests/integration/targets/nxos_bgp_templates/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vsan/defaults", + "name": "tests/integration/targets/nxos_bgp_templates/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vsan/defaults/main.yaml", + "name": "tests/integration/targets/nxos_bgp_templates/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "c07047642c717ad5e564697143a11e7cc93a18376d91ee56dc5f44f3d19e22b5", "format": 1 }, { - "name": "tests/integration/targets/nxos_vsan/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bgp_templates/tests/common/deleted.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "425c2ab3097932fcb46a43b4d5b8bcaeed500348e760e77a5b6f1d4e4fca9eea", "format": 1 }, { - "name": "tests/integration/targets/nxos_vsan/meta/main.yml", + "name": "tests/integration/targets/nxos_bgp_templates/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", + "chksum_sha256": "2326d2afd434fadf9b8d2ef427e3918e6a5947eb39d58c4fc1988df599c58510", "format": 1 }, { - "name": "tests/integration/targets/nxos_vsan/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bgp_templates/tests/common/empty_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "37be696dfcec49e17974100e3ea8181b391da9cdad82f8667aa2f5df0ff8aaca", "format": 1 }, { - "name": "tests/integration/targets/nxos_vsan/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_bgp_templates/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "09f60138ddf3d5c8a6782f9f5f937091c37a58ea72c0304384034becdf946850", "format": 1 }, { - "name": "tests/integration/targets/nxos_vsan/tasks/main.yaml", + "name": "tests/integration/targets/nxos_bgp_templates/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f47853340600c1c9b76ed00695079b203ae45896e40acfac2f48e28f2ad98b40", + "chksum_sha256": "1197072828ecfc518dd9ac00389c239db31f18e8d566fbe5a37fd80ff479f104", "format": 1 }, { - "name": "tests/integration/targets/nxos_vsan/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bgp_templates/tests/common/_populate_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0f7753a98712bcde737fce34f1a0af8d5a655bba229b306685e5ae6f8c26257d", "format": 1 }, { - "name": "tests/integration/targets/nxos_vsan/tests/common", + "name": "tests/integration/targets/nxos_bgp_templates/tests/common/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vsan/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_bgp_templates/tests/common/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cb88ac95adfc25626d2c81d7dc7d45341c006ac0490dda44c675101938ec4bcc", + "chksum_sha256": "e921d4fa370873c1b237ba6b3ee2d3c0a70520b08f5097e960152137a57ed123", "format": 1 }, { - "name": "tests/integration/targets/nxos_vsan/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bgp_templates/tests/common/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d307cdaf9d9ecb2c711093d4f9879deb595a843ed2d17b6ae1036d918b22cf2f", "format": 1 }, { - "name": "tests/integration/targets/nxos_vsan/vars/main.yml", + "name": "tests/integration/targets/nxos_bgp_templates/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "97b10ee26b05c01b328d79887c41479bd2bf559184fb1df4af53645db6e109ba", + "chksum_sha256": "a1ffab53eece71058929fba7b157214cd3aeea388b6bf8aae94e146b03e5eb25", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_domain", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_bgp_templates/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "56e1c2649908ef81810457cc96bc917c530d7096e907b516389ef7cdbe3c9ba3", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_domain/defaults", + "name": "tests/integration/targets/nxos_bgp_templates/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_domain/defaults/main.yaml", + "name": "tests/integration/targets/nxos_bgp_templates/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "320a4fb71862d3232cd18205318c3a960d55b06bb1fd7fa7afd49ff122c04605", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_domain/meta", + "name": "tests/integration/targets/nxos_igmp_snooping", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_domain/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_vtp_domain/tasks", + "name": "tests/integration/targets/nxos_igmp_snooping/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_domain/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_igmp_snooping/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_domain/tasks/main.yaml", + "name": "tests/integration/targets/nxos_igmp_snooping/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_domain/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_igmp_snooping/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_domain/tests", + "name": "tests/integration/targets/nxos_igmp_snooping/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_domain/tests/common", + "name": "tests/integration/targets/nxos_igmp_snooping/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_igmp_snooping/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_domain/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_igmp_snooping/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5ce98107789e4105c99fef3d305b6b7099cf14b564000fe960cc6861772e803", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_password", + "name": "tests/integration/targets/nxos_igmp_snooping/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_password/defaults", + "name": "tests/integration/targets/nxos_igmp_snooping/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_password/defaults/main.yaml", + "name": "tests/integration/targets/nxos_igmp_snooping/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "a4a73bc840e125f41372313d58b550980ef7c1642f87ba9bb8ee85d8d026ff42", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_password/meta", + "name": "tests/integration/targets/nxos_route_maps", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_password/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_vtp_password/tasks", + "name": "tests/integration/targets/nxos_route_maps/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_password/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_route_maps/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_password/tasks/main.yaml", + "name": "tests/integration/targets/nxos_route_maps/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", + "chksum_sha256": "2396a1bb62aa2d673208deb59766a787971d061630b8467afa525b7fdcb2e95e", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_password/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_route_maps/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_password/tests", + "name": "tests/integration/targets/nxos_route_maps/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_password/tests/common", + "name": "tests/integration/targets/nxos_route_maps/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_route_maps/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_password/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_route_maps/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3146095b01817bec07dd315c90e066bd664e16b5438d62d337a7ebfc0c48884e", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_version", + "name": "tests/integration/targets/nxos_route_maps/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_version/defaults", + "name": "tests/integration/targets/nxos_route_maps/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_version/defaults/main.yaml", + "name": "tests/integration/targets/nxos_route_maps/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "cdf825a17b7761cfbd225079ec5d366f4584e7f97111e0af086884f87fda0fde", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_version/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_route_maps/tests/common/deleted.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c276d4c6888f077b84280f79606acb632995c8f1bf32e8c1c0bcb9c02055ee76", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_version/meta/main.yml", + "name": "tests/integration/targets/nxos_route_maps/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", + "chksum_sha256": "562a6817ca710cc4c1b6c4babb9b7bca97334312e19d963f8df83a98b7e94512", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_version/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_route_maps/tests/common/empty_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ff60a5603326c1ae214cbac1f9411495c0cab6360f7880234d1b2e3be1a2ffbb", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_version/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_route_maps/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "3b2a9d97ae8aa59ee542363b43e7051f5d8492e4f45ba0db862a9d071e1ef820", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_version/tasks/main.yaml", + "name": "tests/integration/targets/nxos_route_maps/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "chksum_sha256": "d8ea6575a0570f9ce32c1d3211f075ee42f56a4ba2d87115c6fccd3409b6b5d0", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_version/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_route_maps/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "036af452cc03bdec84720356e6c7013b4f39c2a6800e1f8303120d785b2955e7", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_version/tests", + "name": "tests/integration/targets/nxos_route_maps/tests/common/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_version/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_route_maps/tests/common/fixtures/parsed.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "09e1c1e0b37433d900624319d7037eb3672c94053d18f87f22552dceeec1dc96", "format": 1 }, { - "name": "tests/integration/targets/nxos_vtp_version/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_route_maps/tests/common/_setup.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e33039720ba0e6ccc73fe5d38aaa4c2d1284afbb89058f6fe98c1a09d2a30638", + "chksum_sha256": "5153443ed073b0cc035110ac96d297361e22abe390c84014d0a7dbc83ede74e4", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_route_maps/tests/common/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "56653dab75b72e7a40ed1dbff928b5fd2dedf7651dcf2155747903b1a64803e4", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_route_maps/tests/common/parsed.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ab508eea7234bac851c3c482330fa0c4afb0e8bd2af87d91901c230754d9779d", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep/defaults/main.yaml", + "name": "tests/integration/targets/nxos_route_maps/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "4e59d332194a4bb9ce27f445771203088b05b31a191b59d0e9e049deb72552a8", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep/meta", + "name": "tests/integration/targets/nxos_route_maps/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep/meta/main.yml", + "name": "tests/integration/targets/nxos_route_maps/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_vxlan_vtep/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "2e01454e13b8195b24273afb60288d0cb4a32a1ca4e7f1fff3bfea0fd2610f18", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/platform", + "name": "tests/integration/targets/nxos_vrf_interface", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/platform/n7k", + "name": "tests/integration/targets/nxos_vrf_interface/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/platform/n7k/cleanup.yaml", + "name": "tests/integration/targets/nxos_vrf_interface/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6fe5dccac28d950d4f93db2d5dd8d2d53f974b51a0c07a9371165a7fd9b20585", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/platform/n7k/setup.yaml", + "name": "tests/integration/targets/nxos_vrf_interface/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b569f1de86c96331c196b935a58a716b5314f80ebd5b9130aeaa56f44c45f047", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_vrf_interface/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", + "name": "tests/integration/targets/nxos_vrf_interface/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_vrf_interface/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_vxlan_vtep/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep/tests/common", + "name": "tests/integration/targets/nxos_vrf_interface/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep/tests/common/multisite.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6e9df57ea06843b691dc030437dd9190193ddb70664dd0254133417e3a8b5cdc", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_vxlan_vtep/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_vrf_interface/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6f5876cdb7e7636f06c87e462e6002cd2694520079c83f7103450520ff14b3b9", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep_vni", + "name": "tests/integration/targets/nxos_vrf_interface/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep_vni/defaults", + "name": "tests/integration/targets/nxos_vrf_interface/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep_vni/defaults/main.yaml", + "name": "tests/integration/targets/nxos_vrf_interface/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "7f97e455b1bd40d8c37f4c473ba8a86d18cb742022dface71269898bcf9d6594", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep_vni/meta", + "name": "tests/integration/targets/nxos_snmp_location", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep_vni/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tasks", + "name": "tests/integration/targets/nxos_snmp_location/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_snmp_location/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tasks/main.yaml", + "name": "tests/integration/targets/nxos_snmp_location/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tasks/nxapi.yaml", + "name": "tests/integration/targets/nxos_snmp_location/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74033e252919aa375b4f138bd4dcb71c143fb2067e3f205f0ad5e6083372257b", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tests", + "name": "tests/integration/targets/nxos_snmp_location/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_snmp_location/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tests/common/multisite.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7127fe8481d55865ca7043a159fb4c4a6e02423899c7143bbb548aff0f3728e4", + "name": "tests/integration/targets/nxos_snmp_location/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_vxlan_vtep_vni/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_snmp_location/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "81ba6bdc57dba2f0adc0b293862db415cb6aea44ae3793cbb0c755ea01c073a9", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/nxos_zone_zoneset", + "name": "tests/integration/targets/nxos_snmp_location/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_zone_zoneset/defaults", + "name": "tests/integration/targets/nxos_snmp_location/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_zone_zoneset/defaults/main.yaml", + "name": "tests/integration/targets/nxos_snmp_location/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "3e00a1c43687d39e22e8835b039f398d7bdebbcc45399d8cd01d6ca7d4ef6e96", "format": 1 }, { - "name": "tests/integration/targets/nxos_zone_zoneset/meta", + "name": "tests/integration/targets/nxos_devicealias", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_zone_zoneset/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_zone_zoneset/tasks", + "name": "tests/integration/targets/nxos_devicealias/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_zone_zoneset/tasks/cli.yaml", + "name": "tests/integration/targets/nxos_devicealias/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4920f07d7c3d221f290efc6de761251282138ead24bb65af9e69accc986293b8", + "chksum_sha256": "f47853340600c1c9b76ed00695079b203ae45896e40acfac2f48e28f2ad98b40", "format": 1 }, { - "name": "tests/integration/targets/nxos_zone_zoneset/tasks/main.yaml", + "name": "tests/integration/targets/nxos_devicealias/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f47853340600c1c9b76ed00695079b203ae45896e40acfac2f48e28f2ad98b40", - "format": 1 - }, - { - "name": "tests/integration/targets/nxos_zone_zoneset/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/integration/targets/nxos_zone_zoneset/tests/common", + "name": "tests/integration/targets/nxos_devicealias/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_zone_zoneset/tests/common/sanity.yaml", + "name": "tests/integration/targets/nxos_devicealias/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "781a480d71c224fb90d67eba3072492ff3f2d263df13ec8c735cabec41956751", + "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", "format": 1 }, { - "name": "tests/integration/targets/nxos_zone_zoneset/vars", + "name": "tests/integration/targets/nxos_devicealias/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/nxos_zone_zoneset/vars/main.yml", + "name": "tests/integration/targets/nxos_devicealias/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "97b10ee26b05c01b328d79887c41479bd2bf559184fb1df4af53645db6e109ba", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/prepare_nxos_tests", + "name": "tests/integration/targets/nxos_devicealias/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/prepare_nxos_tests/meta", + "name": "tests/integration/targets/nxos_devicealias/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/prepare_nxos_tests/meta/main.yaml", + "name": "tests/integration/targets/nxos_devicealias/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "851860fe2ed1258710d7fcf89ac5b7d8c3c87755e89ca56fdd79bea022eb2b92", + "chksum_sha256": "a93b103d12183553437c6808898ac57aa27e80ef5d1547e496e4ce5d5039baa9", "format": 1 }, { - "name": "tests/integration/targets/prepare_nxos_tests/tasks", + "name": "tests/integration/targets/nxos_igmp_interface", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/prepare_nxos_tests/tasks/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8d49ed36175f83090c361ca918f66c751d9a55d3e57ed4097366dda3f04434ff", + "name": "tests/integration/targets/nxos_igmp_interface/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/prepare_nxos_tests/tasks/prepare.yml", + "name": "tests/integration/targets/nxos_igmp_interface/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6dc1745aa3d09766233e4522d935898ecfdf07caf0b7d2a3ab7e20e40bbdc4a5", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/integration/network-integration.requirements.txt", + "name": "tests/integration/targets/nxos_igmp_interface/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "234d0353684f5a41c84eabb03e13539abf602dc0de061a90e129618976b3c106", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/integration/target-prefixes.network", + "name": "tests/integration/targets/nxos_igmp_interface/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1d281d4e38e720eeeee03bdd1df2429947e358ec15ab276b0b29765d99953d63", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/sanity", + "name": "tests/integration/targets/nxos_igmp_interface/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/sanity/ignore-2.10.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "dffc0e474e545fd47798cbc252ee5836ff87b5f4eb0c7dfed83e78c29101d622", - "format": 1 - }, - { - "name": "tests/sanity/ignore-2.11.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "dffc0e474e545fd47798cbc252ee5836ff87b5f4eb0c7dfed83e78c29101d622", - "format": 1 - }, - { - "name": "tests/sanity/ignore-2.12.txt", + "name": "tests/integration/targets/nxos_igmp_interface/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9f183c744ea1c27c189e2d0da7a45ae3fb50f69e4c658e4aa55b023061181518", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/sanity/ignore-2.13.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "935199601f3c767ca623e1a8c6f73032f3cfee0536e4aed1cf5842b157956671", + "name": "tests/integration/targets/nxos_igmp_interface/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/sanity/ignore-2.14.txt", + "name": "tests/integration/targets/nxos_igmp_interface/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "935199601f3c767ca623e1a8c6f73032f3cfee0536e4aed1cf5842b157956671", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/sanity/ignore-2.15.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "935199601f3c767ca623e1a8c6f73032f3cfee0536e4aed1cf5842b157956671", + "name": "tests/integration/targets/nxos_igmp_interface/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/sanity/ignore-2.16.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "935199601f3c767ca623e1a8c6f73032f3cfee0536e4aed1cf5842b157956671", + "name": "tests/integration/targets/nxos_igmp_interface/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/sanity/ignore-2.9.txt", + "name": "tests/integration/targets/nxos_igmp_interface/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "733c84ae4f69f439f10779ae70eacc817f2703dd2e7f1d8a7d4083056d8790aa", + "chksum_sha256": "3f1f412736c7af33d14c2be45d461f6f96778bc221e6abdabdc579247c32d72d", "format": 1 }, { - "name": "tests/unit", + "name": "tests/integration/targets/nxos_pim", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/compat", + "name": "tests/integration/targets/nxos_pim/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/compat/__init__.py", + "name": "tests/integration/targets/nxos_pim/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/unit/compat/mock.py", + "name": "tests/integration/targets/nxos_pim/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d000c79c38a69b736cdc65ac48952cbb7ec574ab2e3b13f81bb213b8381b8f8c", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/unit/compat/unittest.py", + "name": "tests/integration/targets/nxos_pim/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "727203a3846be41893b78a4b77852a1658925e936fb19539551958a5d8e8fb81", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/unit/mock", + "name": "tests/integration/targets/nxos_pim/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/mock/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "tests/unit/mock/loader.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4a016afe1252f4ed74089de5a77c64305a1fb5873aeecdaf695a80203ce5fbcc", - "format": 1 - }, - { - "name": "tests/unit/mock/path.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e6daa1376aa9b171f37dbe2fed6cd37d7b4bacea09e4646953dbe77a7e65ee7c", - "format": 1 - }, - { - "name": "tests/unit/mock/procenv.py", + "name": "tests/integration/targets/nxos_pim/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a1e05e3b412bb02d16ec786919f6395c813a4e10d73ca7ca4d0ffcf5066e6947", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/unit/mock/vault_helper.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3bf7834d18bd34473d0f4b898253177229a131f14364874efba584ff985e4a41", + "name": "tests/integration/targets/nxos_pim/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/mock/yaml_helper.py", + "name": "tests/integration/targets/nxos_pim/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fc4f4d5d2968ced8e3a04653354945d720e7c6369aad67ba7724c5981c82b6ea", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/unit/modules", + "name": "tests/integration/targets/nxos_pim/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network", + "name": "tests/integration/targets/nxos_pim/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_pim/tests/common/sanity.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ab1efb1a3ca7cc688042b32d2d0660eeb0e25ff2bb2c833e9bcdeab5d6a1e0a0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures", + "name": "tests/integration/targets/nxos_vlans", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/cliconf", + "name": "tests/integration/targets/nxos_vlans/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/cliconf/mds", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_vlans/tasks/nxapi.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/cliconf/mds/show_inventory", + "name": "tests/integration/targets/nxos_vlans/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6e57d9cdf30356d92715fcd45fc9fc5e6fd0dc07298682343aef0f9c1c6231d5", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/cliconf/mds/show_version", + "name": "tests/integration/targets/nxos_vlans/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "33cb951f7e55bfc24ba68026e55c250973d49113340d4c86ec5f52d2dfb32198", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/cliconf/nxos", + "name": "tests/integration/targets/nxos_vlans/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/cliconf/nxos/show_inventory", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cb14576378ab0f2fd25d13dd4c4dbc31c3940d65ecb5f2fa29b39eba7e04d7ee", - "format": 1 - }, - { - "name": "tests/unit/modules/network/nxos/fixtures/cliconf/nxos/show_version", + "name": "tests/integration/targets/nxos_vlans/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "12c7c1c28fcd05fced589995a39f0a1389d970f6199fadcbf95543da330feb22", + "chksum_sha256": "ec4fa30fc4a7b9e002d1c7b3932286ace72ba36e4f532e2cc79f49d07e0794c3", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl", + "name": "tests/integration/targets/nxos_vlans/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl/__init__.py", + "name": "tests/integration/targets/nxos_vlans/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl/show_ip_access-list.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "61de402089db40d19ac51c2e8a52894c45d9002156027c09ab17d0cc3fea635d", + "name": "tests/integration/targets/nxos_vlans/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl_interface", + "name": "tests/integration/targets/nxos_vlans/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl_interface/__init__.py", + "name": "tests/integration/targets/nxos_vlans/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "9d0b9b581e3e45b412907eecbc4ba5ad1632595e8cb58f397365287ce091bee0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl_interface/show_running-config_aclmgr.txt", + "name": "tests/integration/targets/nxos_vlans/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "606d5b49ef095558924b32c6faa4e06f128f4655dddd57595e945cd33a4dbe72", - "format": 1 - }, - { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "e2964f468cfe2c92dbee0504a71845636d76ff4e079dd07ad7f8656cba328221", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl_interfaces/__init__.py", + "name": "tests/integration/targets/nxos_vlans/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "87888ec93930b5630192fd9f60d931700a43910cfe6a3d092b04099ac88eb612", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_acl_interfaces/nxos_acl_interfaces.cfg", + "name": "tests/integration/targets/nxos_vlans/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "764024b1837b2491a2e87e60ba305df48bc64541f6caf244fe4eea63653ee340", - "format": 1 - }, - { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_bfd_global", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "69cfb989d7be0b980e8fc3eb9d33154c66e2cde5df1a9f8b17b1ea0894879212", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_bfd_global/N7K.cfg", + "name": "tests/integration/targets/nxos_vlans/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "406c13868678145de8fa80ab6540d805084b62c191a928a466fd44e6e59ccd78", + "chksum_sha256": "65b9276bee903c86af57ed5a6afee1d84461bf6c7bf3a3cf95aa8369e0c7df57", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_bfd_global/N9K.cfg", + "name": "tests/integration/targets/nxos_vlans/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9089fae22c9d5b25f815c43f8de1b95041c2fd012d721e29e009e47f64fa66ff", + "chksum_sha256": "6f9623efb3904d185246e618c1cb0726553a5556941e5c2e91b7c9025de0e89c", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_bfd_global/__init__.py", + "name": "tests/integration/targets/nxos_vlans/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "c70b2b7642402aeef4772a4a8cc7b7abde208bfedd65fbdcf95231b2ab5a74db", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_bgp", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_vlans/tests/common/_populate_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0fef283f3a139da74d869920dfc1b12b127b20e505c060d30b893d457ea980bc", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_bgp/__init__.py", + "name": "tests/integration/targets/nxos_vlans/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "1f1efb47f41f82d4be94cca66acf388791ed71b63f1f3897f769f7e4110f1be6", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_bgp/config.cfg", + "name": "tests/integration/targets/nxos_vlans/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f971230c61be923533c3ea1eb63e9938cdf701f3884d511105d551d7ee531554", + "chksum_sha256": "fe16be9cd5316c7526ea489bad81d693f40c2f2351c01f60a4074802f208164e", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_bgp/config_32_bits_as.cfg", + "name": "tests/integration/targets/nxos_vlans/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "deed874c21f6472915657eed44c550ff438995b132d365fedb8b94deb510c856", + "chksum_sha256": "5745013bf8f6e23f513cea1bb8878e4ca80ba61a331a5a5d2a7097673b786ed2", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_command", + "name": "tests/integration/targets/nxos_vlans/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_command/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_command/show_version.txt", + "name": "tests/integration/targets/nxos_vlans/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c45a343dc5192f50ef68b6bebee3da8cb980be9ec3cd5b75b00a20658fde6748", + "chksum_sha256": "9d00aff551522b3a0a61d5ba2b38944de36985bd3353dc67987d76d650ccbea3", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_config", + "name": "tests/integration/targets/nxos_vlans/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_config/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_config/candidate.cfg", + "name": "tests/integration/targets/nxos_vlans/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3352c8002ead9454c96fa97e82bc2bf245ac57a69edbf8a934bed4ef809de3de", + "chksum_sha256": "fd3723c027909807b1d6ef73222d5bfc96f98c680a9f86f3e89c0366bdd22116", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_config/config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "03abdcaedc2f739a12fd1c31f37164f02ed471aff024ad8e654a0d7ec3e611e6", + "name": "tests/integration/targets/nxos_acl_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_devicealias", + "name": "tests/integration/targets/nxos_acl_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_devicealias/__init__.py", + "name": "tests/integration/targets/nxos_acl_interfaces/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "280d285e1a9b531b25d8b880d3a032933d7135004c4658b7f1eb4872c60cc666", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_devicealias/shdadatabse.cfg", + "name": "tests/integration/targets/nxos_acl_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2e912812c9084c8676a32afd1e2522f00bfd75d164fbb86113f01a88f164ebb8", + "chksum_sha256": "7be6dc51b2f6fb5601e0d7f3498991d34f0910206fe6ed537217c8eba86a3cf5", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_devicealias/shdastatus.cfg", + "name": "tests/integration/targets/nxos_acl_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5426bfb2d55edf2003ff250d0730cf4ea9ace4f44da02ce6664ed3bc77c7867d", + "chksum_sha256": "c57c3ff656bb8daf9febb3c7a7bff934b952d1ccb83604d93e23ccfc3ea88724", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_devicealias/shdastatus_mansi.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b47fe27d3b8f630988803930db4eb009b8ef93e5f7838e4d3a49adf1859d43f5", + "name": "tests/integration/targets/nxos_acl_interfaces/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_devicealias/shdastatuslock.cfg", + "name": "tests/integration/targets/nxos_acl_interfaces/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ba24a69173bd06b6a025d176427b5619878da807c2a2b8a42aced27ac16d607c", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_evpn_global", + "name": "tests/integration/targets/nxos_acl_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_evpn_global/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_evpn_global/configured.cfg", + "name": "tests/integration/targets/nxos_acl_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "53ca3e78de8cd1b9ec6e040ece7bec23ea29663d1eebd1aed66a2980e832dc19", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_evpn_global/unconfigured.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "84f47e5f6bde50931928544ec35970db216f2bffd80cff2d7b7350903d86a5c1", + "name": "tests/integration/targets/nxos_acl_interfaces/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_feature", + "name": "tests/integration/targets/nxos_acl_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_feature/__init__.py", + "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "4a810ecec7ad98918852e116b1723828e387fe649b66384bcce7ac7eeda9a3c3", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_feature/show_feature.txt", + "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d7be73f626f2d19d384bda2c214b58505da78232c84a1b5c971495510e950db8", + "chksum_sha256": "ff18091eda8eab8839ce8b146409c956a16da2af0d78204879e2a0d844835c46", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_feature/show_feature_mds.txt", + "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/parsed.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aca22131f56ec81f704e0b11d93c03bec037cd2b33a9964143b8c7bf53fa7878", - "format": 1 - }, - { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "ac628812931497d1846e45df02f6c9fc4ba4b8d61fba9a559793b8b217e08484", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface/__init__.py", + "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/empty_config.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "46c8e8809399bcd1bdfe1242e346ac1c340668e32fdbfcba0cfe6a4ad9ff6f4d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface/show_interface", + "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/gathered.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3152065a242771a7e158ce7a8a6da2f5e62f0a35807389d62d0b927830d2ab04", + "chksum_sha256": "698995afdf69835fb4ba540353a3e4f213d7954d21073c0cc754b1787cd05231", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface/show_interface_Ethernet2_1", + "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/merged.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "de922c7abca31dbb4d597cc485a02b9affe0c85fbaf1d268b15d38d8fe6ba069", + "chksum_sha256": "8eae4ac211ea7861be4677520f4962046223747c3f400208cad64b245998d0df", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface/show_interface_loopback0", + "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/replaced.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "155aa10a15be7eea0049eb7035993970089c76ee53bcd152999c6055e8586aa1", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface/show_run_interface_Ethernet2_1", + "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/populate_acl.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6fda3eb0c249234e367f3e6d981a9957902f3443ff892ee35c3fbb87f8b2760b", + "chksum_sha256": "d44542c7c93f7edcef7326941f254a969cc90fca962286a98a576a1979064cd0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface/show_run_interface_loopback0", + "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/deleted.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "3c80a977c86fd76c2bbf06ab9878e383170afc5cba3f336e2d4f8ca2de3500fa", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface_ospf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/rtt.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "96d777b4974044947557f7ae5f9400640b0376086e15759c8dd8befb6a65d4b2", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface_ospf/__init__.py", + "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/overridden.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "603d8a6ba49dd33261b0c7a152e55df28f2c3e10f09e9ec0f3eebde8d6c5c7ad", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_interface_ospf/config.cfg", + "name": "tests/integration/targets/nxos_acl_interfaces/tests/common/rendered.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5251c622e0f68d8c94e0215bd6a9f8c5d7ab755fc8879ceff8a9cac9b09caf9c", + "chksum_sha256": "9ab726e93c94df77ac9671e7dfa0b8c89104ea4333e25b56f04830f9bda81942", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_l3_interface", + "name": "tests/integration/targets/nxos_acl_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_l3_interface/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut", + "name": "tests/integration/targets/nxos_acl_interfaces/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96a17611067db53f8bdee41ec48055b8ec808b2968d4f3dd784dfae1d6d85d4e", + "chksum_sha256": "6a97fa118eda919bd0c4d9b45fbacbb04ef221e6d264073eda5612e7b57228c9", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut_ipv4_ipv6", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9b65b76df737c6da986a8850a5874d6f6733c26b8209c778d7d861ce0b5cb894", + "name": "tests/integration/targets/nxos_acl_interfaces/templates", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_l3_interface/ethernet_noshut_multiple_ipv6", + "name": "tests/integration/targets/nxos_acl_interfaces/templates/populate_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "93f0654869c15b0670ae97f78615662b35f5f3aefccfb3c1e2e463ae3759a6d0", + "chksum_sha256": "6dd477232ff3b52e84f25f81712afb11874700566d9c52d923c012ad1d770cf0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi", + "name": "tests/integration/targets/nxos_bgp_address_family", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/n3k", + "name": "tests/integration/targets/nxos_bgp_address_family/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/n3k/__init__.py", + "name": "tests/integration/targets/nxos_bgp_address_family/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "adcabdbc005b34ef70ef70c9a7a3b0bfc9b94ff93d2f3ea18bf1f19fbc2d2201", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/n3k/show_run_all", + "name": "tests/integration/targets/nxos_bgp_address_family/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "db42fd8881e10bf436a6712d228152f2ca6e627e0aa07531751009df2153fc3d", - "format": 1 - }, - { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/n7k", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "918e266fd84500fc8a9d7958437789683bd47b7875371afaf4941b60f4594bc7", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/n7k/__init__.py", + "name": "tests/integration/targets/nxos_bgp_address_family/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "82e7cf4c490409760e85c9516e174b27c8d67fb419e829353d94c4d022016245", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/n7k/show_run_all", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0f487063d9698ed988f461a0f1d90be2406db893a1881d162720dd0587a0ddd9", + "name": "tests/integration/targets/nxos_bgp_address_family/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_nxapi/__init__.py", + "name": "tests/integration/targets/nxos_bgp_address_family/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "f52d711103d50a437830c6fbcd04fb4bab49a0f82f6d26d1c791c6e8488dd090", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim", + "name": "tests/integration/targets/nxos_bgp_address_family/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim/__init__.py", + "name": "tests/integration/targets/nxos_bgp_address_family/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "7d754db246e92eda93bade9b741e09afdc7c5ba2754a4ea5d874f92a479b65d0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim/config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c0c10e6761048c3f05f7143dc844703c76c41ed38e9f0175479874c183cef2ac", + "name": "tests/integration/targets/nxos_bgp_address_family/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_interface", + "name": "tests/integration/targets/nxos_bgp_address_family/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_interface/__init__.py", + "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "c07047642c717ad5e564697143a11e7cc93a18376d91ee56dc5f44f3d19e22b5", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_interface/config.cfg", + "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "25600ba56e8e7066889af660ff87eb22aec3ce587ad60c1a7eca25c627064a5c", + "chksum_sha256": "e76deb0ccd6d015af64ec4b54fc1da88ccf401b0aa373bda8d4cfabd23b9b1d9", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_interface/sh_run_interface_eth2_1_all", + "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "0aefe84d03b67ec239027816ac3522c7b7cfabac56bd979c781c74cab4b01955", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_interface/show_interface_eth2_1", + "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "de922c7abca31dbb4d597cc485a02b9affe0c85fbaf1d268b15d38d8fe6ba069", + "chksum_sha256": "fed0782bb5669d310ba18f8a49c51be3b1c8b16b0951f388e2280ed4a1769b50", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_interface/show_ip_pim_interface_eth2_1", + "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "88ad9b709dae48e373fcf04c158d6714de1f94e808fa033204d3b7b4e48bf8bb", - "format": 1 - }, - { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_rp_address", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "a6f21fe892ff7e532f40e0d7ecb6bba83f26bb1765ac4177b453d85f896dc633", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_rp_address/__init__.py", + "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "ba2591fcb1bd54b023d7d45818463cb4d7efb6c7a918133129505ab24d3c9b7d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_pim_rp_address/config.cfg", + "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "358b10ada00b4a323c671eaa193bc4c62bfa6e6600042382003a8efe5708bddf", + "chksum_sha256": "4ad5b3d3c16b81ea4fcf40639099f5191577136f0cf3ff4970ed630d8248ec66", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_switchport", + "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_switchport/__init__.py", + "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "f6189829f4b10872e4553b8c55db04c742cca9c7598d067ddb3eea05e0ab2f0d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_switchport/show_interface_ethernet", + "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3eba930c712f346d62428fc829d411a3c7f3b32d00ac0b54bee3e25f5a239876", + "chksum_sha256": "0a2cbefd9d104a0f9e0370a13ed7e87feb1e74175d922f33d786e604e775a498", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_switchport/show_interface_ethernet_switchport", + "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8b266354ff8d44bc8987e97565cba41afedb2fbe282c577c8d371516e84d01bc", + "chksum_sha256": "29d4c709454554edeef9e3a0e394a93ff71200d5ae09e04d855d8edcedc24549", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_switchport/show_vlan", + "name": "tests/integration/targets/nxos_bgp_address_family/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "864e06b1e9befc20919e723ee5f9bcb2f51a88e524e8ce8e112ac9ec12bf38fc", - "format": 1 - }, - { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_system", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "7121942f388ee7ab8d2484101d1a980b1d666be25f8388c6f00438f36a99736d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_system/vrf_only", + "name": "tests/integration/targets/nxos_bgp_address_family/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_system/vrf_only/config.cfg", + "name": "tests/integration/targets/nxos_bgp_address_family/vars/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "78c6c60ac86950ccc102c733222dc40ca42ae78622fecbee3af27f61bb015adb", + "chksum_sha256": "528513c35a708d559281b5758e5c998565f110acf10803504b3cdbf2accf1988", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_system/config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c65fd0fea85d4421908dcb50a8778a562d62c2723ccb10520cb9c62c57f32977", + "name": "tests/integration/targets/nxos_snapshot", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_telemetry", + "name": "tests/integration/targets/nxos_snapshot/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_telemetry/N9K.cfg", + "name": "tests/integration/targets/nxos_snapshot/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8d4c2bff81ce036402bf1bfc5a01191ead2507ea6deb7e7d4930ceb35965b1e5", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_telemetry/N9K_SGs.cfg", + "name": "tests/integration/targets/nxos_snapshot/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "af042e9ae8d0a2e6b6ddc28f13ce438e7b49050385ca546bdb5f1a1b51c1da1e", + "chksum_sha256": "a4138a366efebe8659a4237d00d38110163d05b728a38c3514dce547a6d16a9d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_telemetry/__init__.py", + "name": "tests/integration/targets/nxos_snapshot/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlan", + "name": "tests/integration/targets/nxos_snapshot/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlan/__init__.py", + "name": "tests/integration/targets/nxos_snapshot/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlan/agg_show_vlan_brief.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a6ad270b50167f7b13c3e7f40f83ebc812ceb7ef7d3455c0ce7b404ede9d6238", + "name": "tests/integration/targets/nxos_snapshot/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlan/config.cfg", + "name": "tests/integration/targets/nxos_snapshot/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4cd4cba4fba8bd0ceca02c0cea325b38c65d82a1b01633f59776902dfc00010c", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlan/show_vlan_brief.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c60b1775765492c72f6cf744aa56574aeea9b6c57ac19c974ebc73146cf4920a", + "name": "tests/integration/targets/nxos_snapshot/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlans", + "name": "tests/integration/targets/nxos_snapshot/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlans/__init__.py", + "name": "tests/integration/targets/nxos_snapshot/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "171022870f501d3dcb8c73978ee34038cb5e65c32786bbabc9f638c9ae04be4d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlans/show_running-config", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6b793f9fc0770084b8babcdd914c4c42b2d1d3256be53d0cba3a78c19a616dec", + "name": "tests/integration/targets/nxos_snmp_traps", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlans/show_running-config_no_facts", + "name": "tests/integration/targets/nxos_snmp_traps/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/nxos_snmp_traps/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "783b64a65f752ecfbf2ab084cb164df5d5a818d3dc9980856037a47853bcbfd8", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlans/show_vlan", + "name": "tests/integration/targets/nxos_snmp_traps/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6ac358cca25afd3bbc1aa11515f5e31ea9d548abdbcdf0563949e446d76f0c3c", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vlans/show_vlan_no_facts", + "name": "tests/integration/targets/nxos_snmp_traps/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ca3d163bab055381827226140568f3bef7eaac187cebd76878e0b63e9e442356", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc", + "name": "tests/integration/targets/nxos_snmp_traps/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/show_vpc", + "name": "tests/integration/targets/nxos_snmp_traps/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4876569ce50a9bb5a00412d9e0e3bd17aed2d739613b28796c3224ae5397b705", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/show_vrf_all", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a690233a51aeef35190bd4fd440a65fd819bc0153ea20b1b362c25392329e04c", + "name": "tests/integration/targets/nxos_snmp_traps/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_hardware", + "name": "tests/integration/targets/nxos_snmp_traps/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cf21f74cb2df54e19dae270c2b973eea492c3d9925ad7a1b8b59ff9f0e575287", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_inventory", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3d501010723eb3675a96a954862a0210ac023095947f8e09ea951e15faa96545", + "name": "tests/integration/targets/nxos_snmp_traps/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_vpc", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d5e079e4fa7499d1ee8e1f0ef98ba4908b5abe9bb146f2d07909c5e139940ff7", + "name": "tests/integration/targets/nxos_snmp_traps/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/vrf_test_show_vrf_all", + "name": "tests/integration/targets/nxos_snmp_traps/tests/common/sanity.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f9b34cc87b238b789fa2c54dd008597f37aa0a859cf06c25e5ce60aefdd0ed12", + "chksum_sha256": "05f0dab9e4ec9f1e7c2800b2027b212b293b7f81a6a5a5645ded7d94b353e09f", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc/vrf_test_vpc_config", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f68fa10ece2a3162e69d8bc6ae207437f76b07a956782d6637214ae088346557", + "name": "tests/integration/targets/nxos_snmp_host", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc_interface", + "name": "tests/integration/targets/nxos_snmp_host/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc_interface/__init__.py", + "name": "tests/integration/targets/nxos_snmp_host/tasks/nxapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "228491b275c71b123f5bbb1dbac0093d55bd77f2a291bec15d452b489ef1674d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc_interface/show_port-channel_summary", + "name": "tests/integration/targets/nxos_snmp_host/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bc24581fc9c635989ae2926270c03c4c85c642b768f6685cff7cfdcd924e70f6", + "chksum_sha256": "bb83a5490c188c20d9a8632bdb13043146a87d5dfc555cd2e389ee30885bf7ca", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vpc_interface/show_vpc_brief", + "name": "tests/integration/targets/nxos_snmp_host/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1901ac7c063992cfcebb4ba110637bc241aa0fb122959d9af40be8957b47bf54", + "chksum_sha256": "44ac0ca4032d1756f572a45038a7dfbf52c9ba9762815aa3a900b7c425036120", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf", + "name": "tests/integration/targets/nxos_snmp_host/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/__init__.py", + "name": "tests/integration/targets/nxos_snmp_host/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "306ef26bd70b58285bef6b50a83c64b26b9077181c6823ef20ac63252373d5de", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_run_all", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f2a24625313932312f1d5e1c1d2c3935f99e5ab28880315c7dd39698df72daf8", + "name": "tests/integration/targets/nxos_snmp_host/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_vrf_default", + "name": "tests/integration/targets/nxos_snmp_host/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_vrf_default_interface", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "name": "tests/integration/targets/nxos_snmp_host/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_vrf_management", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ca2359ed30a431281f356f0bb15f8bc2abb7169e21a6022034d8a4411fc413f6", + "name": "tests/integration/targets/nxos_snmp_host/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_vrf_management_interface", + "name": "tests/integration/targets/nxos_snmp_host/tests/common/sanity_snmp_v2_inform.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "54b2c813dda14d97a1eef23c8a3b3ff2bdc194b60ec4cf15d7f6e0068802afa5", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_vrf_ntc", + "name": "tests/integration/targets/nxos_snmp_host/tests/common/sanity_snmp_v3_trap.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "1e10b5c9c01f39edff0f76171c81720d458aca5775d0f5f97f20bd2e6c21f57f", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf/show_vrf_ntc_interface", + "name": "tests/integration/targets/nxos_snmp_host/tests/common/sanity_snmp_v1_trap.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "aa6a8b70ec63534db6d01bad4ccb22de07cf1d7c0c65b148a02474964d1a4e72", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf_af", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/nxos_snmp_host/tests/common/sanity_snmp_v3_inform.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0156bedc287881d6d9d767fd9720c5821708b9ad3c9c217c5c4b1df0a72a6891", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf_af/__init__.py", + "name": "tests/integration/target-prefixes.network", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "1d281d4e38e720eeeee03bdd1df2429947e358ec15ab276b0b29765d99953d63", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vrf_af/config.cfg", + "name": "tests/.gitignore", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a11a202b4b688d09c6b7cb78a74d139f2b599c85973dd068b1ec18892926cbf4", + "chksum_sha256": "b5726d3ec9335a09c124469eca039523847a6b0f08a083efaefd002b83326600", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vsan", + "name": "docs", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vsan/__init__.py", + "name": "docs/cisco.nxos.nxos_vrf_af_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "505afd306e1f21c5940397a50a876c3a2413e197d166db33f9196dfc1b9cb677", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vsan/shvsan.cfg", + "name": "docs/cisco.nxos.nxos_user_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "63e5ef2ff7dfbb786b21f77d0e047b16a5af1477901433189032c59f0d2e4988", + "chksum_sha256": "d655e1b47fea4edf25adb1fdd20fa7191ef114caaa31d5ce1c2b9edf46b1c63c", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vsan/shvsanmem.cfg", + "name": "docs/cisco.nxos.nxos_pim_rp_address_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "91b604b4bdd22922dfbfb776dc40a760428806a2f845e8c9e76d42beef14bbb8", + "chksum_sha256": "94630c630affe8dedd940b41d0fcdab02712ade527964334956ca5698280d13d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vxlan_vtep", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "docs/cisco.nxos.nxos_system_module.rst", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2c8e2849fa4d54b78f6e1d87d2ce57d052b37b75b8ac2739b62ad111e326b617", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vxlan_vtep/__init__.py", + "name": "docs/cisco.nxos.nxos_ntp_options_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "adeee3c976eeaec6027d4327f520832708c6ecdffabfd321a854c8b6b821e07b", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vxlan_vtep/config.cfg", + "name": "docs/cisco.nxos.nxos_evpn_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cea4ee76cbd062bd53302a5c1f37bc78584c8677950c99eb145c106a8852b278", + "chksum_sha256": "993ea85ff1bf02311f55646f0c5dcadc2d216a2819b7902f43470a645d1b90d7", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vxlan_vtep_vni", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "docs/cisco.nxos.nxos_aaa_server_module.rst", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ae7d06f89fb79b0ff5b7dbb41b289db70e8c602a08c1baac5b059adc72775665", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vxlan_vtep_vni/__init__.py", + "name": "docs/cisco.nxos.nxos_config_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "c973074149659b0f0130eaf0a7339a039cd5d496f13cfbb4e51c59d0af957096", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_vxlan_vtep_vni/config.cfg", + "name": "docs/cisco.nxos.nxos_aaa_server_host_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9676910539593a9a50989e688d7848de6074092a58e720ebbb437fa02859bd5f", + "chksum_sha256": "e8d1dc8303a82ca59e70c37d6852f8dd1ba6b002e896a9f4f2182148a6944ef7", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "docs/cisco.nxos.nxos_pim_interface_module.rst", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b7fa1c8e28a128af94059b3d66e3e40c97e7d748a858ff74e77a0e313641c3ff", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/__init__.py", + "name": "docs/cisco.nxos.nxos_fc_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cd8685843982e7d823622c7c11bbb1fa2bc89409a7759f943a649c39540841d6", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/show_zone_status_vsan.out", + "name": "docs/cisco.nxos.nxos_httpapi.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "42ca86dc445e87a4cba4d08cbd217173af42f60181eb44017d852837c17e9a47", + "chksum_sha256": "eb7f6fd0b46ad4b478746f0518b8d443e541f44ba8d77f999a42a760671ea015", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/show_zone_vsan.out", + "name": "docs/cisco.nxos.nxos_overlay_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74aee6c5327fabe2de027ca0907e76be2628510e125976c8918575bbf09ea703", + "chksum_sha256": "c8362ed52554894dd979a332e946ede7fa0834c17d8980a08a282320a2a18391", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/show_zoneset_active_vsan.out", + "name": "docs/cisco.nxos.nxos_lacp_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eef09bfcfaae85faa6c0b10f2ac4207c73947496c77783c7aa6bac45a9d02d3a", + "chksum_sha256": "bf3920fe2dbbd42f322d4a0f4dd23c875d01f6a5545dbc648ae5ae3aa62320de", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/show_zoneset_vsan.out", + "name": "docs/cisco.nxos.nxos_ntp_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fc71e64aa30f5e4da11b419ac36c9b36cae8057bd8bef47b2da5bc293ebaaebb", + "chksum_sha256": "7a21e1c58d9ce02be1cfa7699138e3008ec4bef1aacbd137d142b22caafc7af0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_0.cfg", + "name": "docs/cisco.nxos.nxos_vrrp_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "13fa7bba46e2967e5c1bc2254620c4cd5337daab92a23d8aa6d6dec1ea7905ae", + "chksum_sha256": "26a52da59610c540242b40091c3fc689cf5b1672a4f36084202ebba38f5589e0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_1.cfg", + "name": "docs/cisco.nxos.nxos_gir_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "abb9d2504120327f0b55c36a6c130c9180a0f455ae397737ecfaaa4e6f891ef5", + "chksum_sha256": "2969b2a880bc98f5272720086059bc55d861fc1ce00c8854c75aa061ba3aa8bf", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_2.cfg", + "name": "docs/cisco.nxos.nxos_bgp_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6e109ddbe7ad8d251edbe3ebe5bf960c055ac9a1d3d5bc3865596bf0d65d83a5", + "chksum_sha256": "b21cb51d17f350ce70cf1731fca38c9a502e4b0b35c275a0214c976b9c0ce2c9", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzone_bug339.cfg", + "name": "docs/cisco.nxos.nxos_file_copy_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6c45bdddc81417a51bdb8256cc024efef8d8cf432083297902ef8fcda9850703", + "chksum_sha256": "c38e717848ddfc093b17245d08c45e6beda5d7b1c263453ef0a43171d5008f47", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_0.cfg", + "name": "docs/cisco.nxos.nxos_l2_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cae1aca46b8d82f44a8f728182fafd1030040360725fb7367040392c1d52c018", + "chksum_sha256": "0f0b13631588f0c4e04951537a83c446d484cc89ea73b5f3cb7472518f9524ef", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_1.cfg", + "name": "docs/cisco.nxos.nxos_vtp_domain_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bcdd326b9710f2b1f56ac59ed3bdccaa6e853cfb24af1445743d3254ce458166", + "chksum_sha256": "18a52103976ba1d930a98e0e7fa45de34d95a86ca222e59b0ffc9629585cdf6a", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzoneset_2.cfg", + "name": "docs/cisco.nxos.nxos_nxapi_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "08f7f3dc2d44ed61e7002bc417cea69f8407d7f4b0a62634c1f449f5338f7384", + "chksum_sha256": "7e1d3a6d1f0ab8c170068321f77ab36c1161892773c9efa90dfff711664bfdb3", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonesetactive_0.cfg", + "name": "docs/cisco.nxos.nxos_ospfv2_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1836db8862dd990ea4008e3c10d16d7a5563561ac27a8f846f2d2bfee8d805f0", + "chksum_sha256": "302ee60d5fd7f5ab60ba47c4e55e45c094002dfd3203119bef8fcd7a2a030d3d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_0.cfg", + "name": "docs/cisco.nxos.nxos_telemetry_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "010172dc57589c93d51b95aa50feecbda06ee706fd623422a088de23ccc9e723", + "chksum_sha256": "2461b4210c818c4300ebd11916a38e830c129d01b644c205846e90a3e1e470c9", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_1.cfg", + "name": "docs/cisco.nxos.nxos_lldp_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "46c16cd03a600d15085abf2052ed33830fed61424a02004021ce4dd82f0086e2", + "chksum_sha256": "d351b81a44cbdf2e64c1c745af9cdd81b1a6ed89bc5b1e5d960b199a818c23c0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_2.cfg", + "name": "docs/cisco.nxos.nxos_snmp_community_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "171f743817a7ffe74398b6d78a0600ec0126dc2fe0890694a62eb6db89225a58", + "chksum_sha256": "273905bc36e919c6f348d146018b77d4b028457714b0f3b4b2fad6a078680fe7", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_3.cfg", + "name": "docs/cisco.nxos.nxos_igmp_interface_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3fee2a63052400d50f93de5abc0dfd7897a48269d71af99f53182139461c3bb0", + "chksum_sha256": "1e6eb10d1c630069ea01a42ae07b033d7c7b5aa72fa3a758a74805dc59b6688a", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_zone_zoneset/shzonestatus_4.cfg", + "name": "docs/cisco.nxos.nxos_vtp_password_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5005380753639cd3afd7e1b4ed90452d5d9492bb05c0852563009949e285db0e", + "chksum_sha256": "aba8c49ea83acf4e1ad8de779ebc06e21940537ce459b53bcfbdabdf72dacd06", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/__init__.py", + "name": "docs/cisco.nxos.nxos_snmp_user_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "0ebfbf6a1bdda73a9f3e5943dc33bbb38d636865ab213c2e79501baca180a6ef", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/_nxos_ip_interface.cfg", + "name": "docs/cisco.nxos.nxos_evpn_vni_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ce28d8e36e6ed0776c23f9d57050b68a3dd4cace82f8d3909de89bf98c2b3401", + "chksum_sha256": "7ab07a1a0137a0b43f2fee0160fff6af516646ec848a811a1a46e012c00cefbb", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_evpn_vni_config.cfg", + "name": "docs/cisco.nxos.nxos_ping_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f12c0f2a38e284dde284dd4042cda86d71671289619456a3438a58f88ab929e7", + "chksum_sha256": "74122faa018ba84c3628abadef990f3888d58a72897d4b56ec41882348a12141", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_overlay_global_config.cfg", + "name": "docs/cisco.nxos.nxos_snmp_server_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aeb566110f15e114259185610a7e1a17ba8a4a8380f590120292eceab885bccd", + "chksum_sha256": "2dfc1bc683bd7bd38223bf73283e1680999597e4bbef9f73a3a93f829e1e9bce", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/fixtures/nxos_static_route.cfg", + "name": "docs/cisco.nxos.nxos_hsrp_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8787db2297394f70dfa9ea3550d604fcaef84c40d973c498b147d346422b8585", + "chksum_sha256": "41fd5b3b6c57a33c8ce81d03798b35d598496b89d13327c18dfe27dedaf99ae4", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/storage", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "docs/cisco.nxos.nxos_snmp_contact_module.rst", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cbb715723ead144ae09062bf77f7f4a73e4a5035a81a7ecec925b00410e8579b", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/storage/__init__.py", + "name": "docs/cisco.nxos.nxos_facts_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "bd70b6a7af989f66c15280934d332c07b93afcc7b1e106ea41ff3157ccd66f7f", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/storage/test_nxos_devicealias.py", + "name": "docs/cisco.nxos.nxos_install_os_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "51192cc17c5aa42a02607cdeb8246328ab057fed9d63aaa1947ad0031d0ecece", + "chksum_sha256": "60aba080258dbcb6a750738a28130c662db2bdb378f5a9301974d1b35eb559a0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/storage/test_nxos_vsan.py", + "name": "docs/cisco.nxos.nxos_snapshot_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f01f13bcabe9a4b354c4b4f781d38d13509e8b2d1f9f2cd766bcc7237a82a305", + "chksum_sha256": "a0e3fad000d677b7f24bf64090f02742004a9cf100306a97f51aff9594fe8d9f", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/storage/test_nxos_zone_zoneset.py", + "name": "docs/cisco.nxos.nxos_igmp_snooping_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5cd9bdecee9de610ab4268db5384d1d681b63978ea9b2fef477b09bc0aec4f5c", + "chksum_sha256": "a31b9e7cac6c66069bc1b9a46fbf4f3e778fec3cdbdb55f4b6d672abeaf7d795", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/__init__.py", + "name": "docs/cisco.nxos.nxos_ospf_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "14b703fc053e0bb1480660ba83c421a75d064f6ccc5b036d614cd9fb260045a0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/nxos_module.py", + "name": "docs/cisco.nxos.nxos_igmp_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0d1a4eadc6d91ab91db07ea6ac3a5576e417f1339c1520079de065451b87fd3c", + "chksum_sha256": "9f12f1c5cb360aa1634964c6343e14141cfce7fc49e37e0062c2957b20459399", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos.py", + "name": "docs/cisco.nxos.nxos_bgp_address_family_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "37e6224e4f77205d58782bae0080a5af3da05610062f7b378f38554ee7514de1", + "chksum_sha256": "6110c639e4f6c1ecbf4b26eae3c5cee417711f047ef02b28ac30a6d802fd5152", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_acl_interfaces.py", + "name": "docs/cisco.nxos.nxos_vrf_interface_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3682b5a6e62c35584ca486d95f112ad99c2551e3fb5913ee3509f4682397566", + "chksum_sha256": "64296c4de9145ceec2a49e4f09b2573fd163bbe33247b395769cb6833cdd16ba", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_acls.py", + "name": "docs/cisco.nxos.nxos_vpc_interface_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b64194e0e83e58f49a78558a1759f3bfb1de11152a2f5e0e34ad18ece0ccdd08", + "chksum_sha256": "941e607951f2fe1347329a6f68d9303ff04fcebedfd0792fe5ab181625e120d3", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_banner.py", + "name": "docs/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5e68392d403e4440a3e85556a968abce1e85ae58dfadf487bbd25f9c26c6095", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_bfd_global.py", + "name": "docs/cisco.nxos.nxos_static_routes_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6810dbdbe6eca1cb36fe8b377e9a51e7d4604a019db7ec3f1d7c44f8ad53bceb", + "chksum_sha256": "321573507ba209d6e730e742919ab4a4dd106bb60fbc63e34cf974b9868890b5", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_bfd_interfaces.py", + "name": "docs/cisco.nxos.nxos_vlans_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dcb920f198f159f4c9c043913dcbb346ee07cc5c5524f747f064b09c5d25f1eb", + "chksum_sha256": "92873fb2eb3e2513027457a149812b55bcdb3bc05a488ff1eb448a97fcc45be0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_bgp.py", + "name": "docs/cisco.nxos.nxos_rpm_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ebcc5ed504ef35b3698c7d53b84aa7101c820199d4d98778086a5b5ae55feaaa", + "chksum_sha256": "e928284ecee7ed27ef75a660db2e02900d8de4cf0d255bfd31a819f4e2abe036", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_bgp_address_family.py", + "name": "docs/cisco.nxos.nxos_lldp_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f7060edef96542abbf9e9eefd25477e5599dfb63c1e5360e6c8eeb9d3cda9bb6", + "chksum_sha256": "6994ab2f365796541f268d6d3051e4a192e2b911495e12342d6d3cad12016f2b", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_bgp_af.py", + "name": "docs/cisco.nxos.nxos_gir_profile_management_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "590e018257b147cdae9140645aaba3abdd1c4ec0e87a74e3a99ad13a471af3e5", + "chksum_sha256": "a61bb74ddc282c53b69e51c4b4cbad0edbe362819e4bc3e823fb2dc892052418", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_bgp_global.py", + "name": "docs/cisco.nxos.nxos_acl_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d70faa5e943af5e5ccb7a8c86877ffb51f7926c0bebe7a80335cac5f37428e54", + "chksum_sha256": "274afa56a270c6d4b216af200a3bde7d6b964f281fe641ef4e5b0eeacb27c844", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_bgp_neighbor.py", + "name": "docs/cisco.nxos.nxos_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "525ddbe56db747d1a53bfa7c17ef34b6f12cf82a4e5a724896055a4dcfb4cd46", + "chksum_sha256": "ccbb66492488e26ebf3982743505a0b9fadaa7c6a63adf3d93190064d6419669", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_bgp_neighbor_address_family.py", + "name": "docs/cisco.nxos.nxos_snmp_location_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cfc21118af4964b1416fc3a7019bd509fb45be2baba7e497c1e9c45d63e04776", + "chksum_sha256": "321530eb77aa27eecab0eb6090a189eee7b9a7431cc94750c1f0f38718058d4d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_bgp_neighbor_af.py", + "name": "docs/cisco.nxos.nxos_devicealias_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a862eef471e1a85e0975342183b704d217a07041aef713deb6650eed0935dd8d", + "chksum_sha256": "4b7ad5d619f577089e5a87b5b628c6c869bd4adf86eb8e8c547b491154361dc6", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_command.py", + "name": "docs/cisco.nxos.nxos_udld_interface_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "339e1cb26b204a937d7ea377d020cf220ba8a7fb5cedcde9a6e5c20ff9d26087", + "chksum_sha256": "7786920d50729a8a8a73a20bcd0d4296af8095f52590076177511dc0c696dda5", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_config.py", + "name": "docs/cisco.nxos.nxos_vpc_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "774bf1cf42ac998e8294a15a788de31d9b1bf9a7101817b56f25b2e64de3ec31", + "chksum_sha256": "0aeb5a090773bcf219cb3ab181424bde284e9669ccc3ace93175b739fec4f81a", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_evpn_global.py", + "name": "docs/cisco.nxos.nxos_hostname_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "08fa4dafb774bcb34b593281550fa175b775bfa4e5c61befe0238b1bf9687179", + "chksum_sha256": "2cc61e3ea5053c4ee1bb14f41a85e67e4790010b7142e21bb72fcc88a5e715aa", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_evpn_vni.py", + "name": "docs/cisco.nxos.nxos_acls_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a9dd476a29066efedb3611a768c18208a1cbaa9fb7b6664c1d3496e8b12033db", + "chksum_sha256": "2a87f6ac4c6d930a3561852c685ea70e75e34f7653b1cfbade26432a94e2b736", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_feature.py", + "name": "docs/cisco.nxos.nxos_l3_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "04347076b23abb7bbb9225d1793e9c6faacea6e990f45cd6a3b2d8b0b3355eba", + "chksum_sha256": "a3839881ddd3679d82e6376c6aab14f88f57d9b2b626414e90c1845d02f2e6df", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_hostname.py", + "name": "docs/cisco.nxos.nxos_netconf.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5b7cc39cad57438bf866e079c7efe0a9e0bd05ad2cbc7e1fdc4dd6016f7d7736", + "chksum_sha256": "da11bd9904bba75e1ca0484cf6ddc0ebcd0a2ffc12b1e9132d60f8a0bc54705c", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_hsrp.py", + "name": "docs/cisco.nxos.nxos_logging_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "32da41a469c83575c4db2f6b208286f9cf33df071d5a67c76a324ae8a1cb4f3d", + "chksum_sha256": "727f844d56c2eef418f10b022c0295ade96365f73b0654b00b5b586b42dfcf44", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_hsrp_interfaces.py", + "name": "docs/cisco.nxos.nxos_snmp_traps_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "da3a8f5c346182514bae4d4447628462c9b3271f1e36b27dd4b1372d44d6c46c", + "chksum_sha256": "25326502a9e485b1bfe99093b316af67686f797fb8ce8d972c9ae914d8e9da27", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_interfaces.py", + "name": "docs/cisco.nxos.nxos_logging_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "65935e684a2a4fcab3d65e0cfcc4b50581410b09ced5a2ff19f62f5eff4ccde3", + "chksum_sha256": "d43af63274e03108055551c1ddf7127fe3bf869db5fd5b73bcf3e0b95bcbaea0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_l3_interfaces.py", + "name": "docs/cisco.nxos.nxos_bgp_neighbor_address_family_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "92733ffae6656acc3fe5a549f92b8380cef8870e0cc1c8048dda5d10da856fbb", + "chksum_sha256": "3931a7ccbc77cb049c8d06798076797b250d4fb3b2ad60da12b799b62cf01285", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_lacp_interfaces.py", + "name": "docs/cisco.nxos.nxos_pim_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b8205f7e7b9840ded74d3476e1ed972bdfa75125b45024ffc1725e057690f120", + "chksum_sha256": "f974bc3ca8293d0e60b7dd26ef3babfc02003702ea5632feee97fbba59fc59a0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_lldp_interfaces.py", + "name": "docs/cisco.nxos.nxos_command_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "32d30a2580844412a612a3a35fc32bfa5c6f5231f841a16574cc125bc856e02d", + "chksum_sha256": "ceaf1d413d6a78bb8b3611ff936316cd03c6e6bbef6b99d95e9998695f9f3a85", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_logging_global.py", + "name": "docs/cisco.nxos.nxos_vsan_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ba671c099009dae25cf68d105fcada6f520d1c1becf042270df92a2b42e17218", + "chksum_sha256": "dfa3dd3cb1bb3c94e13e1d85c9df1221bd9dace01ad337346126ccca7808680a", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_ntp_global.py", + "name": "docs/cisco.nxos.nxos_vxlan_vtep_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "03208457ac4c50b9400c38c3ab8ee060254142d253743a71666b182f087ade8b", + "chksum_sha256": "920cbc7cf6b2d9736bbeacbf6751674c6b8985af13183432f027070235ed745e", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_nxapi.py", + "name": "docs/cisco.nxos.nxos_banner_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9ba8a07fd21828a268fdb90aa0921cdfe7b487de827db4c746228be2cc016e8c", + "chksum_sha256": "f33242bd0d3b632cb5e97dc9ce3e6a9029060e204c87a3554aff1ed36a7d19f0", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_ospf_interfaces.py", + "name": "docs/cisco.nxos.nxos_bfd_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a849b007bba2a9b83e993c51bae94cc56679256b94c0602d0f4dcebb09c2dacc", + "chksum_sha256": "1ff1d376f71be1de3dc5e97bfae1ea331e92430adb9e31b61e6fdde8da710538", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_ospfv2.py", + "name": "docs/cisco.nxos.nxos_bgp_templates_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0edb9f7af075021504b7fa5c4ef73d7057c2edfe1aa4d3b773484e862555cf8", + "chksum_sha256": "00bb83305a1e55e1fa99e7008ff4131123f6702514a66409c524e6ca1374c00e", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_ospfv3.py", + "name": "docs/cisco.nxos.nxos_ospfv3_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e707825398974684fd4a51ba79bdb1b5a75eb4ba93ceccbbd063af538c4ed149", + "chksum_sha256": "ecb974bec3af1412bb18f229492198eaf19c2de8102d65176de90d2f2810566c", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_overlay_global.py", + "name": "docs/cisco.nxos.nxos_bfd_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a59fd945009509ca8eec7fb78bc6000d692230ef505bcadf48e8b843904987af", + "chksum_sha256": "17874cc21b8abc82fc53aace972f6d49833e45d5c1a2cc672ebe97c5c98c2102", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_pim.py", + "name": "docs/cisco.nxos.nxos_rollback_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fe1f59aa59b32a791b714b6ba94f5db95d63ecb36919a976fece5768c620de26", + "chksum_sha256": "04cf041066c5d09e1a5317b7cb7cc1eb2504f0d1faeb9a28d3d59f3ae98c783f", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_pim_interface.py", + "name": "docs/cisco.nxos.nxos_reboot_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "56847cb35bc9b76be6863fa54892dc9133eb858707588cec5cfae935b087fccd", + "chksum_sha256": "194778e502ec450e673e2562baf84d459a9d844c3c3f281cd6ed2f2bc2618087", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_pim_rp_address.py", + "name": "docs/cisco.nxos.nxos_hsrp_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e451350df730941297d3a8b19b3464a5dc0f1a6265e9528fff50165972eca894", + "chksum_sha256": "717413f42fcf927466b00bb8a1e38f17e5e7391794b8a7431edf822a7a71da9d", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_ping.py", + "name": "docs/cisco.nxos.nxos_zone_zoneset_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "192816429f1bc9fcb6dabd8a52d22bb3d9f0af16c26b90e672b36648d5c0c1fd", + "chksum_sha256": "7e6e8c9e520a4ae76c3532b010ea67997a01a555775c112b89d094d129999c3b", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_prefix_lists.py", + "name": "docs/cisco.nxos.nxos_cliconf.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c9c1c9c9d867611ee162f172041539ee6af3f8825af52cd2888c1623ed012603", + "chksum_sha256": "546fc754b81109404a33285c90c3bba565b1a2529e00b7284609b62bb25b4d8b", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_route_maps.py", + "name": "docs/cisco.nxos.nxos_feature_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "317632024256f4cbb1df193db5265f32a12837c188b7b3fad7e035ecbae87309", + "chksum_sha256": "e31d99494f87afad1ecdce42d483a32e523e8e978f42b1955de1f3b0033bcf80", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_snmp_server.py", + "name": "docs/cisco.nxos.nxos_vrf_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "018d0c169022c97f0bd91b0f4b390b08c8c20ee44d8d4db83e5854b0cb245c01", + "chksum_sha256": "9e68ccbcf499b55feecf2b3c6b57f4b79b6dae43fd2671946ae3a65cd16d5ad6", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_static_routes.py", + "name": "docs/cisco.nxos.nxos_lag_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3c74596d970549d7a0343881de1a2fc68006731c198331845a0e38d122bd1dfc", + "chksum_sha256": "3ef2ea1a3291066c3f7260b2247a47058a65afae30226465b6b6be9994617789", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_system.py", + "name": "docs/cisco.nxos.nxos_ntp_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bbd7e38463b30523fee2bda727e81518950dc70a423c0e8d4a26bfc96f3cf600", + "chksum_sha256": "4fce862cb2f944fdb7438e8c9796fc1138b700a4acfc3654181d589bfaa170cb", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_telemetry.py", + "name": "docs/cisco.nxos.nxos_prefix_lists_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2b3e8bf396743daed1d752588f7fadafcb1d9cc3cc562c2a40f36629f68b6f10", + "chksum_sha256": "e411c76a91d77aac63c31c51864f7247f91fb48226b134bbb1b2cbc29029bfa3", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_user.py", + "name": "docs/cisco.nxos.nxos_route_maps_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8bdccd30ccc686e727cb486c80e3868097a43faeb27bc0d1b674acf77411c577", + "chksum_sha256": "501f2b75dfc0dbbe3054ebcdfad739b3a8ba8f4c367e8d22baabe987addea62c", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_vlans.py", + "name": "docs/cisco.nxos.nxos_udld_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5bbc41cc6074ab22083413658f1ff7b3e1880add6b03be2d0ef30dc2a85bf163", + "chksum_sha256": "26d0773b5cbd658f39b2c08b9949e45ae5aa8a94405c4f1ef9ed0708c682c4a3", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_vpc.py", + "name": "docs/cisco.nxos.nxos_lacp_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d75391e6c222c6569a0aa77d2c7d531add9a16ea060e03f0f81a6352786ef0cc", + "chksum_sha256": "34e04733378368d79deb4513e17315978468b0180b5e9c1d2e4ac863ba3ad1b1", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_vpc_interface.py", + "name": "docs/cisco.nxos.nxos_vxlan_vtep_vni_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3abcf4a8badf2045283c90df190db8eb47d82df2be679b1318ac53ecb3cc42c7", + "chksum_sha256": "7aebad3ad5c1c53036df468c782c366a17fea865b15a189f99aff17c171e464b", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_vrf.py", + "name": "docs/cisco.nxos.nxos_vtp_version_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "897434515383d004c4de31606091235b2186d690bc28315959de42b1d11dc02e", + "chksum_sha256": "c27cc4c99dbad288216a917b46c9949f1cc2ed72a4268e79ef61e708d6a1edff", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_vrf_af.py", + "name": "docs/cisco.nxos.nxos_snmp_host_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e420b96864806c431d47822e92410c0e12443ee856412e88037d83c7d8e7ec14", + "chksum_sha256": "738d6be19ec9aea9158035e6f1a2302d3484500ee9b3148e2d01628bf2f9fcdc", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_vxlan_vtep.py", + "name": "docs/cisco.nxos.nxos_ntp_auth_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1fb26930f7397caf4e73360e986af9a6bdce38f9109603afa5688907b2a46719", + "chksum_sha256": "fade0c737ea69c03d4075d1ed2a53eed91225b511d5c18e8b36ce965cd53f724", "format": 1 }, { - "name": "tests/unit/modules/network/nxos/test_nxos_vxlan_vtep_vni.py", + "name": ".isort.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bc31efebfb5c1f6c256006c77678efef031c5b1d289e8873460b998db795318c", + "chksum_sha256": "3fc5fcc23727e7c5b9f1a7035303990229f796a171a84e21051dd1d242b90c52", "format": 1 }, { - "name": "tests/unit/modules/network/__init__.py", + "name": "pyproject.toml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "1cb6a45dfa2625123890b93ad7fdc156b063c16e8ae6dba11511a1d1986b0fcc", "format": 1 }, { - "name": "tests/unit/modules/__init__.py", + "name": "bindep.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "f0e2709e0a523d84f824ccfb6883f62e9d27f70bd7a38be0d18506223ccfe60e", "format": 1 }, { - "name": "tests/unit/modules/conftest.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "354440d86f684a9641f329807a687fe71fc66ab901207f7a166ecfa648935488", + "name": "changelogs", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/utils.py", + "name": "changelogs/fragments", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "changelogs/fragments/.keep", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a0cf9489868d4ed6f549bf4133f50fd4f594850a6458e6c07a913078355c1385", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/__init__.py", + "name": "changelogs/config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "54c802c2ade537e8b71ba45d10c73a422778a62aab0093bc6805c75ab8c7f448", "format": 1 }, { - "name": "tests/unit/requirements.txt", + "name": "changelogs/changelog.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "49ba996dc4735c3463e9af561344346dfae14bcc1a68096ce78364b377f0df1f", + "chksum_sha256": "bd41980acf38b47c9690052ff587311d4130c6f8180315df9540e1060d14c8e9", "format": 1 }, { - "name": "tests/.gitignore", + "name": "tox.ini", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b5726d3ec9335a09c124469eca039523847a6b0f08a083efaefd002b83326600", + "chksum_sha256": "beb3313789623e5570d0871f6115ba563a0d92ea75e8e89cbd9f79045b4fe279", "format": 1 }, { - "name": ".gitignore", + "name": "CHANGELOG.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "179a6d0780422c32653a71b9395a3ecb8b3859346ffa3e38ca3c8d90f8063fd2", + "chksum_sha256": "4ee70734d5e5b80f6503635de8d1655903b775ccf03679361cbb9cec895fc3f0", "format": 1 }, { - "name": ".isort.cfg", + "name": ".gitignore", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3fc5fcc23727e7c5b9f1a7035303990229f796a171a84e21051dd1d242b90c52", + "chksum_sha256": "179a6d0780422c32653a71b9395a3ecb8b3859346ffa3e38ca3c8d90f8063fd2", "format": 1 }, { "name": ".pre-commit-config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aeff09e7e47f40cbeaefe3fc183b120bcc459e885ad295562e9941129e1c767c", + "chksum_sha256": "0f78200450af191fc02f788182fbe9253661ce2257435654c5806b4482487901", "format": 1 }, { @@ -16920,66 +16850,66 @@ "format": 1 }, { - "name": "CHANGELOG.rst", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1c0d18a9390fb1cd63f27ff147389682b78fdfe589a9e974ccaa94dedb671bc3", + "name": ".github", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "LICENSE", + "name": ".github/dependabot.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986", + "chksum_sha256": "c4d7b4c429faafe0eb46a070eafcd3d8d84d9083b5fe72943d627b5f4ccf0dd8", "format": 1 }, { - "name": "README.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e4c403bd14a6f20763786382facdbe31afb474a78ecb544f81e56a1b456f8f9e", + "name": ".github/workflows", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "bindep.txt", + "name": ".github/workflows/codecoverage.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "80645079eb025b3a905b4775ac545d080a3d7d35d537c31e04f7197c94315ab5", + "chksum_sha256": "efd9c5d5eb70165779fc2ad3269b85d618c25a266927d19c47253c0db97ebbf4", "format": 1 }, { - "name": "codecov.yml", + "name": ".github/workflows/ack.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d7119b3a96ece7bcd2df6e851e7e19783049f280918a801344d502c6ada4e582", + "chksum_sha256": "24c6fbafaa69e3e3ee696f2cefa5120794b62cef7e870553dddce8b8af0a127c", "format": 1 }, { - "name": "pyproject.toml", + "name": ".github/workflows/release.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1cb6a45dfa2625123890b93ad7fdc156b063c16e8ae6dba11511a1d1986b0fcc", + "chksum_sha256": "c9b7dba505905600bbb9f0d8e9956b7cc20f80edfa742dfdae9395542f417aa1", "format": 1 }, { - "name": "requirements.txt", + "name": ".github/workflows/push.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "70053744bf8f5b698f82ad59a6daec106188d9b63c6d1246f860f21ab8cb6ac5", + "chksum_sha256": "0c8ecdf1088f9e34c9383c49a18a7c54d08ef378ba29eaa6373b52ee8e8bd522", "format": 1 }, { - "name": "test-requirements.txt", + "name": ".github/workflows/tests.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "db00d997a245df0035379275735fa495097e62a87a67bb9d2403e87201ff77f8", + "chksum_sha256": "a363c29cae8f4b799d88470e5cc5546312966f5559f25ffd680611119035dd29", "format": 1 }, { - "name": "tox.ini", + "name": ".github/release-drafter.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "beb3313789623e5570d0871f6115ba563a0d92ea75e8e89cbd9f79045b4fe279", + "chksum_sha256": "7cbc785c8661033cd9dd7a60897484fce731cbe3dc124a689fc3e934b1d974fb", "format": 1 } ], diff --git a/ansible_collections/cisco/nxos/MANIFEST.json b/ansible_collections/cisco/nxos/MANIFEST.json index 7f3b38ce2..2f7654ec3 100644 --- a/ansible_collections/cisco/nxos/MANIFEST.json +++ b/ansible_collections/cisco/nxos/MANIFEST.json @@ -2,7 +2,7 @@ "collection_info": { "namespace": "cisco", "name": "nxos", - "version": "4.4.0", + "version": "5.3.0", "authors": [ "Ansible Network Community (ansible-network)" ], @@ -29,7 +29,7 @@ "name": "FILES.json", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "56d6428e3b2a94b7132f305c033b45c8fd164d32779c3bed06c8b7f1c74cb43e", + "chksum_sha256": "9600e95767ff5e93775f06e4e23e6eba580715b1e945d26ddb3f8bac0ce16cbe", "format": 1 }, "format": 1 diff --git a/ansible_collections/cisco/nxos/README.md b/ansible_collections/cisco/nxos/README.md index e5cc9f459..e8ad6e9d9 100644 --- a/ansible_collections/cisco/nxos/README.md +++ b/ansible_collections/cisco/nxos/README.md @@ -54,19 +54,17 @@ Name | Description [cisco.nxos.nxos_banner](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_banner_module.rst)|Manage multiline banners on Cisco NXOS devices [cisco.nxos.nxos_bfd_global](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_bfd_global_module.rst)|Bidirectional Forwarding Detection (BFD) global-level configuration [cisco.nxos.nxos_bfd_interfaces](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_bfd_interfaces_module.rst)|BFD interfaces resource module -[cisco.nxos.nxos_bgp](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_bgp_module.rst)|(deprecated, removed after 2023-01-27) Manages BGP configuration. [cisco.nxos.nxos_bgp_address_family](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_bgp_address_family_module.rst)|BGP Address Family resource module. -[cisco.nxos.nxos_bgp_af](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_bgp_af_module.rst)|(deprecated, removed after 2023-02-24) Manages BGP Address-family configuration. [cisco.nxos.nxos_bgp_global](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_bgp_global_module.rst)|BGP Global resource module. -[cisco.nxos.nxos_bgp_neighbor](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_bgp_neighbor_module.rst)|(deprecated, removed after 2023-01-27) Manages BGP neighbors configurations. [cisco.nxos.nxos_bgp_neighbor_address_family](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_bgp_neighbor_address_family_module.rst)|BGP Neighbor Address Family resource module. -[cisco.nxos.nxos_bgp_neighbor_af](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_bgp_neighbor_af_module.rst)|(deprecated, removed after 2023-02-24) Manages BGP address-family's neighbors configuration. +[cisco.nxos.nxos_bgp_templates](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_bgp_templates_module.rst)|BGP Templates resource module. [cisco.nxos.nxos_command](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_command_module.rst)|Run arbitrary command on Cisco NXOS devices [cisco.nxos.nxos_config](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_config_module.rst)|Manage Cisco NXOS configuration sections [cisco.nxos.nxos_devicealias](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_devicealias_module.rst)|Configuration of device alias for Cisco NXOS MDS Switches. [cisco.nxos.nxos_evpn_global](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_evpn_global_module.rst)|Handles the EVPN control plane for VXLAN. [cisco.nxos.nxos_evpn_vni](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_evpn_vni_module.rst)|Manages Cisco EVPN VXLAN Network Identifier (VNI). [cisco.nxos.nxos_facts](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_facts_module.rst)|Gets facts about NX-OS switches +[cisco.nxos.nxos_fc_interfaces](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_fc_interfaces_module.rst)|Fc Interfaces resource module [cisco.nxos.nxos_feature](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_feature_module.rst)|Manage features in NX-OS switches. [cisco.nxos.nxos_file_copy](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_file_copy_module.rst)|Copy a file to a remote NXOS device. [cisco.nxos.nxos_gir](https://github.com/ansible-collections/cisco.nxos/blob/main/docs/cisco.nxos.nxos_gir_module.rst)|Trigger a graceful removal or insertion (GIR) of the switch. diff --git a/ansible_collections/cisco/nxos/bindep.txt b/ansible_collections/cisco/nxos/bindep.txt index ba9c980fb..70fd8dfa5 100644 --- a/ansible_collections/cisco/nxos/bindep.txt +++ b/ansible_collections/cisco/nxos/bindep.txt @@ -2,5 +2,3 @@ # see https://docs.openstack.org/infra/bindep/ for additional information. gcc-c++ [doc test platform:rpm] -python3-devel [test platform:rpm] -python3 [test platform:rpm] diff --git a/ansible_collections/cisco/nxos/changelogs/changelog.yaml b/ansible_collections/cisco/nxos/changelogs/changelog.yaml index 0ae1adf75..055d17154 100644 --- a/ansible_collections/cisco/nxos/changelogs/changelog.yaml +++ b/ansible_collections/cisco/nxos/changelogs/changelog.yaml @@ -1,4 +1,5 @@ -ancestor: null +--- +ancestor: releases: 1.0.0: modules: @@ -8,14 +9,10 @@ releases: - description: Manages AAA server host-specific configuration. name: nxos_aaa_server_host namespace: "" - - description: - (deprecated, removed after 2022-06-01) Manages access list entries - for ACLs. + - description: (deprecated, removed after 2022-06-01) Manages access list entries for ACLs. name: nxos_acl namespace: "" - - description: - (deprecated, removed after 2022-06-01) Manages applying ACLs to - interfaces. + - description: (deprecated, removed after 2022-06-01) Manages applying ACLs to interfaces. name: nxos_acl_interface namespace: "" - description: ACL interfaces resource module @@ -93,9 +90,7 @@ releases: - description: Set boot options like boot, kickstart image and issu. name: nxos_install_os namespace: "" - - description: - (deprecated, removed after 2022-06-01) Manages physical attributes - of interfaces. + - description: (deprecated, removed after 2022-06-01) Manages physical attributes of interfaces. name: nxos_interface namespace: "" - description: Manages configuration of an OSPF interface instance. @@ -104,17 +99,13 @@ releases: - description: Interfaces resource module name: nxos_interfaces namespace: "" - - description: - (deprecated, removed after 2022-06-01) Manage Layer-2 interface - on Cisco NXOS devices. + - description: (deprecated, removed after 2022-06-01) Manage Layer-2 interface on Cisco NXOS devices. name: nxos_l2_interface namespace: "" - description: L2 interfaces resource module name: nxos_l2_interfaces namespace: "" - - description: - (deprecated, removed after 2022-06-01) Manage L3 interfaces on - Cisco NXOS network devices + - description: (deprecated, removed after 2022-06-01) Manage L3 interfaces on Cisco NXOS network devices name: nxos_l3_interface namespace: "" - description: L3 interfaces resource module @@ -129,14 +120,10 @@ releases: - description: LAG interfaces resource module name: nxos_lag_interfaces namespace: "" - - description: - (deprecated, removed after 2022-06-01) Manage link aggregation - groups on Cisco NXOS devices. + - description: (deprecated, removed after 2022-06-01) Manage link aggregation groups on Cisco NXOS devices. name: nxos_linkagg namespace: "" - - description: - (deprecated, removed after 2022-06-01) Manage LLDP configuration - on Cisco NXOS network devices. + - description: (deprecated, removed after 2022-06-01) Manage LLDP configuration on Cisco NXOS network devices. name: nxos_lldp namespace: "" - description: LLDP resource module @@ -160,9 +147,7 @@ releases: - description: Manage NXAPI configuration on an NXOS device. name: nxos_nxapi namespace: "" - - description: - (deprecated, removed after 2022-06-01) Manages configuration of - an ospf instance. + - description: (deprecated, removed after 2022-06-01) Manages configuration of an ospf instance. name: nxos_ospf namespace: "" - description: Manages a VRF for an OSPF router. @@ -240,9 +225,7 @@ releases: - description: Manage the collection of local users on Nexus devices name: nxos_user namespace: "" - - description: - (deprecated, removed after 2022-06-01) Manages VLAN resources and - attributes. + - description: (deprecated, removed after 2022-06-01) Manages VLAN resources and attributes. name: nxos_vlan namespace: "" - description: VLANs resource module @@ -291,23 +274,20 @@ releases: cliconf: - description: Use NX-OS cliconf to run commands on Cisco NX-OS platform name: nxos - namespace: null + namespace: httpapi: - description: Use NX-API to run commands on Cisco NX-OS platform name: nxos - namespace: null + namespace: release_date: "2020-06-23" 1.0.1: changes: bugfixes: - - Element type of `commands` key should be `raw` since it accepts both strings - and dicts (https://github.com/ansible-collections/cisco.nxos/pull/126). + - Element type of `commands` key should be `raw` since it accepts both strings and dicts (https://github.com/ansible-collections/cisco.nxos/pull/126). - Fix nxos_interfaces states replaced and overridden (https://github.com/ansible-collections/cisco.nxos/pull/102). - Fixed force option in lag_interfaces.py (https://github.com/ansible-collections/cisco.nxos/pull/111). - - Make `src`, `backup` and `backup_options` in nxos_config work when module - alias is used (https://github.com/ansible-collections/cisco.nxos/pull/121). - - Makes sure that docstring and argspec are in sync and removes sanity ignores - (https://github.com/ansible-collections/cisco.nxos/pull/112). + - Make `src`, `backup` and `backup_options` in nxos_config work when module alias is used (https://github.com/ansible-collections/cisco.nxos/pull/121). + - Makes sure that docstring and argspec are in sync and removes sanity ignores (https://github.com/ansible-collections/cisco.nxos/pull/112). - Update docs after sanity fixes to modules. - nxos_user - do not fail when a custom role is used (https://github.com/ansible-collections/cisco.nxos/pull/130) minor_changes: @@ -349,13 +329,11 @@ releases: - Preserve whitespaces in banner text (https://github.com/ansible-collections/cisco.nxos/pull/146). deprecated_features: - Deprecated `nxos_smu` in favour of `nxos_rpm` module. - - The `nxos_ospf_vrf` module is deprecated by `nxos_ospfv2` and `nxos_ospfv3` - Resource Modules. + - The `nxos_ospf_vrf` module is deprecated by `nxos_ospfv2` and `nxos_ospfv3` Resource Modules. minor_changes: - Add nxos_ospfv3 module. - - Allow other transfer protocols than scp to pull files from a NXOS device in - nxos_file_copy module. sftp, http, https, tftp and ftp can be choosen as a - transfer protocol, when the file_pull parameter is true.. + - Allow other transfer protocols than scp to pull files from a NXOS device in nxos_file_copy module. sftp, http, https, tftp and ftp can be choosen as a transfer + protocol, when the file_pull parameter is true.. fragments: - 161-transfer_protocol_file_copy.yaml - add_nxos_ospfv3.yaml @@ -378,8 +356,7 @@ releases: - Update regex to accept the platform "N77" as supporting fabricpath. - Vlan config diff was not removing default values deprecated_features: - - Deprecated `nxos_interface_ospf` in favor of `nxos_ospf_interfaces` Resource - Module. + - Deprecated `nxos_interface_ospf` in favor of `nxos_ospf_interfaces` Resource Module. minor_changes: - Add nxos_ospf_interfaces resource module. fragments: @@ -399,8 +376,7 @@ releases: - Add version key to galaxy.yaml to work around ansible-galaxy bug - Allow nxos_user to run with MDS (https://github.com/ansible-collections/cisco.nxos/issues/163). - Fix for nxos_lag_interfaces issue (https://github.com/ansible-collections/cisco.nxos/pull/194). - - Make sure that the OSPF modules work properly when process_id is a string - (https://github.com/ansible-collections/cisco.nxos/issues/198). + - Make sure that the OSPF modules work properly when process_id is a string (https://github.com/ansible-collections/cisco.nxos/issues/198). fragments: - fix_nxos_lag_interfaces_1.yaml - fix_ospf_process_id.yaml @@ -413,24 +389,18 @@ releases: - Add support for interfaces in mode 'fabricpath' to l2_interfaces (https://github.com/ansible-collections/cisco.nxos/issues/220). - Allow enabling `fabric forwarding` feature through nxos_feature (https://github.com/ansible-collections/cisco.nxos/issues/213). - Allow tag updates with state replaced (https://github.com/ansible-collections/cisco.nxos/issues/197). - - Fixes traceback while parsing power supply info in nxos_facts for newer NX-OS - releases (https://github.com/ansible-collections/cisco.nxos/issues/192). + - Fixes traceback while parsing power supply info in nxos_facts for newer NX-OS releases (https://github.com/ansible-collections/cisco.nxos/issues/192). - Handle domain-name properly with vrf contexts (https://github.com/ansible-collections/cisco.nxos/issues/234). - Parse interface contexts properly (https://github.com/ansible-collections/cisco.nxos/issues/195). - Properly handle partial matches in community string (https://github.com/ansible-collections/cisco.nxos/issues/203). - Update argspecs with default value for parameters. - - Update docs to clarify the idemptonecy releated caveat and add it in the output - warnings (https://github.com/ansible-collections/ansible.netcommon/pull/189) - - config replace is actually supported for devices other than N9K and hence - we should not fail, and instead let the device handle it (https://github.com/ansible-collections/cisco.nxos/issues/215). + - Update docs to clarify the idemptonecy releated caveat and add it in the output warnings (https://github.com/ansible-collections/ansible.netcommon/pull/189) + - config replace is actually supported for devices other than N9K and hence we should not fail, and instead let the device handle it (https://github.com/ansible-collections/cisco.nxos/issues/215). deprecated_features: - - Deprecated `nxos_bgp` and `nxos_bgp_neighbor` modules in favor of `nxos_bgp_global` - resource module. + - Deprecated `nxos_bgp` and `nxos_bgp_neighbor` modules in favor of `nxos_bgp_global` resource module. doc_changes: - - Fix error in ``host_reachability`` parameter's example where a default value - is used, which the ``host_reachability`` parameter does not support. Improve - descriptions of some parameters to be more explicit. Correct spelling and - grammar where errors were noticed. + - Fix error in ``host_reachability`` parameter's example where a default value is used, which the ``host_reachability`` parameter does not support. Improve + descriptions of some parameters to be more explicit. Correct spelling and grammar where errors were noticed. minor_changes: - Add `echo_request` option for ICMP. - Add nxos_bgp_global resource module. @@ -460,32 +430,24 @@ releases: 2.0.0: changes: bugfixes: - - Fail gracefully when BGP is already configured with a different ASN when states - merged or replaced is used. - - Fixes to nxos_logging, nxos_igmp_snooping, nxos_l3_interfaces, nxos_ospf_interfaces - and nxos_static_routes to conform with latest CLI behaviour. + - Fail gracefully when BGP is already configured with a different ASN when states merged or replaced is used. + - Fixes to nxos_logging, nxos_igmp_snooping, nxos_l3_interfaces, nxos_ospf_interfaces and nxos_static_routes to conform with latest CLI behaviour. - Properly configure neighbor timers and shutdown state (https://github.com/ansible-collections/cisco.nxos/issues/240). deprecated_features: - Deprecated nxos_bgp_af in favour of nxos_bgp_address_family resource module. - - Deprecated nxos_bgp_neighbor_af in favour of nxos_bgp_neighbor_address_family - resource module. + - Deprecated nxos_bgp_neighbor_af in favour of nxos_bgp_neighbor_address_family resource module. major_changes: - - Requires ansible.netcommon v2.0.0+ to support `ansible_network_single_user_mode` - and `ansible_network_import_modules`. - - "Please refer to - ansible.netcommon - `changelog <https://github.com/ansible-collections/ansible.netcommon/blob/main/changelogs/CHANGELOG.rst#ansible-netcommon-collection-release-notes>`_ - for more details." + - Please refer to ansible.netcommon `changelog <https://github.com/ansible-collections/ansible.netcommon/blob/main/changelogs/CHANGELOG.rst#ansible-netcommon-collection-release-notes>`_ + for more details. + - Requires ansible.netcommon v2.0.0+ to support `ansible_network_single_user_mode` and `ansible_network_import_modules`. minor_changes: - Add bfd option for neighbors (https://github.com/ansible-collections/cisco.nxos/issues/241). - - Add hello_interval_ms option in nxos_pim_interface module to support sub-second - intervals (https://github.com/ansible-collections/cisco.nxos/issues/226). + - Add hello_interval_ms option in nxos_pim_interface module to support sub-second intervals (https://github.com/ansible-collections/cisco.nxos/issues/226). - Add nxos_bgp_address_family Resource Module. - Add nxos_bgp_neighbor_address_family Resource Module. - Add support df_bit and size option for nxos_ping (https://github.com/ansible-collections/cisco.nxos/pull/237). - Adds support for `single_user_mode` command output caching. - - Move nxos_config idempotent warning message with the task response under `warnings` - key if `changed` is `True` + - Move nxos_config idempotent warning message with the task response under `warnings` key if `changed` is `True` fragments: - 237_nxos_ping_df_size.yaml - add_caching_support.yaml @@ -509,8 +471,7 @@ releases: 2.1.0: changes: bugfixes: - - Allow commands to be properly generated with Jinja2 2.10.3 (workaround for - https://github.com/pallets/jinja/issues/710). + - Allow commands to be properly generated with Jinja2 2.10.3 (workaround for https://github.com/pallets/jinja/issues/710). - Allow integer values to be set for dscp key (https://github.com/ansible-collections/cisco.nxos/issues/253). - Do not fail when parsing non rule entries in access-list config (https://github.com/ansible-collections/cisco.nxos/issues/262). minor_changes: @@ -529,8 +490,7 @@ releases: changes: bugfixes: - For versions >=2.1.0, this collection requires ansible.netcommon >=2.0.1. - - Re-releasing this collection with ansible.netcommon dependency requirements - updated. + - Re-releasing this collection with ansible.netcommon dependency requirements updated. fragments: - 275-add_ignore_txt.yml - update_requirement.yaml @@ -539,8 +499,7 @@ releases: changes: minor_changes: - Add nxos_route_maps resource module. - - Add support for ansible_network_resources key allows to fetch the available - resources for a platform (https://github.com/ansible-collections/cisco.nxos/issues/268). + - Add support for ansible_network_resources key allows to fetch the available resources for a platform (https://github.com/ansible-collections/cisco.nxos/issues/268). fragments: - 268_available_network_resources.yaml - add_nxos_route_maps.yaml @@ -553,13 +512,11 @@ releases: 2.3.0: changes: bugfixes: - - Fix how `send_community` attribute is handled in `nxos_bgp_neighbor_address_family` - (https://github.com/ansible-collections/cisco.nxos/issues/281). + - Fix how `send_community` attribute is handled in `nxos_bgp_neighbor_address_family` (https://github.com/ansible-collections/cisco.nxos/issues/281). - Make `passive_interface` work properly when set to False. minor_changes: - Add `default_passive_interface` option in `nxos_ospf_interfaces`. - - Add a netconf subplugin to make netconf_* modules work with older NX-OS versions - (https://github.com/ansible-collections/ansible.netcommon/issues/252). + - Add a netconf subplugin to make netconf_* modules work with older NX-OS versions (https://github.com/ansible-collections/ansible.netcommon/issues/252). fragments: - bgp_nbr_af.yaml - changelog.yaml @@ -571,11 +528,9 @@ releases: - pre_sort.yaml plugins: netconf: - - description: - Use nxos netconf plugin to run netconf commands on Cisco NX-OS - platform. + - description: Use nxos netconf plugin to run netconf commands on Cisco NX-OS platform. name: nxos - namespace: null + namespace: release_date: "2021-05-18" 2.4.0: changes: @@ -598,12 +553,10 @@ releases: changes: bugfixes: - Convert vlan lists to ranges in nxos_l2_interfaces (https://github.com/ansible-collections/cisco.nxos/issues/95). - - Do not expand direction 'both' into 'import' and 'export' for Nexus 9000 platforms - (https://github.com/ansible-collections/cisco.nxos/issues/303). + - Do not expand direction 'both' into 'import' and 'export' for Nexus 9000 platforms (https://github.com/ansible-collections/cisco.nxos/issues/303). - Prevent traceback when parsing unexpected line in nxos_static_routes. deprecated_features: - - The nxos_logging module has been deprecated in favor of the new nxos_logging_global - resource module and will be removed in a release after '2023-08-01'. + - The nxos_logging module has been deprecated in favor of the new nxos_logging_global resource module and will be removed in a release after '2023-08-01'. doc_changes: - Broken link in documentation fixed. minor_changes: @@ -626,8 +579,7 @@ releases: changes: bugfixes: - "`nxos_facts` - Fix gathering CDP neighbor facts from certain N7Ks (https://github.com/ansible-collections/cisco.nxos/issues/329)." - - "`nxos_zone_zoneset` - zone member addition with smart zoning in an already - existing zone should be a no-op (https://github.com/ansible-collections/cisco.nxos/issues/339)." + - "`nxos_zone_zoneset` - zone member addition with smart zoning in an already existing zone should be a no-op (https://github.com/ansible-collections/cisco.nxos/issues/339)." doc_changes: - Added notes in module docs to indicate supportability for Cisco MDS. fragments: @@ -643,8 +595,7 @@ releases: - "`nxos_acls` - Fix traceback with 'port_protocol' range (https://github.com/ansible-collections/cisco.nxos/issues/356)" - "`nxos_facts` - Fix KeyError while gathering CDP neighbor facts (https://github.com/ansible-collections/cisco.nxos/issues/354)." - "`nxos_ospf_interfaces` - Correctly sort interface names before rendering." - - "`nxos_vlans` - switching to `| json-pretty` instead of `| json` as a workaround - for the timeout issue with `libssh` (https://github.com/ansible/pylibssh/issues/208)" + - "`nxos_vlans` - switching to `| json-pretty` instead of `| json` as a workaround for the timeout issue with `libssh` (https://github.com/ansible/pylibssh/issues/208)" deprecated_features: - Deprecated `nxos_ntp`, `nxos_ntp_options`, `nxos_ntp_auth` modules. doc_changes: @@ -672,15 +623,14 @@ releases: minor_changes: - "`nxos_telemetry` - Add support for state gathered" fragments: - - 0-copy_ignore_txt.yml + - "0-copy_ignore_txt.yml" - nxos_telemetry.yaml - readme.yaml release_date: "2021-10-01" 2.7.1: changes: bugfixes: - - "`nxos_acls` - Updating an existing ACE can only be done with states replaced - or overridden. Using state merged will result in a failure." + - "`nxos_acls` - Updating an existing ACE can only be done with states replaced or overridden. Using state merged will result in a failure." - "`nxos_logging_global` - Fix vlan_mgr not being gathered in facts (https://github.com/ansible-collections/cisco.nxos/issues/380)." - "`nxos_vlans` - Fallback to json when json-pretty is not supported (https://github.com/ansible-collections/cisco.nxos/issues/377)." fragments: @@ -710,20 +660,17 @@ releases: 2.8.1: changes: bugfixes: - - nxos_acls - Fix incorrect parsing of remarks if it has 'ip/ipv6 access-list' - in it. + - nxos_acls - Fix incorrect parsing of remarks if it has 'ip/ipv6 access-list' in it. fragments: - nxos_acls.yaml release_date: "2021-12-10" 2.8.2: changes: bugfixes: - - "`nxos_ntp_global` - In some cases, there is an extra whitespace in the source-interface - line. This patch accounts for this behaviour in config (https://github.com/ansible-collections/cisco.nxos/issues/399)." + - "`nxos_ntp_global` - In some cases, there is an extra whitespace in the source-interface line. This patch accounts for this behaviour in config (https://github.com/ansible-collections/cisco.nxos/issues/399)." release_summary: - "The v2.8.1 of the cisco.nxos collection is not available on - Ansible Automation Hub. Please download and use v2.8.2 which also contains - an additional bug fix." + The v2.8.1 of the cisco.nxos collection is not available on Ansible Automation Hub. Please download and use v2.8.2 which also contains an additional + bug fix. fragments: - ignore.yaml - nxos_ntp.yaml @@ -732,8 +679,7 @@ releases: 2.9.0: changes: bugfixes: - - "`nxos_bgp_address_family` - Add hmm as valid option for redistribute protocol - (https://github.com/ansible-collections/cisco.nxos/issues/385)." + - "`nxos_bgp_address_family` - Add hmm as valid option for redistribute protocol (https://github.com/ansible-collections/cisco.nxos/issues/385)." - "`nxos_snmp_server` - Fix rendering context command (https://github.com/ansible-collections/cisco.nxos/issues/406)." minor_changes: - Add nxos_hostname resource module. @@ -752,8 +698,7 @@ releases: bugfixes: - Fix action plugin redirection to make module defaults work properly. - Fix for nxos_vlans issue (https://github.com/ansible-collections/cisco.nxos/issues/425). - - "`nxos_ntp_global` - Aliased `vrf` to `use_vrf` wherever applicable to maintain - consistency with models for other platforms." + - "`nxos_ntp_global` - Aliased `vrf` to `use_vrf` wherever applicable to maintain consistency with models for other platforms." - nxos_snmp_server - Add alias for community (https://github.com/ansible-collections/cisco.nxos/issues/433) doc_changes: - Added notes in module docs to indicate supportability for Cisco MDS. @@ -770,22 +715,17 @@ releases: 3.0.0: changes: bugfixes: - - "`nxos_lag_interfaces` - Fix KeyError with state overridden when port-channel - has no members (https://github.com/ansible-collections/cisco.nxos/issues/452)." - - "`nxos_ntp_global` - correctly propagate CLI failure for non-existent auth - keys (https://github.com/ansible-collections/cisco.nxos/issues/467)." + - "`nxos_lag_interfaces` - Fix KeyError with state overridden when port-channel has no members (https://github.com/ansible-collections/cisco.nxos/issues/452)." + - "`nxos_ntp_global` - correctly propagate CLI failure for non-existent auth keys (https://github.com/ansible-collections/cisco.nxos/issues/467)." - "`nxos_snmp_server` - Properly handle corner cases for snmp-server user (https://github.com/ansible-collections/cisco.nxos/issues/454)." - - "`snmp_server` - Snmp contact/location and location were not gathered if containing - whitespaces." + - "`snmp_server` - Snmp contact/location and location were not gathered if containing whitespaces." major_changes: - The minimum required ansible.netcommon version has been bumped to v2.6.1. - Updated base plugin references to ansible.netcommon. - "`nxos_facts` - change default gather_subset to `min` from `!config` (https://github.com/ansible-collections/cisco.nxos/issues/418)." - - nxos_file_copy has been rewritten as a module. This change also removes the - dependency on pexpect for file_pull operation. Since this now uses AnsibleModule - class for argspec validation, the validation messages will be slighlty different. - Expect changes in the return payload in some cases. All functionality remains - unchanged. + - nxos_file_copy has been rewritten as a module. This change also removes the dependency on pexpect for file_pull operation. Since this now uses AnsibleModule + class for argspec validation, the validation messages will be slighlty different. Expect changes in the return payload in some cases. All functionality + remains unchanged. minor_changes: - "`nxos_snmp_server` - add support for BGP, OSPF and OSPFv3 traps." fragments: @@ -805,13 +745,11 @@ releases: changes: bugfixes: - "`nxos_file_copy` - Skip `vrf` when running against MDS switches (https://github.com/ansible-collections/cisco.nxos/issues/508)." - - "`nxos_interfaces` - Enable all virtual interfaces with `enabled` set to True - (https://github.com/ansible-collections/cisco.nxos/issues/335)." + - "`nxos_interfaces` - Enable all virtual interfaces with `enabled` set to True (https://github.com/ansible-collections/cisco.nxos/issues/335)." - "`nxos_ntp_global` - Ensure idempotence for aliased keys (https://github.com/ansible-collections/cisco.nxos/issues/484)." - "`nxos_snmp_server` - Fix typo for traps link cisco-xcvr-mon-status-chg." doc_changes: - - Updated documentation in nxos_snmp_server, nxos_ntp_global and nxos_logging_global - modules to reflect which options are unsupported on MDS switches. + - Updated documentation in nxos_snmp_server, nxos_ntp_global and nxos_logging_global modules to reflect which options are unsupported on MDS switches. minor_changes: - "`nxos_snmp_server` - Add support for localizedV2key (https://github.com/ansible-collections/cisco.nxos/issues/415)." - "`nxos_snmp_server` - Add support for sha-256 based based user authentication." @@ -852,8 +790,7 @@ releases: 3.1.1: changes: bugfixes: - - Fix issue with modules related to OSPF interfaces failing when the target - NXOS device has subinterfaces. + - Fix issue with modules related to OSPF interfaces failing when the target NXOS device has subinterfaces. fragments: - ospf_subinterface_failure.yaml - paramiko.yaml @@ -862,8 +799,7 @@ releases: 3.1.2: changes: bugfixes: - - "`nxos_facts` - Fixes parsing of module info json data when TABLE_modinfo - entry is a list (https://github.com/ansible-collections/cisco.nxos/issues/559)." + - "`nxos_facts` - Fixes parsing of module info json data when TABLE_modinfo entry is a list (https://github.com/ansible-collections/cisco.nxos/issues/559)." fragments: - nxos_facts.yaml release_date: "2022-09-19" @@ -871,8 +807,7 @@ releases: changes: bugfixes: - "`nxos_telemetry` - Allow destination-group & sensor-group id to be strings." - - "`nxos_telemetry` - Allow sensor-group paths to be generated without additional - properties." + - "`nxos_telemetry` - Allow sensor-group paths to be generated without additional properties." minor_changes: - "`nxos_l3_interfaces` - Add support for toggling ipv6 redirects (https://github.com/ansible-collections/cisco.nxos/issues/569)." fragments: @@ -884,8 +819,7 @@ releases: 4.0.0: changes: major_changes: - - Please use either of the following connection types - network_cli, httpapi - or netconf. + - Please use either of the following connection types - network_cli, httpapi or netconf. - "This release drops support for `connection: local` and provider dictionary." removed_features: - This release removes the following deprecated plugins that have reached their end-of-life. @@ -911,10 +845,8 @@ releases: changes: bugfixes: - "`nxos_acls` - Parse ICMP echo-reply and echo options correctly (https://github.com/ansible-collections/cisco.nxos/issues/583)." - - "`nxos_acls` - Parse ICMP port-unreachable and unreachable options correctly - (https://github.com/ansible-collections/cisco.nxos/issues/529)." - - "`nxos_acls` - Parse port-protocol options with hypenated names correctly - (https://github.com/ansible-collections/cisco.nxos/issues/557)." + - "`nxos_acls` - Parse ICMP port-unreachable and unreachable options correctly (https://github.com/ansible-collections/cisco.nxos/issues/529)." + - "`nxos_acls` - Parse port-protocol options with hypenated names correctly (https://github.com/ansible-collections/cisco.nxos/issues/557)." fragments: - nxos_acls.yaml - nxos_pim.yaml @@ -924,15 +856,11 @@ releases: bugfixes: - "`nxos_acls` - Fix how IPv6 prefixes are converted to hosts (https://github.com/ansible-collections/cisco.nxos/issues/623)." - "`nxos_file_copy` - stop prepending redundant bootflash: to remote file names" - - nxos_acls - Detect duplicate ACE error message from CLI and fail - (https://github.com/ansible-collections/cisco.nxos/issues/611). - - nxos_command - Run & evaluate commands at least once even when retries is - set to 0 (https://github.com/ansible-collections/cisco.nxos/issues/607). + - nxos_acls - Detect duplicate ACE error message from CLI and fail (https://github.com/ansible-collections/cisco.nxos/issues/611). + - nxos_command - Run & evaluate commands at least once even when retries is set to 0 (https://github.com/ansible-collections/cisco.nxos/issues/607). minor_changes: - - "`nxos_acls` - Support ICMPv6 option. Please refer to module doc for all new - options (https://github.com/ansible-collections/cisco.nxos/issues/624)." - - "`nxos_facts` - Update facts gathering logic to ensure that `gather_network_resources: - all` does not fail for NX-OS on MDS switches." + - "`nxos_acls` - Support ICMPv6 option. Please refer to module doc for all new options (https://github.com/ansible-collections/cisco.nxos/issues/624)." + - "`nxos_facts` - Update facts gathering logic to ensure that `gather_network_resources: all` does not fail for NX-OS on MDS switches." - "`nxos_l2_interfaces` - Add new mode dot1q-tunnel (https://github.com/ansible-collections/cisco.nxos/issues/600)." fragments: - acls.yaml @@ -951,17 +879,14 @@ releases: changes: bugfixes: - "`bgp` - Fix parsing remote-as for Nexus 3K (https://github.com/ansible-collections/cisco.nxos/issues/653)." - - "`facts` - Attempt to execute json output commands with | json-pretty first - and fall back to | json if unsupported. This is a temporary workaround until + - "`facts` - Attempt to execute json output commands with | json-pretty first and fall back to | json if unsupported. This is a temporary workaround until https://github.com/ansible/pylibssh/issues/208 is fixed." - "`interfaces` - Correctly enable/disable VLAN interfaces (https://github.com/ansible-collections/cisco.nxos/issues/539)." - "`route_maps` - resolve route-map description parameter idempotency" - - "`snmp_server` - fix community option to produce proper configuration with - ipv4acl and ipv6acl." + - "`snmp_server` - fix community option to produce proper configuration with ipv4acl and ipv6acl." minor_changes: - "`nxos_route_maps` - add support for 'set ip next-hop <>' command in route-maps" - - "`nxos_vxlan_vtep` - add support for 'advertise virtual-rmac' command under - nve interface" + - "`nxos_vxlan_vtep` - add support for 'advertise virtual-rmac' command under nve interface" fragments: - bgp.yaml - bool.yaml @@ -976,9 +901,7 @@ releases: release_date: "2023-04-04" 4.3.0: changes: - release_summary: - Re-releasing v4.2.0 of this collection since the previously - build failed to upload in Automation Hub. + release_summary: Re-releasing v4.2.0 of this collection since the previously build failed to upload in Automation Hub. fragments: - release_430.yaml release_date: "2023-04-05" @@ -1010,3 +933,93 @@ releases: - tests.yaml - update_inft_docs.yaml release_date: "2023-05-29" + 5.0.0: + changes: + bugfixes: + - nxos_static_routes - Prevent action states to generate terminal configuration command. + - nxos_static_routes - Update the delete operation of static routes to be similar to other platforms. (https://github.com/ansible-collections/cisco.nxos/issues/666) + major_changes: + - Refer to **Removed Features** section for details. + - This release removes four of the previously deprecated modules from this collection. + minor_changes: + - Add nxos_bgp_templates module. + - nxos_user - Added dev-ops role to BUILTINS (https://github.com/ansible-collections/cisco.nxos/issues/690) + removed_features: + - The nxos_bgp module has been removed with this release. + - The nxos_bgp_af module has been removed with this release. + - The nxos_bgp_neighbor module has been removed with this release. + - The nxos_bgp_neighbor_af module has been removed with this release. + fragments: + - drop.yaml + - nxos_user.yml + - overridden.yaml + - templates.yaml + - update_static_routes.yml + release_date: "2023-07-05" + 5.1.0: + changes: + minor_changes: + - nxos_facts - add cpu utilization data to facts. + fragments: + - cpu_utilization.yml + release_date: "2023-07-05" + 5.2.0: + changes: + bugfixes: + - acls - Fix parsing error when ACE has a source port range (https://github.com/ansible-collections/cisco.nxos/issues/713). + - interfaces - Re-apply existing non-default MTU when changing mode to L2 (https://github.com/ansible-collections/cisco.nxos/issues/730). + - lag_interfaces - Allow force option to be idempotent (https://github.com/ansible-collections/cisco.nxos/issues/742). + - snmp_server - fix host delete when authentication options are present (https://github.com/ansible-collections/cisco.nxos/issues/439). + doc_changes: + - Update examples for bgp_address_family resource modules using yaml callback plugin. + - Update examples for bgp_global resource modules using yaml callback plugin. + - Update examples for bgp_neighbor_address_family resource modules using yaml callback plugin. + - Update examples for bgp_templates resource modules using yaml callback plugin. + - Update examples for ospf_interfaces resource modules using yaml callback plugin. + - Update examples for ospfv2 resource modules using yaml callback plugin. + - Update examples for ospfv3 resource modules using yaml callback plugin. + minor_changes: + - Added new module fc_interfaces + - bgp_global - support remote-as as a route-map (https://github.com/ansible-collections/cisco.nxos/issues/741). + - bgp_neighbor_address_family - support rewrite-rt-asn for ipv4 mvpn (https://github.com/ansible-collections/cisco.nxos/issues/741). + - bgp_templates - Add support for safi evpn (https://github.com/ansible-collections/cisco.nxos/issues/739). + - bgp_templates - Add support for send_community (https://github.com/ansible-collections/cisco.nxos/issues/740). + - route_maps - support extcommunity rt option (https://github.com/ansible-collections/cisco.nxos/issues/743). + fragments: + - _health_check_update_docs.yaml + - bgp_assorted.yaml + - bgp_templates.yaml + - codecov_pr.yml + - fix_713.yaml + - fix_730.yaml + - lag_interfaces.yaml + - nxos.yaml + - nxos_mds_fc.yaml + - route_maps.yaml + - snmp_server_fix.yml + modules: + - description: Fc Interfaces resource module + name: nxos_fc_interfaces + namespace: "" + release_date: "2023-09-14" + 5.2.1: + changes: + bugfixes: + - nxos_acls - fix parsing of ACE with named source/dest port range (https://github.com/ansible-collections/cisco.nxos/issues/763). + - vtp_version - allow VTP version 3 to be configured (https://github.com/ansible-collections/cisco.nxos/issues/704). + doc_changes: + - nxos_acls - update examples and use YAML output in them for better readibility. + fragments: + - acls.yaml + - fix_763.yaml + - vtp_version.yaml + release_date: "2023-10-03" + 5.3.0: + changes: + minor_changes: + - nxos_config - Relax restrictions on I(src) parameter so it can be used more + like I(lines). (https://github.com/ansible-collections/cisco.nxos/issues/89). + fragments: + - fix_config_module.yaml + - trivial.yaml + release_date: "2023-11-29" diff --git a/ansible_collections/cisco/nxos/codecov.yml b/ansible_collections/cisco/nxos/codecov.yml index 816cb4409..c77c91a90 100644 --- a/ansible_collections/cisco/nxos/codecov.yml +++ b/ansible_collections/cisco/nxos/codecov.yml @@ -1,7 +1,12 @@ --- codecov: require_ci_to_pass: true -comment: false +comment: + layout: " diff, flags, files" + behavior: default + require_changes: false + require_base: false + require_head: true coverage: status: patch: false diff --git a/ansible_collections/cisco/nxos/plugins/modules/storage/__init__.py b/ansible_collections/cisco/nxos/docs/__init__.py index e69de29bb..e69de29bb 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/storage/__init__.py +++ b/ansible_collections/cisco/nxos/docs/__init__.py diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_acls_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_acls_module.rst index 1c8801e8b..8a4c23f3d 100644 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_acls_module.rst +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_acls_module.rst @@ -3111,46 +3111,89 @@ Examples # Before state: # ------------- - # + # nxos-9k# show running-config | section '^ip(v6)* access-list' - - name: Merge new ACLs configuration + - name: Merge provided ACLs configuration with device configuration cisco.nxos.nxos_acls: + state: merged config: - - afi: ipv4 - acls: - - name: ACL1v4 - aces: - - grant: deny - destination: - address: 192.0.2.64 - wildcard_bits: 0.0.0.255 - source: - any: true - port_protocol: - lt: 55 - protocol: tcp - protocol_options: - tcp: - ack: true - fin: true - sequence: 50 + - afi: ipv4 + acls: + - name: ACL1v4 + aces: + - grant: deny + destination: + address: 192.0.2.64 + wildcard_bits: 0.0.0.255 + source: + any: true + port_protocol: + lt: 55 + protocol: tcp + protocol_options: + tcp: + ack: true + fin: true + sequence: 50 + + - afi: ipv6 + acls: + - name: ACL1v6 + aces: + - grant: permit + sequence: 10 + source: + any: true + destination: + prefix: 2001:db8:12::/32 + protocol: sctp + + # Task Output + # ----------- + # before: [] + # + # commands: + # - ip access-list ACL1v4 + # - 50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin + # - ipv6 access-list ACL1v6 + # - 10 permit sctp any 2001:db8:12::/32 + # + # after: + # - acls: + # - aces: + # - destination: + # prefix: 2001:db8:12::/32 + # grant: permit + # protocol: sctp + # sequence: 10 + # source: + # any: true + # name: ACL1v6 + # afi: ipv6 + # - acls: + # - aces: + # - destination: + # address: 192.0.2.64 + # wildcard_bits: 0.0.0.255 + # grant: deny + # protocol: tcp + # protocol_options: + # tcp: + # ack: true + # fin: true + # sequence: 50 + # source: + # any: true + # port_protocol: + # lt: '55' + # name: ACL1v4 + # afi: ipv4 - - afi: ipv6 - acls: - - name: ACL1v6 - aces: - - grant: permit - sequence: 10 - source: - any: true - destination: - prefix: 2001:db8:12::/32 - protocol: sctp - state: merged # After state: # ------------ # + # nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin # ipv6 access-list ACL1v6 @@ -3160,94 +3203,269 @@ Examples # Before state: # ---------------- - # + # nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 10 permit ip any any # 20 deny udp any any # ip access-list ACL2v4 # 10 permit ahp 192.0.2.0 0.0.0.255 any - # ip access-list ACL1v6 + # ipv6 access-list ACL1v6 # 10 permit sctp any any # 20 remark IPv6 ACL - # ip access-list ACL2v6 + # ipv6 access-list ACL2v6 # 10 deny ipv6 any 2001:db8:3000::/36 # 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128 - name: Replace existing ACL configuration with provided configuration cisco.nxos.nxos_acls: config: - - afi: ipv4 - - afi: ipv6 - acls: - - name: ACL1v6 - aces: - - sequence: 20 - grant: permit - source: - any: true - destination: - any: true - protocol: pip - - - remark: Replaced ACE - - - name: ACL2v6 + - afi: ipv4 + - afi: ipv6 + acls: + - name: ACL1v6 + aces: + - sequence: 20 + grant: permit + source: + any: true + destination: + any: true + protocol: pim + + - remark: Replaced ACE + - name: ACL2v6 state: replaced + # Task Output + # ----------- + # before: + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: sctp + # sequence: 10 + # source: + # any: true + # - remark: IPv6 ACL + # sequence: 20 + # name: ACL1v6 + # - aces: + # - destination: + # prefix: 2001:db8:3000::/36 + # grant: deny + # protocol: ipv6 + # sequence: 10 + # source: + # any: true + # - destination: + # host: 2001:db8:2000:ab::2 + # grant: permit + # protocol: tcp + # sequence: 20 + # source: + # host: 2001:db8:2000:2::2 + # name: ACL2v6 + # afi: ipv6 + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: ip + # sequence: 10 + # source: + # any: true + # - destination: + # any: true + # grant: deny + # protocol: udp + # sequence: 20 + # source: + # any: true + # name: ACL1v4 + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: ahp + # sequence: 10 + # source: + # address: 192.0.2.0 + # wildcard_bits: 0.0.0.255 + # name: ACL2v4 + # afi: ipv4 + # + # commands: + # - no ip access-list ACL1v4 + # - no ip access-list ACL2v4 + # - ipv6 access-list ACL1v6 + # - no 10 permit sctp any any + # - no 20 remark IPv6 ACL + # - remark Replaced ACE + # - 20 permit pim any any + # - ipv6 access-list ACL2v6 + # - no 10 deny ipv6 any 2001:db8:3000::/36 + # - no 20 permit tcp host 2001:db8:2000:2::2 host 2001:db8:2000:ab::2 + # + # after: + # - acls: + # - aces: + # - remark: Replaced ACE + # sequence: 10 + # - destination: + # any: true + # grant: permit + # protocol: pim + # sequence: 20 + # source: + # any: true + # name: ACL1v6 + # - name: ACL2v6 + # afi: ipv6 + # After state: # --------------- - # + # nxos-9k# show running-config | section '^ip(v6)* access-list' # ipv6 access-list ACL1v6 - # 20 permit pip any any - # 30 remark Replaced ACE + # 10 remark Replaced ACE + # 20 permit pim any any # ipv6 access-list ACL2v6 # Using overridden # Before state: # ---------------- - # + # nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 10 permit ip any any # 20 deny udp any any # ip access-list ACL2v4 # 10 permit ahp 192.0.2.0 0.0.0.255 any - # ip access-list ACL1v6 + # ipv6 access-list ACL1v6 # 10 permit sctp any any # 20 remark IPv6 ACL - # ip access-list ACL2v6 + # ipv6 access-list ACL2v6 # 10 deny ipv6 any 2001:db8:3000::/36 # 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128 - name: Override existing configuration with provided configuration cisco.nxos.nxos_acls: config: - - afi: ipv4 - acls: - - name: NewACL - aces: - - grant: deny - source: - address: 192.0.2.0 - wildcard_bits: 0.0.255.255 - destination: - any: true - protocol: eigrp - - remark: Example for overridden state + - afi: ipv4 + acls: + - name: NewACL + aces: + - grant: deny + source: + address: 192.0.2.0 + wildcard_bits: 0.0.255.255 + destination: + any: true + protocol: eigrp + - remark: Example for overridden state state: overridden + # Task Output + # ----------- + # + # before: + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: sctp + # sequence: 10 + # source: + # any: true + # - remark: IPv6 ACL + # sequence: 20 + # name: ACL1v6 + # - aces: + # - destination: + # prefix: 2001:db8:3000::/36 + # grant: deny + # protocol: ipv6 + # sequence: 10 + # source: + # any: true + # - destination: + # host: 2001:db8:2000:ab::2 + # grant: permit + # protocol: tcp + # sequence: 20 + # source: + # host: 2001:db8:2000:2::2 + # name: ACL2v6 + # afi: ipv6 + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: ip + # sequence: 10 + # source: + # any: true + # - destination: + # any: true + # grant: deny + # protocol: udp + # sequence: 20 + # source: + # any: true + # name: ACL1v4 + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: ahp + # sequence: 10 + # source: + # address: 192.0.2.0 + # wildcard_bits: 0.0.0.255 + # name: ACL2v4 + # afi: ipv4 + # + # commands: + # - no ipv6 access-list ACL1v6 + # - no ipv6 access-list ACL2v6 + # - no ip access-list ACL1v4 + # - no ip access-list ACL2v4 + # - ip access-list NewACL + # - deny eigrp 192.0.2.0 0.0.255.255 any + # - remark Example for overridden state + # + # after: + # - acls: + # - aces: + # - destination: + # any: true + # grant: deny + # protocol: eigrp + # sequence: 10 + # source: + # address: 192.0.2.0 + # wildcard_bits: 0.0.255.255 + # - remark: Example for overridden state + # sequence: 20 + # name: NewACL + # afi: ipv4 + # After state: # ------------ - # + # nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list NewACL # 10 deny eigrp 192.0.2.0 0.0.255.255 any # 20 remark Example for overridden state - # Using deleted: + # Using deleted - delete all # # Before state: # ------------- - # + # nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 10 permit ip any any # 20 deny udp any any @@ -3262,17 +3480,89 @@ Examples - name: Delete all ACLs cisco.nxos.nxos_acls: - config: state: deleted + # Task Output + # ----------- + # + # before: + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: sctp + # sequence: 10 + # source: + # any: true + # - remark: IPv6 ACL + # sequence: 20 + # name: ACL1v6 + # - aces: + # - destination: + # prefix: 2001:db8:3000::/36 + # grant: deny + # protocol: ipv6 + # sequence: 10 + # source: + # any: true + # - destination: + # host: 2001:db8:2000:ab::2 + # grant: permit + # protocol: tcp + # sequence: 20 + # source: + # host: 2001:db8:2000:2::2 + # name: ACL2v6 + # afi: ipv6 + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: ip + # sequence: 10 + # source: + # any: true + # - destination: + # any: true + # grant: deny + # protocol: udp + # sequence: 20 + # source: + # any: true + # name: ACL1v4 + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: ahp + # sequence: 10 + # source: + # address: 192.0.2.0 + # wildcard_bits: 0.0.0.255 + # name: ACL2v4 + # afi: ipv4 + # + # commands: + # - no ip access-list ACL1v4 + # - no ip access-list ACL2v4 + # - no ipv6 access-list ACL1v6 + # - no ipv6 access-list ACL2v6 + # + # after: [] + + # After state: # ----------- + # nxos-9k# show running-config | section '^ip(v6)* access-list' # + # Using deleted - delete AFI # Before state: # ------------- - # + # nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 10 permit ip any any # 20 deny udp any any @@ -3291,9 +3581,106 @@ Examples - afi: ipv4 state: deleted + # Task Output + # ----------- + # + # before: + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: sctp + # sequence: 10 + # source: + # any: true + # - remark: IPv6 ACL + # sequence: 20 + # name: ACL1v6 + # - aces: + # - destination: + # prefix: 2001:db8:3000::/36 + # grant: deny + # protocol: ipv6 + # sequence: 10 + # source: + # any: true + # - destination: + # host: 2001:db8:2000:ab::2 + # grant: permit + # protocol: tcp + # sequence: 20 + # source: + # host: 2001:db8:2000:2::2 + # name: ACL2v6 + # afi: ipv6 + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: ip + # sequence: 10 + # source: + # any: true + # - destination: + # any: true + # grant: deny + # protocol: udp + # sequence: 20 + # source: + # any: true + # name: ACL1v4 + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: ahp + # sequence: 10 + # source: + # address: 192.0.2.0 + # wildcard_bits: 0.0.0.255 + # name: ACL2v4 + # afi: ipv4 + # + # commands: + # - no ip access-list ACL1v4 + # - no ip access-list ACL2v4 + # + # after: + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: sctp + # sequence: 10 + # source: + # any: true + # - remark: IPv6 ACL + # sequence: 20 + # name: ACL1v6 + # - aces: + # - destination: + # prefix: 2001:db8:3000::/36 + # grant: deny + # protocol: ipv6 + # sequence: 10 + # source: + # any: true + # - destination: + # host: 2001:db8:2000:ab::2 + # grant: permit + # protocol: tcp + # sequence: 20 + # source: + # host: 2001:db8:2000:2::2 + # name: ACL2v6 + # afi: ipv6 + # After state: # ------------ - # + # nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v6 # 10 permit sctp any any # 20 remark IPv6 ACL @@ -3301,11 +3688,11 @@ Examples # 10 deny ipv6 any 2001:db8:3000::/36 # 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128 - + # Using deleted - delete ACLs # Before state: # ------------- - # + # nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 10 permit ip any any # 20 deny udp any any @@ -3320,18 +3707,106 @@ Examples - name: Delete specific ACLs cisco.nxos.nxos_acls: - config: - - afi: ipv4 - acls: - - name: ACL1v4 - - name: ACL2v4 - - afi: ipv6 - acls: - - name: ACL1v6 state: deleted + config: + - afi: ipv4 + acls: + - name: ACL1v4 + - name: ACL2v4 + - afi: ipv6 + acls: + - name: ACL1v6 + + # Task Output + # ----------- + # + # before: + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: sctp + # sequence: 10 + # source: + # any: true + # - remark: IPv6 ACL + # sequence: 20 + # name: ACL1v6 + # - aces: + # - destination: + # prefix: 2001:db8:3000::/36 + # grant: deny + # protocol: ipv6 + # sequence: 10 + # source: + # any: true + # - destination: + # host: 2001:db8:2000:ab::2 + # grant: permit + # protocol: tcp + # sequence: 20 + # source: + # host: 2001:db8:2000:2::2 + # name: ACL2v6 + # afi: ipv6 + # - acls: + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: ip + # sequence: 10 + # source: + # any: true + # - destination: + # any: true + # grant: deny + # protocol: udp + # sequence: 20 + # source: + # any: true + # name: ACL1v4 + # - aces: + # - destination: + # any: true + # grant: permit + # protocol: ahp + # sequence: 10 + # source: + # address: 192.0.2.0 + # wildcard_bits: 0.0.0.255 + # name: ACL2v4 + # afi: ipv4 + # + # commands: + # - no ip access-list ACL1v4 + # - no ip access-list ACL2v4 + # - no ipv6 access-list ACL1v6 + # + # after: + # - acls: + # - aces: + # - destination: + # prefix: 2001:db8:3000::/36 + # grant: deny + # protocol: ipv6 + # sequence: 10 + # source: + # any: true + # - destination: + # host: 2001:db8:2000:ab::2 + # grant: permit + # protocol: tcp + # sequence: 20 + # source: + # host: 2001:db8:2000:2::2 + # name: ACL2v6 + # afi: ipv6 # After state: # ------------ + # nxos-9k# show running-config | section '^ip(v6)* access-list' # ipv6 access-list ACL2v6 # 10 deny ipv6 any 2001:db8:3000::/36 # 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128 @@ -3347,7 +3822,9 @@ Examples 10 permit sctp any any state: parsed - # returns: + # Task Output + # ------------ + # # parsed: # - afi: ipv4 # acls: @@ -3385,7 +3862,7 @@ Examples # Before state: # ------------ - # + # nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin # ipv6 access-list ACL1v6 @@ -3395,7 +3872,9 @@ Examples cisco.nxos.nxos_acls: state: gathered - # returns: + # Task Output + # ----------- + # # gathered: # - afi: ipv4 # acls: @@ -3466,7 +3945,9 @@ Examples protocol: sctp state: rendered - # returns: + # Task Output + # ----------- + # # rendered: # ip access-list ACL1v4 # 50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin @@ -3540,6 +4021,57 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['ip access-list ACL1v4', '10 permit ip any any precedence critical log', '20 deny tcp any lt smtp host 192.0.2.64 ack fin']</div> </td> </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</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;">['ip access-list ACL1v4', '10 permit ip any any precedence critical log', '20 deny tcp any lt smtp host 192.0.2.64 ack fin']</div> + </td> + </tr> </table> <br/><br/> diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_address_family_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_address_family_module.rst index 10444549a..8378c8439 100644 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_address_family_module.rst +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_address_family_module.rst @@ -1690,8 +1690,8 @@ Examples id: 101 route_map: rmap-eigrp-1 - # Task output - # ------------- + # Task output: + # ------------ # before: {} # # commands: @@ -1744,7 +1744,7 @@ Examples # route_map: rmap-eigrp-1 # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # address-family ipv4 multicast @@ -1804,8 +1804,8 @@ Examples vrf: site-1 state: replaced - # Task output - # ------------- + # Task output: + # ------------ # before: # as_number: "65536" # address_family: @@ -1884,7 +1884,7 @@ Examples # route_map: rmap-eigrp-1 # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # address-family ipv4 multicast @@ -1936,8 +1936,8 @@ Examples vrf: site-1 state: overridden - # Task output - # ------------- + # Task output: + # ------------ # before: # as_number: "65536" # address_family: @@ -2005,7 +2005,7 @@ Examples # # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # address-family ipv4 multicast @@ -2046,8 +2046,8 @@ Examples safi: multicast state: deleted - # Task output - # ------------- + # Task output: + # ------------ # before: # as_number: "65536" # address_family: @@ -2102,7 +2102,7 @@ Examples # summary_only: True # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # vrf site-1 @@ -2133,8 +2133,8 @@ Examples cisco.nxos.nxos_bgp_address_family: state: deleted - # Task output - # ------------- + # Task output: + # ------------ # before: # as_number: "65536" # address_family: @@ -2180,7 +2180,7 @@ Examples # as_number: "65536" # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # Nexus9000v# @@ -2224,8 +2224,8 @@ Examples route_map: rmap-eigrp-1 state: rendered - # Task Output (redacted) - # ----------------------- + # Task Output: + # ------------ # rendered: # - router bgp 65536 # - address-family ipv4 multicast @@ -2264,8 +2264,8 @@ Examples running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed - # Task output (redacted) - # ----------------------- + # Task output: + # ------------ # parsed: # as_number: "65536" # address_family: @@ -2302,6 +2302,123 @@ Examples +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-"></div> + <b>after</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when changed</td> + <td> + <div>The resulting configuration after module execution.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>before</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>merged</code>, <code>replaced</code>, <code>overridden</code>, <code>deleted</code> or <code>purged</code></td> + <td> + <div>The configuration prior to the module execution.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>commands</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>merged</code>, <code>replaced</code>, <code>overridden</code>, <code>deleted</code> or <code>purged</code></td> + <td> + <div>The set of commands 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;">['router bgp 65536', 'address-family ipv4 multicast', 'nexthop route-map rmap2']</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</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;">['router bgp 65536', 'address-family ipv4 multicast', 'nexthop route-map rmap2']</div> + </td> + </tr> + </table> + <br/><br/> + Status ------ diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_af_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_af_module.rst deleted file mode 100644 index 98b99d7e9..000000000 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_af_module.rst +++ /dev/null @@ -1,677 +0,0 @@ -.. _cisco.nxos.nxos_bgp_af_module: - - -********************** -cisco.nxos.nxos_bgp_af -********************** - -**(deprecated, removed after 2023-02-24) Manages BGP Address-family configuration.** - - -Version added: 1.0.0 - -.. contents:: - :local: - :depth: 1 - -DEPRECATED ----------- -:Removed in collection release after 2023-02-24 -:Why: Updated module released with more functionality. -:Alternative: nxos_bgp_address_family - - - -Synopsis --------- -- Manages BGP Address-family configurations on NX-OS switches. - - - - -Parameters ----------- - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="1">Parameter</th> - <th>Choices/<font color="blue">Defaults</font></th> - <th width="100%">Comments</th> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>additional_paths_install</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Install a backup path into the forwarding table and provide prefix independent convergence (PIC) in case of a PE-CE link failure.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>additional_paths_receive</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enables the receive capability of additional paths for all of the neighbors under this address family for which the capability has not been disabled.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>additional_paths_selection</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Configures the capability of selecting additional paths for a prefix. Valid values are a string defining the name of the route-map.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>additional_paths_send</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enables the send capability of additional paths for all of the neighbors under this address family for which the capability has not been disabled.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>advertise_l2vpn_evpn</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Advertise evpn routes.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>afi</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>ipv4</li> - <li>ipv6</li> - <li>vpnv4</li> - <li>vpnv6</li> - <li>l2vpn</li> - </ul> - </td> - <td> - <div>Address Family Identifier.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>asn</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - </td> - <td> - <div>BGP autonomous system number. Valid values are String, Integer in ASPLAIN or ASDOT notation.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>client_to_client</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Configure client-to-client route reflection.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>dampen_igp_metric</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify dampen value for IGP metric-related changes, in seconds. Valid values are integer and keyword 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>dampening_half_time</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify decay half-life in minutes for route-flap dampening. Valid values are integer and keyword 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>dampening_max_suppress_time</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify max suppress time for route-flap dampening stable route. Valid values are integer and keyword 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>dampening_reuse_time</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify route reuse time for route-flap dampening. Valid values are integer and keyword 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>dampening_routemap</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify route-map for route-flap dampening. Valid values are a string defining the name of the route-map.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>dampening_state</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/disable route-flap dampening.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>dampening_suppress_time</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify route suppress time for route-flap dampening. Valid values are integer and keyword 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>default_information_originate</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Default information originate.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>default_metric</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Sets default metrics for routes redistributed into BGP. Valid values are Integer or keyword 'default'</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>distance_ebgp</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Sets the administrative distance for eBGP routes. Valid values are Integer or keyword 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>distance_ibgp</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Sets the administrative distance for iBGP routes. Valid values are Integer or keyword 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>distance_local</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Sets the administrative distance for local BGP routes. Valid values are Integer or keyword 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>inject_map</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=list</span> - </div> - </td> - <td> - </td> - <td> - <div>An array of route-map names which will specify prefixes to inject. Each array entry must first specify the inject-map name, secondly an exist-map name, and optionally the copy-attributes keyword which indicates that attributes should be copied from the aggregate. For example [['lax_inject_map', 'lax_exist_map'], ['nyc_inject_map', 'nyc_exist_map', 'copy-attributes'], ['fsd_inject_map', 'fsd_exist_map']].</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>maximum_paths</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Configures the maximum number of equal-cost paths for load sharing. Valid value is an integer in the range 1-64.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>maximum_paths_ibgp</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Configures the maximum number of ibgp equal-cost paths for load sharing. Valid value is an integer in the range 1-64.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>networks</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=list</span> - </div> - </td> - <td> - </td> - <td> - <div>Networks to configure. Valid value is a list of network prefixes to advertise. The list must be in the form of an array. Each entry in the array must include a prefix address and an optional route-map. For example [['10.0.0.0/16', 'routemap_LA'], ['192.168.1.1', 'Chicago'], ['192.168.2.0/24'], ['192.168.3.0/24', 'routemap_NYC']].</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>next_hop_route_map</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Configure a route-map for valid nexthops. Valid values are a string defining the name of the route-map.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>redistribute</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=list</span> - </div> - </td> - <td> - </td> - <td> - <div>A list of redistribute directives. Multiple redistribute entries are allowed. The list must be in the form of a nested array. the first entry of each array defines the source-protocol to redistribute from; the second entry defines a route-map name. A route-map is highly advised but may be optional on some platforms, in which case it may be omitted from the array list. For example [['direct', 'rm_direct'], ['lisp', 'rm_lisp']].</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>retain_route_target</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - <div style="font-style: italic; font-size: small; color: darkgreen">added in 1.1.0</div> - </td> - <td> - </td> - <td> - <div>Retains all of the routes or the routes which are part of configured route-map. Valid values are route-map names or keyword <code>all</code> or keyword <code>default</code>. <code>all</code> retains all the routes regardless of Target-VPN community. <code>default</code> will disable the retain route target option. If you are using route-map name please ensure that the name is not same as <code>all</code> and <code>default</code>.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>safi</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>unicast</li> - <li>multicast</li> - <li>evpn</li> - </ul> - </td> - <td> - <div>Sub Address Family Identifier.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>state</b> - <a class="ansibleOptionLink" href="#parameter-" 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>present</b> ←</div></li> - <li>absent</li> - </ul> - </td> - <td> - <div>Determines whether the config should be present or not on the device.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>suppress_inactive</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Advertises only active routes to peers.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>table_map</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Apply table-map to filter routes downloaded into URIB. Valid values are a string.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>table_map_filter</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Filters routes rejected by the route-map and does not download them to the RIB.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>vrf</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <b>Default:</b><br/><div style="color: blue">"default"</div> - </td> - <td> - <div>Name of the VRF. The name 'default' is a valid VRF representing the global bgp.</div> - </td> - </tr> - </table> - <br/> - - -Notes ------ - -.. note:: - - Tested against NXOSv 7.3.(0)D1(1) on VIRL - - Unsupported for Cisco MDS - - ``state=absent`` removes the whole BGP ASN configuration - - Default, where supported, restores params default value. - - For information on using CLI and NX-API see the :ref:`NXOS Platform Options guide <nxos_platform_options>` - - For more information on using Ansible to manage network devices see the :ref:`Ansible Network Guide <network_guide>` - - For more information on using Ansible to manage Cisco devices see the `Cisco integration page <https://www.ansible.com/integrations/networks/cisco>`_. - - - -Examples --------- - -.. code-block:: yaml - - # configure a simple address-family - - cisco.nxos.nxos_bgp_af: - asn: 65535 - vrf: TESTING - afi: ipv4 - safi: unicast - advertise_l2vpn_evpn: true - state: present - retain_route_target: all - - - -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-"></div> - <b>commands</b> - <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - </div> - </td> - <td>always</td> - <td> - <div>commands sent to the 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;">['router bgp 65535', 'vrf TESTING', 'address-family ipv4 unicast', 'advertise l2vpn evpn', 'retain route-target all']</div> - </td> - </tr> - </table> - <br/><br/> - - -Status ------- - - -- This module will be removed in a release after 2023-02-24. *[deprecated]* -- For more information see `DEPRECATED`_. - - -Authors -~~~~~~~ - -- Gabriele Gerbino (@GGabriele) diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_global_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_global_module.rst index a658b46ad..1ef0c27b4 100644 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_global_module.rst +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_global_module.rst @@ -1892,6 +1892,23 @@ Parameters <td class="elbow-placeholder"></td> <td colspan="5"> <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>remote_as_route_map</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Route-map to match prefix peer AS number.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> <b>remove_private_as</b> <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> <div style="font-size: small"> @@ -4008,6 +4025,24 @@ Parameters <td class="elbow-placeholder"></td> <td colspan="4"> <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>remote_as_route_map</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Route-map to match prefix peer AS number.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> <b>remove_private_as</b> <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> <div style="font-size: small"> @@ -4544,6 +4579,7 @@ Parameters <ul style="margin: 0; padding: 0"><b>Choices:</b> <li><div style="color: blue"><b>merged</b> ←</div></li> <li>replaced</li> + <li>overridden</li> <li>deleted</li> <li>purged</li> <li>parsed</li> @@ -4556,7 +4592,8 @@ Parameters <div>State <em>purged</em> removes all the BGP configurations from the target device. Use caution with this state.</div> <div>State <em>deleted</em> only removes BGP attributes that this modules manages and does not negate the BGP process completely. Thereby, preserving address-family related configurations under BGP context.</div> <div>Running states <em>deleted</em> and <em>replaced</em> will result in an error if there are address-family configuration lines present under a neighbor, or a vrf context that is to be removed. Please use the <span class='module'>cisco.nxos.nxos_bgp_af</span> or <span class='module'>cisco.nxos.nxos_bgp_neighbor_af</span> modules for prior cleanup.</div> - <div>States <em>merged</em> and <em>replaced</em> will result in a failure if BGP is already configured with a different ASN than what is provided in the task. In such cases, please use state <em>purged</em> to remove the existing BGP process and proceed further.</div> + <div>States <code>merged</code> and <code>replaced</code> will result in a failure if BGP is already configured with a different ASN than what is provided in the task. In such cases, please use state <code>purged</code> to remove the existing BGP process and proceed further.</div> + <div>States <code>replaced</code> and <code>overridden</code> have the same behaviour for this module.</div> <div>Refer to examples for more details.</div> </td> </tr> @@ -4648,8 +4685,8 @@ Examples neighbor_down: fib_accelerate: True - # Task output - # ------------- + # Task output: + # ------------ # before: {} # # commands: @@ -4754,7 +4791,7 @@ Examples # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65563 # router-id 192.168.1.1 @@ -4878,8 +4915,8 @@ Examples fib_accelerate: True state: replaced - # Task output - # ------------- + # Task output: + # ------------ # before: # as_number: '65563' # bestpath: @@ -4992,7 +5029,7 @@ Examples # vrf: site-2 # # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65563 # router-id 192.168.1.1 @@ -5073,8 +5110,8 @@ Examples cisco.nxos.nxos_bgp_global: state: deleted - # Task output - # ------------- + # Task output: + # ------------ # before: # as_number: '65563' @@ -5156,7 +5193,7 @@ Examples # as_number: '65563' # # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65563 # address-family ipv4 unicast @@ -5226,8 +5263,8 @@ Examples cisco.nxos.nxos_bgp_global: state: purged - # Task output - # ------------- + # Task output: + # ------------ # before: # as_number: '65563' @@ -5295,7 +5332,7 @@ Examples # after: {} # # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # Nexus9000v# @@ -5363,8 +5400,8 @@ Examples neighbor_down: fib_accelerate: True - # Task Output (redacted) - # ----------------------- + # Task output: + # ------------ # rendered: # - router bgp 65563 # - bestpath as-path multipath-relax @@ -5453,8 +5490,8 @@ Examples running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed - # Task output (redacted) - # ----------------------- + # Task output: + # ------------ # parsed: # as_number: '65563' # bestpath: @@ -5546,8 +5583,8 @@ Examples cisco.nxos.nxos_bgp_global: state: gathered - # Task output (redacted) - # ----------------------- + # Task output: + # ------------ # gathered: # as_number: '65563' # bestpath: @@ -5620,8 +5657,8 @@ Examples key: 12090404011C03162E state: replaced - # Task output (redacted) - # ----------------------- + # Task output: + # ------------ # fatal: [Nexus9000v]: FAILED! => changed=false # msg: Neighbor 203.0.113.2 has address-family configurations. # Please use the nxos_bgp_neighbor_af module to remove those first. @@ -5668,8 +5705,8 @@ Examples fib_accelerate: True state: replaced - # Task output (redacted) - # ----------------------- + # Task output: + # ------------ # fatal: [Nexus9000v]: FAILED! => changed=false # msg: VRF site-1 has address-family configurations. # Please use the nxos_bgp_af module to remove those first. @@ -5741,6 +5778,57 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router bgp 65563', 'maxas-limit 20', 'router-id 192.168.1.1', 'confederation peers 65020 65030 65040', 'neighbor 192.168.1.100', 'remote-as 65563', 'affinity-group 160', 'bmp-activate-server 1', 'description NBR-1', 'low-memory exempt', 'vrf site-1', 'log-neighbor-changes', 'neighbor 198.51.100.1', 'remote-as 65562', 'description site-1-nbr-1', 'password 3 13D4D3549493D2877B1DC116EE27A6BE']</div> </td> </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</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;">['router bgp 65563', 'maxas-limit 20', 'router-id 192.168.1.1']</div> + </td> + </tr> </table> <br/><br/> diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_module.rst deleted file mode 100644 index e31ad1d85..000000000 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_module.rst +++ /dev/null @@ -1,840 +0,0 @@ -.. _cisco.nxos.nxos_bgp_module: - - -******************* -cisco.nxos.nxos_bgp -******************* - -**(deprecated, removed after 2023-01-27) Manages BGP configuration.** - - -Version added: 1.0.0 - -.. contents:: - :local: - :depth: 1 - -DEPRECATED ----------- -:Removed in collection release after 2023-01-27 -:Why: Updated module released with more functionality. -:Alternative: nxos_bgp_global - - - -Synopsis --------- -- Manages BGP configurations on NX-OS switches. - - - - -Parameters ----------- - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="1">Parameter</th> - <th>Choices/<font color="blue">Defaults</font></th> - <th width="100%">Comments</th> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>asn</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - </td> - <td> - <div>BGP autonomous system number. Valid values are String, Integer in ASPLAIN or ASDOT notation.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>bestpath_always_compare_med</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable MED comparison on paths from different autonomous systems.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>bestpath_aspath_multipath_relax</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable load sharing across the providers with different (but equal-length) AS paths.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>bestpath_compare_neighborid</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable neighborid. Use this when more paths available than max path config.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>bestpath_compare_routerid</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable comparison of router IDs for identical eBGP paths.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>bestpath_cost_community_ignore</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable Ignores the cost community for BGP best-path calculations.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>bestpath_med_confed</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable enforcement of bestpath to do a MED comparison only between paths originated within a confederation.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>bestpath_med_missing_as_worst</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable assigns the value of infinity to received routes that do not carry the MED attribute, making these routes the least desirable.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>bestpath_med_non_deterministic</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable deterministic selection of the best MED pat from among the paths from the same autonomous system.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>cluster_id</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Route Reflector Cluster-ID.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>confederation_id</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Routing domain confederation AS.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>confederation_peers</b> - <a class="ansibleOptionLink" href="#parameter-" 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>AS confederation parameters.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>disable_policy_batching</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable the batching evaluation of prefix advertisement to all peers.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>disable_policy_batching_ipv4_prefix_list</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Enable/Disable the batching evaluation of prefix advertisements to all peers with prefix list.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>disable_policy_batching_ipv6_prefix_list</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Enable/Disable the batching evaluation of prefix advertisements to all peers with prefix list.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>enforce_first_as</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable enforces the neighbor autonomous system to be the first AS number listed in the AS path attribute for eBGP. On NX-OS, this property is only supported in the global BGP context.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>event_history_cli</b> - <a class="ansibleOptionLink" href="#parameter-" 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>size_small</li> - <li>size_medium</li> - <li>size_large</li> - <li>size_disable</li> - <li>default</li> - <li>true</li> - <li>false</li> - </ul> - </td> - <td> - <div>Enable/Disable cli event history buffer.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>event_history_detail</b> - <a class="ansibleOptionLink" href="#parameter-" 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>size_small</li> - <li>size_medium</li> - <li>size_large</li> - <li>size_disable</li> - <li>default</li> - <li>true</li> - <li>false</li> - </ul> - </td> - <td> - <div>Enable/Disable detail event history buffer.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>event_history_events</b> - <a class="ansibleOptionLink" href="#parameter-" 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>size_small</li> - <li>size_medium</li> - <li>size_large</li> - <li>size_disable</li> - <li>default</li> - <li>true</li> - <li>false</li> - </ul> - </td> - <td> - <div>Enable/Disable event history buffer.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>event_history_periodic</b> - <a class="ansibleOptionLink" href="#parameter-" 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>size_small</li> - <li>size_medium</li> - <li>size_large</li> - <li>size_disable</li> - <li>default</li> - <li>true</li> - <li>false</li> - </ul> - </td> - <td> - <div>Enable/Disable periodic event history buffer.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>fast_external_fallover</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable immediately reset the session if the link to a directly connected BGP peer goes down. Only supported in the global BGP context.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>flush_routes</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable flush routes in RIB upon controlled restart. On NX-OS, this property is only supported in the global BGP context.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>graceful_restart</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable graceful restart.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>graceful_restart_helper</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable graceful restart helper mode.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>graceful_restart_timers_restart</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Set maximum time for a restart sent to the BGP peer.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>graceful_restart_timers_stalepath_time</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Set maximum time that BGP keeps the stale routes from the restarting BGP peer.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>isolate</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable isolate this router from BGP perspective.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>local_as</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Local AS number to be used within a VRF instance.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>log_neighbor_changes</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable message logging for neighbor up/down event.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>maxas_limit</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify Maximum number of AS numbers allowed in the AS-path attribute. Valid values are between 1 and 512.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>neighbor_down_fib_accelerate</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable handle BGP neighbor down event, due to various reasons.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>reconnect_interval</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>The BGP reconnection interval for dropped sessions. Valid values are between 1 and 60.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>router_id</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Router Identifier (ID) of the BGP router VRF instance.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>shutdown</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Administratively shutdown the BGP protocol.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>state</b> - <a class="ansibleOptionLink" href="#parameter-" 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>present</b> ←</div></li> - <li>absent</li> - </ul> - </td> - <td> - <div>Determines whether the config should be present or not on the device.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>suppress_fib_pending</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Enable/Disable advertise only routes programmed in hardware to peers.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>timer_bestpath_limit</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify timeout for the first best path after a restart, in seconds.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>timer_bgp_hold</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Set BGP hold timer.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>timer_bgp_keepalive</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Set BGP keepalive timer.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>vrf</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <b>Default:</b><br/><div style="color: blue">"default"</div> - </td> - <td> - <div>Name of the VRF. The name 'default' is a valid VRF representing the global BGP.</div> - </td> - </tr> - </table> - <br/> - - -Notes ------ - -.. note:: - - Tested against NXOSv 7.3.(0)D1(1) on VIRL - - Unsupported for Cisco MDS - - ``state=absent`` removes the whole BGP ASN configuration when ``vrf=default`` or the whole VRF instance within the BGP process when using a different VRF. - - Default when supported restores params default value. - - Configuring global params is only permitted if ``vrf=default``. - - For information on using CLI and NX-API see the :ref:`NXOS Platform Options guide <nxos_platform_options>` - - For more information on using Ansible to manage network devices see the :ref:`Ansible Network Guide <network_guide>` - - For more information on using Ansible to manage Cisco devices see the `Cisco integration page <https://www.ansible.com/integrations/networks/cisco>`_. - - - -Examples --------- - -.. code-block:: yaml - - - name: Configure a simple ASN - cisco.nxos.nxos_bgp: - asn: 65535 - vrf: test - router_id: 192.0.2.1 - state: present - - - -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-"></div> - <b>commands</b> - <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - </div> - </td> - <td>always</td> - <td> - <div>commands sent to the 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;">['router bgp 65535', 'vrf test', 'router-id 192.0.2.1']</div> - </td> - </tr> - </table> - <br/><br/> - - -Status ------- - - -- This module will be removed in a release after 2023-01-27. *[deprecated]* -- For more information see `DEPRECATED`_. - - -Authors -~~~~~~~ - -- Jason Edelman (@jedelman8) -- Gabriele Gerbino (@GGabriele) diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_neighbor_address_family_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_neighbor_address_family_module.rst index 0473c5d76..96e3c5e53 100644 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_neighbor_address_family_module.rst +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_neighbor_address_family_module.rst @@ -859,6 +859,28 @@ Parameters <td class="elbow-placeholder"></td> <td colspan="4"> <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>rewrite_rt_asn</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Auto generate RTs for EBGP neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> <b>route_map</b> <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> <div style="font-size: small"> @@ -2080,6 +2102,29 @@ Parameters <td class="elbow-placeholder"></td> <td colspan="3"> <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>rewrite_rt_asn</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Auto generate RTs for EBGP neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> <b>route_map</b> <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> <div style="font-size: small"> @@ -2599,8 +2644,8 @@ Examples send_community: set: True - # Task output - # ------------- + # Task output: + # ------------ # before: {} # # commands: @@ -2668,7 +2713,7 @@ Examples # safi: unicast # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # neighbor 192.0.2.32 @@ -2755,8 +2800,8 @@ Examples set: True state: replaced - # Task output - # ------------- + # Task output: + # ------------ # before: # as_number: "65536" # neighbors: @@ -2847,7 +2892,7 @@ Examples # safi: unicast # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # neighbor 192.0.2.32 @@ -2914,8 +2959,8 @@ Examples set: True state: overridden - # Task output - # ------------- + # Task output: + # ------------ # before: # as_number: "65536" # neighbors: @@ -2993,7 +3038,7 @@ Examples # set: True # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # neighbor 192.0.2.32 @@ -3049,8 +3094,8 @@ Examples safi: unicast state: deleted - # Task output - # ------------- + # Task output: + # ------------ # before: # as_number: "65536" # neighbors: @@ -3133,7 +3178,7 @@ Examples # set: True # # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # neighbor 192.0.2.32 @@ -3182,8 +3227,8 @@ Examples cisco.nxos.nxos_bgp_neighbor_address_family: state: deleted - # Task output - # ------------- + # Task output: + # ------------ # before: # as_number: "65536" # neighbors: @@ -3244,7 +3289,7 @@ Examples # as_number: "65536" # # After state: - # ------------- + # ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # neighbor 192.0.2.32 @@ -3301,8 +3346,8 @@ Examples set: True state: rendered - # Task Output (redacted) - # ----------------------- + # Task output: + # ------------ # rendered: # - router bgp 65536 # - neighbor 192.0.2.32 @@ -3356,8 +3401,8 @@ Examples running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed - # Task output (redacted) - # ----------------------- + # Task output: + # ------------ # parsed: # as_number: "65536" # neighbors: @@ -3402,6 +3447,123 @@ Examples +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-"></div> + <b>after</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when changed</td> + <td> + <div>The resulting configuration after module execution.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>before</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>merged</code>, <code>replaced</code>, <code>overridden</code>, <code>deleted</code> or <code>purged</code></td> + <td> + <div>The configuration prior to the module execution.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>commands</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>merged</code>, <code>replaced</code>, <code>overridden</code>, <code>deleted</code> or <code>purged</code></td> + <td> + <div>The set of commands 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;">['router bgp 65536', 'neighbor 192.0.2.32', 'address-family ipv4 unicast']</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</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;">['router bgp 65536', 'neighbor 192.0.2.32', 'address-family ipv4 unicast']</div> + </td> + </tr> + </table> + <br/><br/> + Status ------ diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_neighbor_af_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_neighbor_af_module.rst deleted file mode 100644 index 00f856531..000000000 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_neighbor_af_module.rst +++ /dev/null @@ -1,749 +0,0 @@ -.. _cisco.nxos.nxos_bgp_neighbor_af_module: - - -******************************* -cisco.nxos.nxos_bgp_neighbor_af -******************************* - -**(deprecated, removed after 2023-02-24) Manages BGP address-family's neighbors configuration.** - - -Version added: 1.0.0 - -.. contents:: - :local: - :depth: 1 - -DEPRECATED ----------- -:Removed in collection release after 2023-02-24 -:Why: Updated module released with more functionality. -:Alternative: nxos_bgp_neighbor_address_family - - - -Synopsis --------- -- Manages BGP address-family's neighbors configurations on NX-OS switches. - - - - -Parameters ----------- - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="1">Parameter</th> - <th>Choices/<font color="blue">Defaults</font></th> - <th width="100%">Comments</th> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>additional_paths_receive</b> - <a class="ansibleOptionLink" href="#parameter-" 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>enable</li> - <li>disable</li> - <li>inherit</li> - </ul> - </td> - <td> - <div>Valid values are enable for basic command enablement; disable for disabling the command at the neighbor af level (it adds the disable keyword to the basic command); and inherit to remove the command at this level (the command value is inherited from a higher BGP layer).</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>additional_paths_send</b> - <a class="ansibleOptionLink" href="#parameter-" 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>enable</li> - <li>disable</li> - <li>inherit</li> - </ul> - </td> - <td> - <div>Valid values are enable for basic command enablement; disable for disabling the command at the neighbor af level (it adds the disable keyword to the basic command); and inherit to remove the command at this level (the command value is inherited from a higher BGP layer).</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>advertise_map_exist</b> - <a class="ansibleOptionLink" href="#parameter-" 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>Conditional route advertisement. This property requires two route maps, an advertise-map and an exist-map. Valid values are an array specifying both the advertise-map name and the exist-map name, or simply 'default' e.g. ['my_advertise_map', 'my_exist_map']. This command is mutually exclusive with the advertise_map_non_exist property.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>advertise_map_non_exist</b> - <a class="ansibleOptionLink" href="#parameter-" 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>Conditional route advertisement. This property requires two route maps, an advertise-map and an exist-map. Valid values are an array specifying both the advertise-map name and the non-exist-map name, or simply 'default' e.g. ['my_advertise_map', 'my_non_exist_map']. This command is mutually exclusive with the advertise_map_exist property.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>afi</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>ipv4</li> - <li>ipv6</li> - <li>vpnv4</li> - <li>vpnv6</li> - <li>l2vpn</li> - </ul> - </td> - <td> - <div>Address Family Identifier.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>allowas_in</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Activate allowas-in property</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>allowas_in_max</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Max-occurrences value for allowas_in. Valid values are an integer value or 'default'. This is mutually exclusive with allowas_in.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>as_override</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Activate the as-override feature.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>asn</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - </td> - <td> - <div>BGP autonomous system number. Valid values are String, Integer in ASPLAIN or ASDOT notation.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>default_originate</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Activate the default-originate feature.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>default_originate_route_map</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Route-map for the default_originate property. Valid values are a string defining a route-map name, or 'default'. This is mutually exclusive with default_originate.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>disable_peer_as_check</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Disable checking of peer AS-number while advertising</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>filter_list_in</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Valid values are a string defining a filter-list name, or 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>filter_list_out</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Valid values are a string defining a filter-list name, or 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>max_prefix_interval</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Optional restart interval. Valid values are an integer. Requires max_prefix_limit. May not be combined with max_prefix_warning.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>max_prefix_limit</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>maximum-prefix limit value. Valid values are an integer value or 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>max_prefix_threshold</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Optional threshold percentage at which to generate a warning. Valid values are an integer value. Requires max_prefix_limit.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>max_prefix_warning</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Optional warning-only keyword. Requires max_prefix_limit. May not be combined with max_prefix_interval.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>neighbor</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - </td> - <td> - <div>Neighbor Identifier. Valid values are string. Neighbors may use IPv4 or IPv6 notation, with or without prefix length.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>next_hop_self</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Activate the next-hop-self feature.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>next_hop_third_party</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Activate the next-hop-third-party feature.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>prefix_list_in</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Valid values are a string defining a prefix-list name, or 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>prefix_list_out</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Valid values are a string defining a prefix-list name, or 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>rewrite_evpn_rt_asn</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">boolean</span> - </div> - <div style="font-style: italic; font-size: small; color: darkgreen">added in 1.1.0</div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Auto generate route targets for EBGP neighbor.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>route_map_in</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Valid values are a string defining a route-map name, or 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>route_map_out</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Valid values are a string defining a route-map name, or 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>route_reflector_client</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Router reflector client.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>safi</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>unicast</li> - <li>multicast</li> - <li>evpn</li> - </ul> - </td> - <td> - <div>Sub Address Family Identifier.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>send_community</b> - <a class="ansibleOptionLink" href="#parameter-" 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>none</li> - <li>both</li> - <li>extended</li> - <li>standard</li> - <li>default</li> - </ul> - </td> - <td> - <div>send-community attribute.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>soft_reconfiguration_in</b> - <a class="ansibleOptionLink" href="#parameter-" 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>enable</li> - <li>always</li> - <li>inherit</li> - </ul> - </td> - <td> - <div>Valid values are 'enable' for basic command enablement; 'always' to add the always keyword to the basic command; and 'inherit' to remove the command at this level (the command value is inherited from a higher BGP layer).</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>soo</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Site-of-origin. Valid values are a string defining a VPN extcommunity or 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>state</b> - <a class="ansibleOptionLink" href="#parameter-" 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>present</b> ←</div></li> - <li>absent</li> - </ul> - </td> - <td> - <div>Determines whether the config should be present or not on the device.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>suppress_inactive</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>suppress-inactive feature.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>unsuppress_map</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>unsuppress-map. Valid values are a string defining a route-map name or 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>vrf</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <b>Default:</b><br/><div style="color: blue">"default"</div> - </td> - <td> - <div>Name of the VRF. The name 'default' is a valid VRF representing the global bgp.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>weight</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Weight value. Valid values are an integer value or 'default'.</div> - </td> - </tr> - </table> - <br/> - - -Notes ------ - -.. note:: - - Tested against NXOSv 7.3.(0)D1(1) on VIRL - - Unsupported for Cisco MDS - - ``state=absent`` removes the whole BGP address-family's neighbor configuration. - - Default, when supported, removes properties - - In order to default maximum-prefix configuration, only ``max_prefix_limit=default`` is needed. - - For information on using CLI and NX-API see the :ref:`NXOS Platform Options guide <nxos_platform_options>` - - For more information on using Ansible to manage network devices see the :ref:`Ansible Network Guide <network_guide>` - - For more information on using Ansible to manage Cisco devices see the `Cisco integration page <https://www.ansible.com/integrations/networks/cisco>`_. - - - -Examples --------- - -.. code-block:: yaml - - - name: configure RR client - cisco.nxos.nxos_bgp_neighbor_af: - asn: 65535 - neighbor: 192.0.2.3 - afi: ipv4 - safi: unicast - route_reflector_client: true - state: present - rewrite_evpn_rt_asn: true - - - -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-"></div> - <b>commands</b> - <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - </div> - </td> - <td>always</td> - <td> - <div>commands sent to the 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;">['router bgp 65535', 'neighbor 192.0.2.3', 'address-family ipv4 unicast', 'route-reflector-client', 'rewrite-evpn-rt-asn']</div> - </td> - </tr> - </table> - <br/><br/> - - -Status ------- - - -- This module will be removed in a release after 2023-02-24. *[deprecated]* -- For more information see `DEPRECATED`_. - - -Authors -~~~~~~~ - -- Gabriele Gerbino (@GGabriele) diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_neighbor_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_neighbor_module.rst deleted file mode 100644 index e6f9e8f57..000000000 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_neighbor_module.rst +++ /dev/null @@ -1,561 +0,0 @@ -.. _cisco.nxos.nxos_bgp_neighbor_module: - - -**************************** -cisco.nxos.nxos_bgp_neighbor -**************************** - -**(deprecated, removed after 2023-01-27) Manages BGP neighbors configurations.** - - -Version added: 1.0.0 - -.. contents:: - :local: - :depth: 1 - -DEPRECATED ----------- -:Removed in collection release after 2023-01-27 -:Why: Updated module released with more functionality. -:Alternative: nxos_bgp_global - - - -Synopsis --------- -- Manages BGP neighbors configurations on NX-OS switches. - - - - -Parameters ----------- - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="1">Parameter</th> - <th>Choices/<font color="blue">Defaults</font></th> - <th width="100%">Comments</th> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>asn</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - </td> - <td> - <div>BGP autonomous system number. Valid values are string, Integer in ASPLAIN or ASDOT notation.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>bfd</b> - <a class="ansibleOptionLink" href="#parameter-" 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>enable</li> - <li>disable</li> - </ul> - </td> - <td> - <div>Enables/Disables BFD for a given neighbor.</div> - <div>Dependency: ''feature bfd''</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>capability_negotiation</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Configure whether or not to negotiate capability with this neighbor.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>connected_check</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Configure whether or not to check for directly connected peer.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>description</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Description of the neighbor.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>dynamic_capability</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Configure whether or not to enable dynamic capability.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>ebgp_multihop</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify multihop TTL for a remote peer. Valid values are integers between 2 and 255, or keyword 'default' to disable this property.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>local_as</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify the local-as number for the eBGP neighbor. Valid values are String or Integer in ASPLAIN or ASDOT notation, or 'default', which means not to configure it.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>log_neighbor_changes</b> - <a class="ansibleOptionLink" href="#parameter-" 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>enable</li> - <li>disable</li> - <li>inherit</li> - </ul> - </td> - <td> - <div>Specify whether or not to enable log messages for neighbor up/down event.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>low_memory_exempt</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Specify whether or not to shut down this neighbor under memory pressure.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>maximum_peers</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify Maximum number of peers for this neighbor prefix Valid values are between 1 and 1000, or 'default', which does not impose the limit. Note that this parameter is accepted only on neighbors with address/prefix.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>neighbor</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - / <span style="color: red">required</span> - </div> - </td> - <td> - </td> - <td> - <div>Neighbor Identifier. Valid values are string. Neighbors may use IPv4 or IPv6 notation, with or without prefix length.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>peer_type</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - <div style="font-style: italic; font-size: small; color: darkgreen">added in 1.1.0</div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>fabric_border_leaf</li> - <li>fabric_external</li> - <li>disable</li> - </ul> - </td> - <td> - <div>Specify the peer type for BGP session.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>pwd</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify the password for neighbor. Valid value is string.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>pwd_type</b> - <a class="ansibleOptionLink" href="#parameter-" 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>3des</li> - <li>cisco_type_7</li> - <li>default</li> - </ul> - </td> - <td> - <div>Specify the encryption type the password will use. Valid values are '3des' or 'cisco_type_7' encryption or keyword 'default'.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>remote_as</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify Autonomous System Number of the neighbor. Valid values are String or Integer in ASPLAIN or ASDOT notation, or 'default', which means not to configure it.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>remove_private_as</b> - <a class="ansibleOptionLink" href="#parameter-" 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>enable</li> - <li>disable</li> - <li>all</li> - <li>replace-as</li> - </ul> - </td> - <td> - <div>Specify the config to remove private AS number from outbound updates. Valid values are 'enable' to enable this config, 'disable' to disable this config, 'all' to remove all private AS number, or 'replace-as', to replace the private AS number.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>shutdown</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Configure to administratively shutdown this neighbor.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>state</b> - <a class="ansibleOptionLink" href="#parameter-" 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>present</b> ←</div></li> - <li>absent</li> - </ul> - </td> - <td> - <div>Determines whether the config should be present or not on the device.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>suppress_4_byte_as</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Configure to suppress 4-byte AS Capability.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>timers_holdtime</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify holdtime timer value. Valid values are integers between 0 and 3600 in terms of seconds, or 'default', which is 180.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>timers_keepalive</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify keepalive timer value. Valid values are integers between 0 and 3600 in terms of seconds, or 'default', which is 60.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>transport_passive_only</b> - <a class="ansibleOptionLink" href="#parameter-" 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>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Specify whether or not to only allow passive connection setup. Valid values are 'true', 'false', and 'default', which defaults to 'false'. This property can only be configured when the neighbor is in 'ip' address format without prefix length.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>update_source</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Specify source interface of BGP session and updates.</div> - </td> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>vrf</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <b>Default:</b><br/><div style="color: blue">"default"</div> - </td> - <td> - <div>Name of the VRF. The name 'default' is a valid VRF representing the global bgp.</div> - </td> - </tr> - </table> - <br/> - - -Notes ------ - -.. note:: - - Tested against NXOSv 7.3.(0)D1(1) on VIRL - - Unsupported for Cisco MDS - - ``state=absent`` removes the whole BGP neighbor configuration. - - Default, where supported, restores params default value. - - For information on using CLI and NX-API see the :ref:`NXOS Platform Options guide <nxos_platform_options>` - - For more information on using Ansible to manage network devices see the :ref:`Ansible Network Guide <network_guide>` - - For more information on using Ansible to manage Cisco devices see the `Cisco integration page <https://www.ansible.com/integrations/networks/cisco>`_. - - - -Examples --------- - -.. code-block:: yaml - - # create a new neighbor - - cisco.nxos.nxos_bgp_neighbor: - asn: 65535 - neighbor: 192.0.2.3 - local_as: 20 - remote_as: 30 - bfd: enable - description: just a description - update_source: Ethernet1/3 - state: present - peer_type: fabric_external - - - -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-"></div> - <b>commands</b> - <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - </div> - </td> - <td>always</td> - <td> - <div>commands sent to the 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;">['router bgp 65535', 'neighbor 192.0.2.3', 'remote-as 30', 'update-source Ethernet1/3', 'description just a description', 'local-as 20', 'peer-type fabric-external']</div> - </td> - </tr> - </table> - <br/><br/> - - -Status ------- - - -- This module will be removed in a release after 2023-01-27. *[deprecated]* -- For more information see `DEPRECATED`_. - - -Authors -~~~~~~~ - -- Gabriele Gerbino (@GGabriele) diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_templates_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_templates_module.rst new file mode 100644 index 000000000..9287d7a60 --- /dev/null +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_bgp_templates_module.rst @@ -0,0 +1,2841 @@ +.. _cisco.nxos.nxos_bgp_templates_module: + + +***************************** +cisco.nxos.nxos_bgp_templates +***************************** + +**BGP Templates resource module.** + + +Version added: 4.2.0 + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- +- This module manages BGP templates on devices running Cisco NX-OS. + + + + +Parameters +---------- + +.. raw:: html + + <table border=0 cellpadding=0 class="documentation-table"> + <tr> + <th colspan="6">Parameter</th> + <th>Choices/<font color="blue">Defaults</font></th> + <th width="100%">Comments</th> + </tr> + <tr> + <td colspan="6"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>config</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>A list of BGP templates.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>as_number</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Autonomous System Number of the router.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td colspan="5"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>neighbor</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + / <span style="color: purple">elements=dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Configure BGP peer templates.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>address_family</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + / <span style="color: purple">elements=dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Configure an address-family for peer.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>advertise_map</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Specify route-map for conditional advertisement.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>exist_map</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Condition route-map to advertise only when prefix in condition exists.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>non_exist_map</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Condition route-map to advertise only when prefix in condition does not exist.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>route_map</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + / <span style="color: red">required</span> + </div> + </td> + <td> + </td> + <td> + <div>Route-map name.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>advertisement_interval</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Minimum interval between sending BGP routing updates.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>afi</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + / <span style="color: red">required</span> + </div> + </td> + <td> + <ul style="margin: 0; padding: 0"><b>Choices:</b> + <li>ipv4</li> + <li>ipv6</li> + <li>link-state</li> + <li>l2vpn</li> + </ul> + </td> + <td> + <div>Address Family indicator.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>allowas_in</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Accept as-path with my AS present in it.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>max_occurences</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Number of occurrences of AS number, default is 3.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Activate allowas-in property.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>as_override</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Override matching AS-number while sending update.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>capability</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Advertise capability to the peer.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>additional_paths</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Additional paths capability.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>receive</b> + <a class="ansibleOptionLink" href="#parameter-" 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>enable</li> + <li>disable</li> + </ul> + </td> + <td> + <div>Additional paths Receive capability.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>send</b> + <a class="ansibleOptionLink" href="#parameter-" 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>enable</li> + <li>disable</li> + </ul> + </td> + <td> + <div>Additional paths Send capability.</div> + </td> + </tr> + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>default_originate</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Originate a default toward this peer.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>route_map</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Route-map to specify criteria for originating default.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Set default-originate attribute.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable_peer_as_check</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Disable checking of peer AS-number while advertising.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>filter_list</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Name of filter-list.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inbound</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Apply policy to incoming routes.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>outbound</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Apply policy to outgoing routes.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inherit</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Inherit a peer-policy template.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>peer_policy</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Peer-policy template to inherit.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>maximum_prefix</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Maximum number of prefixes from this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>generate_warning_threshold</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Threshold percentage at which to generate a warning.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>max_prefix_limit</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Maximum prefix limit.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>restart_interval</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Restart bgp connection after limit is exceeded.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>warning_only</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Only give a warning message when limit is exceeded.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>next_hop_self</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Set our address as nexthop (non-reflected).</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>all_routes</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Set our address as nexthop for all routes.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Set next-hop-self attribute.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>next_hop_third_party</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Compute a third-party nexthop if possible.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>prefix_list</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Apply prefix-list.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inbound</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Apply policy to incoming routes.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>outbound</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Apply policy to outgoing routes.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>route_map</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Apply route-map to neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inbound</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Name of policy to apply to incoming routes.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>outbound</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Name of policy to apply to outgoing routes.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>route_reflector_client</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Configure a neighbor as Route reflector client.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>safi</b> + <a class="ansibleOptionLink" href="#parameter-" 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>unicast</li> + <li>multicast</li> + <li>mvpn</li> + <li>evpn</li> + </ul> + </td> + <td> + <div>Sub Address Family indicator.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>send_community</b> + <a class="ansibleOptionLink" href="#parameter-" 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>standard</li> + <li>extended</li> + <li>both</li> + </ul> + </td> + <td> + <div>Send Community attribute to this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>soft_reconfiguration_inbound</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Soft reconfiguration.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>always</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Always perform inbound soft reconfiguration.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Set soft-reconfiguration inbound attribute.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>soo</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Specify Site-of-origin extcommunity.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>suppress_inactive</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Advertise only active routes to peer.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>unsuppress_map</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Route-map to selectively unsuppress suppressed routes.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>weight</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Set default weight for routes from this neighbor.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>bfd</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Bidirectional Fast Detection for the neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>multihop</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Multihop session.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>interval</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Configure BFD session interval parameters.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>min_rx_interval</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + / <span style="color: red">required</span> + </div> + </td> + <td> + </td> + <td> + <div>Minimum RX interval.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>multiplier</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + / <span style="color: red">required</span> + </div> + </td> + <td> + </td> + <td> + <div>Detect Multiplier.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>tx_interval</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + / <span style="color: red">required</span> + </div> + </td> + <td> + </td> + <td> + <div>TX interval in milliseconds.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Set BFD multihop.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Set BFD for this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>singlehop</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Single-hop session.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>bmp_activate_server</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Specify server ID for activating BMP monitoring for the peer.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>capability</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Capability.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>suppress_4_byte_as</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Suppress 4-byte AS Capability.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>description</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Neighbor specific descripion.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable_connected_check</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Disable check for directly connected peer.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>dont_capability_negotiate</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Don't negotiate capability with this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>dscp</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Set dscp value for tcp transport.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>dynamic_capability</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Dynamic Capability</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ebgp_multihop</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Specify multihop TTL for remote peer.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>graceful_shutdown</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Graceful-shutdown for this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>activate</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Send graceful-shutdown community.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>route_map</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Apply route-map to modify attributes for outbound.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Set activate.</div> + </td> + </tr> + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>inherit</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Inherit a template.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>peer_session</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Peer-session template to inherit.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>local_as</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Specify the local-as number for the eBGP neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>log_neighbor_changes</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Log message for neighbor up/down event.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>disable</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Disable logging of neighbor up/down event.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Set log-neighbor-changes.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>low_memory</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Behaviour in low memory situations.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>exempt</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Do not shutdown this peer when under memory pressure.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>name</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Name of the BGP peer template.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>password</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Configure a password for neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>encryption</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>0 specifies an UNENCRYPTED neighbor password.</div> + <div>3 specifies an 3DES ENCRYPTED neighbor password will follow.</div> + <div>7 specifies a Cisco type 7 ENCRYPTED neighbor password will follow.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>key</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Authentication password.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>path_attribute</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + / <span style="color: purple">elements=dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>BGP path attribute optional filtering.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>action</b> + <a class="ansibleOptionLink" href="#parameter-" 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>discard</li> + <li>treat-as-withdraw</li> + </ul> + </td> + <td> + <div>Action.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>range</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Path attribute range.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>end</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Path attribute range end value.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>start</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Path attribute range start value.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>type</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Path attribute type</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>remote_as</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Specify Autonomous System Number of the neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>remove_private_as</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Remove private AS number from outbound updates.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>all</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>All.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>replace_as</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Replace.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>set</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Remove private AS.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>shutdown</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Administratively shutdown this neighbor.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>timers</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Configure keepalive and hold timers.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>holdtime</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Holdtime (seconds).</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>keepalive</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Keepalive interval (seconds).</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>transport</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>BGP transport connection.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>connection_mode</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Specify type of connection.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>passive</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Allow passive connection setup only.</div> + </td> + </tr> + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>ttl_security</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Enable TTL Security Mechanism.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>hops</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">integer</span> + </div> + </td> + <td> + </td> + <td> + <div>Specify hop count for remote peer.</div> + </td> + </tr> + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>update_source</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Specify source of BGP session and updates.</div> + </td> + </tr> + + + <tr> + <td colspan="6"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>running_config</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>This option is used only with state <em>parsed</em>.</div> + <div>The value of this option should be the output received from the NX-OS device by executing the command <b>show running-config bgp | section 'template'</b>.</div> + <div>The state <em>parsed</em> reads the configuration from <code>running_config</code> option and transforms it into Ansible structured data as per the resource module's argspec and the value is then returned in the <em>parsed</em> key within the result.</div> + </td> + </tr> + <tr> + <td colspan="6"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>state</b> + <a class="ansibleOptionLink" href="#parameter-" 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>merged</b> ←</div></li> + <li>replaced</li> + <li>overridden</li> + <li>deleted</li> + <li>parsed</li> + <li>gathered</li> + <li>rendered</li> + </ul> + </td> + <td> + <div>The state the configuration should be left in.</div> + <div>Refer to examples for more details.</div> + </td> + </tr> + </table> + <br/> + + +Notes +----- + +.. note:: + - Tested against NX-OS 9.3.6. + - Unsupported for Cisco MDS + - This module works with connection ``network_cli`` and ``httpapi``. + + + +Examples +-------- + +.. code-block:: yaml + + # Using merged + + # Before state: + # -------------- + # + # nxos9k# show running-config | section "^router bgp" + # nxos9k# + + - name: Merge the provided configuration with the existing running configuration + cisco.nxos.nxos_bgp_templates: + config: + as_number: 65536 + neighbor: + - name: neighbor_tmplt_1 + address_family: + - afi: ipv4 + safi: unicast + advertise_map: + route_map: rmap1 + non_exist_map: nemap1 + advertisement_interval: 60 + disable_peer_as_check: true + bmp_activate_server: 2 + capability: + suppress_4_byte_as: true + description: Test_BGP_PEER_TEMPLATE_1 + local_as: 65536 + remote_as: 65001 + + - name: neighbor_tmplt_2 + description: Test_BGP_PEER_TEMPLATE_2 + address_family: + - afi: ipv4 + safi: multicast + advertise_map: + route_map: rmap1 + exist_map: emap1 + as_override: true + filter_list: + inbound: flist1 + outbound: flist2 + inherit: + peer_session: psession1 + timers: + holdtime: 100 + keepalive: 45 + # Task Output: + # ------------ + # before: {} + # + # commands: + # - router bgp 65536 + # - template peer neighbor_tmplt_1 + # - bmp-activate-server 2 + # - capability suppress 4-byte-as + # - description Test_BGP_PEER_TEMPLATE_1 + # - local-as 65536 + # - remote-as 65001 + # - address-family ipv4 unicast + # - advertise-map rmap1 non-exist-map nemap1 + # - advertisement-interval 60 + # - disable-peer-as-check + # - template peer neighbor_tmplt_2 + # - description Test_BGP_PEER_TEMPLATE_2 + # - inherit peer-session psession1 + # - timers 45 100 + # - address-family ipv4 multicast + # - advertise-map rmap1 exist-map emap1 + # - as-override + # - filter-list flist1 in + # - filter-list flist2 out + # + # after: + # as_number: "65536" + # neighbor: + # - name: neighbor_tmplt_1 + # address_family: + # - afi: ipv4 + # safi: unicast + # advertise_map: + # non_exist_map: nemap1 + # route_map: rmap1 + # advertisement_interval: 60 + # disable_peer_as_check: true + # bmp_activate_server: 2 + # capability: + # suppress_4_byte_as: true + # description: Test_BGP_PEER_TEMPLATE_1 + # local_as: "65536" + # remote_as: "65001" + # + # - name: neighbor_tmplt_2 + # description: Test_BGP_PEER_TEMPLATE_2 + # address_family: + # - afi: ipv4 + # safi: multicast + # advertise_map: + # exist_map: emap1 + # route_map: rmap1 + # as_override: true + # filter_list: + # inbound: flist1 + # outbound: flist2 + # inherit: + # peer_session: psession1 + # timers: + # holdtime: 100 + # keepalive: 45 + + # After state: + # -------------- + # + # nxos9k# show running-config | section "^router bgp" + # router bgp 65536 + # template peer neighbor_tmplt_1 + # capability suppress 4-byte-as + # bmp-activate-server 2 + # description Test_BGP_PEER_TEMPLATE_1 + # local-as 65536 + # remote-as 65001 + # address-family ipv4 unicast + # advertise-map rmap1 non-exist-map nemap1 + # advertisement-interval 60 + # disable-peer-as-check + # template peer neighbor_tmplt_2 + # description Test_BGP_PEER_TEMPLATE_2 + # inherit peer-session psession1 + # timers 45 100 + # address-family ipv4 multicast + # advertise-map rmap1 exist-map emap1 + # as-override + # filter-list flist1 in + # filter-list flist2 out + + # Using replaced + + # Before state: + # ------------- + # + # nxos9k# show running-config | section "^router bgp" + # router bgp 65536 + # template peer neighbor_tmplt_1 + # capability suppress 4-byte-as + # description Test_BGP_PEER_TEMPLATE_1 + # bmp-activate-server 2 + # local-as 65536 + # remote-as 65001 + # address-family ipv4 unicast + # advertise-map rmap1 non-exist-map nemap1 + # advertisement-interval 60 + # disable-peer-as-check + # template peer neighbor_tmplt_2 + # description Test_BGP_PEER_TEMPLATE_2 + # inherit peer-session psession1 + # timers 45 100 + # address-family ipv4 multicast + # advertise-map rmap1 exist-map emap1 + # as-override + # filter-list flist1 in + # filter-list flist2 out + + - name: Replace BGP templates configuration with provided configuration + cisco.nxos.nxos_bgp_templates: + config: + as_number: 65536 + neighbor: + - name: neighbor_tmplt_1 + address_family: + - afi: ipv4 + safi: unicast + advertise_map: + route_map: rmap1 + non_exist_map: nemap1 + advertisement_interval: 60 + disable_peer_as_check: true + inherit: + peer_session: psession1 + description: Test_BGP_PEER_TEMPLATE_1 + local_as: 65537 + state: replaced + + # Task output: + # ------------ + # + # before: + # as_number: "65536" + # neighbor: + # - name: neighbor_tmplt_1 + # address_family: + # - afi: ipv4 + # safi: unicast + # advertise_map: + # non_exist_map: nemap1 + # route_map: rmap1 + # advertisement_interval: 60 + # disable_peer_as_check: true + # bmp_activate_server: 2 + # capability: + # suppress_4_byte_as: true + # description: Test_BGP_PEER_TEMPLATE_1 + # local_as: "65536" + # remote_as: "65001" + # + # - name: neighbor_tmplt_2 + # description: Test_BGP_PEER_TEMPLATE_2 + # address_family: + # - afi: ipv4 + # safi: multicast + # advertise_map: + # exist_map: emap1 + # route_map: rmap1 + # as_override: true + # filter_list: + # inbound: flist1 + # outbound: flist2 + # inherit: + # peer_session: psession1 + # timers: + # holdtime: 100 + # keepalive: 45 + # + # commands: + # - router bgp 65536 + # - template peer neighbor_tmplt_1 + # - no bmp-activate-server 2 + # - no capability suppress 4-byte-as + # - inherit peer-session psession1 + # - local-as 65537 + # - no remote-as 65001 + # + # after: + # as_number: "65536" + # neighbor: + # - name: neighbor_tmplt_1 + # address_family: + # - afi: ipv4 + # safi: unicast + # advertise_map: + # non_exist_map: nemap1 + # route_map: rmap1 + # advertisement_interval: 60 + # disable_peer_as_check: true + # description: Test_BGP_PEER_TEMPLATE_1 + # inherit: + # peer_session: psession1 + # local_as: "65537" + # + # - name: neighbor_tmplt_2 + # description: Test_BGP_PEER_TEMPLATE_2 + # address_family: + # - afi: ipv4 + # safi: multicast + # advertise_map: + # exist_map: emap1 + # route_map: rmap1 + # as_override: true + # filter_list: + # inbound: flist1 + # outbound: flist2 + # inherit: + # peer_session: psession1 + # timers: + # holdtime: 100 + # keepalive: 45 + + # After state: + # ------------ + # + # nxos9k# show running-config | section "^router bgp" + # router bgp 65536 + # template peer neighbor_tmplt_1 + # inherit peer-session psession1 + # description Test_BGP_PEER_TEMPLATE_1 + # local-as 65537 + # address-family ipv4 unicast + # advertise-map rmap1 non-exist-map nemap1 + # advertisement-interval 60 + # disable-peer-as-check + # template peer neighbor_tmplt_2 + # description Test_BGP_PEER_TEMPLATE_2 + # inherit peer-session psession1 + # bmp-activate-server 2 + # timers 45 100 + # address-family ipv4 multicast + # advertise-map rmap1 exist-map emap1 + # as-override + # filter-list flist1 in + # filter-list flist2 out + + # Using overridden + # + # Before state: + # ------------- + # + # nxos9k# show running-config | section "^router bgp" + # router bgp 65536 + # template peer neighbor_tmplt_1 + # capability suppress 4-byte-as + # description Test_BGP_PEER_TEMPLATE_1 + # bmp-activate-server 2 + # local-as 65536 + # remote-as 65001 + # address-family ipv4 unicast + # advertise-map rmap1 non-exist-map nemap1 + # advertisement-interval 60 + # disable-peer-as-check + # template peer neighbor_tmplt_2 + # description Test_BGP_PEER_TEMPLATE_2 + # inherit peer-session psession1 + # timers 45 100 + # address-family ipv4 multicast + # advertise-map rmap1 exist-map emap1 + # as-override + # filter-list flist1 in + # filter-list flist2 out + + - name: Override BGP templates configuration with provided configuration + cisco.nxos.nxos_bgp_templates: + config: + as_number: 65536 + neighbor: + - name: neighbor_tmplt_1 + address_family: + - afi: ipv4 + safi: unicast + advertise_map: + route_map: rmap1 + non_exist_map: nemap1 + advertisement_interval: 60 + disable_peer_as_check: true + inherit: + peer_session: psession1 + description: Test_BGP_PEER_TEMPLATE_1 + local_as: 65537 + state: overridden + + # Task output: + # ------------ + # + # before: + # as_number: "65536" + # neighbor: + # - name: neighbor_tmplt_1 + # address_family: + # - afi: ipv4 + # safi: unicast + # advertise_map: + # non_exist_map: nemap1 + # route_map: rmap1 + # advertisement_interval: 60 + # disable_peer_as_check: true + # bmp_activate_server: 2 + # capability: + # suppress_4_byte_as: true + # description: Test_BGP_PEER_TEMPLATE_1 + # local_as: "65536" + # remote_as: "65001" + # + # - name: neighbor_tmplt_2 + # description: Test_BGP_PEER_TEMPLATE_2 + # address_family: + # - afi: ipv4 + # safi: multicast + # advertise_map: + # exist_map: emap1 + # route_map: rmap1 + # as_override: true + # filter_list: + # inbound: flist1 + # outbound: flist2 + # inherit: + # peer_session: psession1 + # timers: + # holdtime: 100 + # keepalive: 45 + # + # commands: + # - router bgp 65536 + # - template peer neighbor_tmplt_1 + # - no bmp-activate-server 2 + # - no capability suppress 4-byte-as + # - inherit peer-session psession1 + # - local-as 65537 + # - no remote-as 65001 + # - no template peer neighbor_tmplt_2 + # + # after: + # as_number: "65536" + # neighbor: + # - name: neighbor_tmplt_1 + # address_family: + # - afi: ipv4 + # safi: unicast + # advertise_map: + # non_exist_map: nemap1 + # route_map: rmap1 + # advertisement_interval: 60 + # disable_peer_as_check: true + # description: Test_BGP_PEER_TEMPLATE_1 + # inherit: + # peer_session: psession1 + # local_as: "65537" + + # After state: + # ------------ + # + # nxos9k# show running-config | section "^router bgp" + # router bgp 65536 + # template peer neighbor_tmplt_1 + # inherit peer-session psession1 + # description Test_BGP_PEER_TEMPLATE_1 + # local-as 65537 + # address-family ipv4 unicast + # advertise-map rmap1 non-exist-map nemap1 + # advertisement-interval 60 + # disable-peer-as-check + + # Using deleted + + # Before state: + # -------------- + # + # nxos9k# show running-config | section "^router bgp" + # router bgp 65536 + # template peer neighbor_tmplt_1 + # capability suppress 4-byte-as + # description Test_BGP_PEER_TEMPLATE_1 + # bmp-activate-server 2 + # local-as 65536 + # remote-as 65001 + # address-family ipv4 unicast + # advertise-map rmap1 non-exist-map nemap1 + # advertisement-interval 60 + # disable-peer-as-check + # template peer neighbor_tmplt_2 + # description Test_BGP_PEER_TEMPLATE_2 + # inherit peer-session psession1 + # timers 45 100 + # address-family ipv4 multicast + # advertise-map rmap1 exist-map emap1 + # as-override + # filter-list flist1 in + # filter-list flist2 out + + - name: Delete BGP configs handled by this module + cisco.nxos.nxos_bgp_templates: + state: deleted + + # Task output: + # ------------ + # + # before: + # as_number: "65536" + # neighbor: + # - name: neighbor_tmplt_1 + # address_family: + # - afi: ipv4 + # safi: unicast + # advertise_map: + # non_exist_map: nemap1 + # route_map: rmap1 + # advertisement_interval: 60 + # disable_peer_as_check: true + # bmp_activate_server: 2 + # capability: + # suppress_4_byte_as: true + # description: Test_BGP_PEER_TEMPLATE_1 + # local_as: "65536" + # remote_as: "65001" + # + # - name: neighbor_tmplt_2 + # description: Test_BGP_PEER_TEMPLATE_2 + # address_family: + # - afi: ipv4 + # safi: multicast + # advertise_map: + # exist_map: emap1 + # route_map: rmap1 + # as_override: true + # filter_list: + # inbound: flist1 + # outbound: flist2 + # inherit: + # peer_session: psession1 + # timers: + # holdtime: 100 + # keepalive: 45 + # + # commands: + # - router bgp 65536 + # - no template peer neighbor_tmplt_1 + # - no template peer neighbor_tmplt_2 + # + # after: {} + + # After state: + # ------------- + # nxos9k# show running-config | section "^router bgp" + # nxos9k# + + + +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-"></div> + <b>after</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when changed</td> + <td> + <div>The resulting configuration after module execution.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>before</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>merged</code>, <code>replaced</code>, <code>overridden</code>, <code>deleted</code> or <code>purged</code></td> + <td> + <div>The configuration prior to the module execution.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>commands</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>merged</code>, <code>replaced</code>, <code>overridden</code>, <code>deleted</code> or <code>purged</code></td> + <td> + <div>The set of commands 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;">['router bgp 65536', 'template peer neighbor_tmplt_1', 'no bmp-activate-server 2', 'no capability suppress 4-byte-as', 'inherit peer-session psession1', 'local-as 65537', 'no remote-as 65001', 'no template peer neighbor_tmplt_2']</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</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;">['router bgp 65536', 'template peer neighbor_tmplt_1', 'bmp-activate-server 2', 'no capability suppress 4-byte-as', 'no template peer neighbor_tmplt_2']</div> + </td> + </tr> + </table> + <br/><br/> + + +Status +------ + + +Authors +~~~~~~~ + +- Nilashish Chakraborty (@NilashishC) diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_fc_interfaces_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_fc_interfaces_module.rst new file mode 100644 index 000000000..eaad900f2 --- /dev/null +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_fc_interfaces_module.rst @@ -0,0 +1,777 @@ +.. _cisco.nxos.nxos_fc_interfaces_module: + + +***************************** +cisco.nxos.nxos_fc_interfaces +***************************** + +**Fc Interfaces resource module** + + +Version added: 5.2.0 + +.. contents:: + :local: + :depth: 1 + + +Synopsis +-------- +- This module manages the interface attributes of NX-OS fc interfaces. + + + + +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-"></div> + <b>config</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + / <span style="color: purple">elements=dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>A dictionary of interface options</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>analytics</b> + <a class="ansibleOptionLink" href="#parameter-" 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>fc-scsi</li> + <li>fc-nvme</li> + <li>fc-all</li> + </ul> + </td> + <td> + <div>Analytics type on the fc interface</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>description</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>Interface description.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>enabled</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Administrative state of the interface. Set the value to <code>true</code> to administratively enable the interface or <code>false</code> to disable it</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>mode</b> + <a class="ansibleOptionLink" href="#parameter-" 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>auto</li> + <li>E</li> + <li>F</li> + <li>Fx</li> + <li>NP</li> + <li>SD</li> + </ul> + </td> + <td> + <div>Port mode of the fc interface</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>name</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + / <span style="color: red">required</span> + </div> + </td> + <td> + </td> + <td> + <div>Full name of interface, e.g. fc1/1, fc18/48</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>speed</b> + <a class="ansibleOptionLink" href="#parameter-" 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>auto</li> + <li>1000</li> + <li>2000</li> + <li>4000</li> + <li>8000</li> + <li>10000</li> + <li>16000</li> + <li>32000</li> + <li>64000</li> + <li>auto max 2000</li> + <li>auto max 4000</li> + <li>auto max 8000</li> + <li>auto max 16000</li> + <li>auto max 32000</li> + <li>auto max 64000</li> + </ul> + </td> + <td> + <div>Interface link speed.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>trunk_mode</b> + <a class="ansibleOptionLink" href="#parameter-" 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>auto</li> + <li>on</li> + <li>off</li> + </ul> + </td> + <td> + <div>Trunk mode of the fc interface</div> + </td> + </tr> + + <tr> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>running_config</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">string</span> + </div> + </td> + <td> + </td> + <td> + <div>This option is used only with state <em>parsed</em>.</div> + <div>The value of this option should be the output received from the NX-OS device by executing the command <b>show running-config interface</b></div> + <div>The state <em>parsed</em> reads the configuration from <code>running_config</code> option and transforms it into Ansible structured data as per the resource module's argspec and the value is then returned in the <em>parsed</em> key within the result.</div> + </td> + </tr> + <tr> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>state</b> + <a class="ansibleOptionLink" href="#parameter-" 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>merged</b> ←</div></li> + <li>replaced</li> + <li>overridden</li> + <li>deleted</li> + <li>gathered</li> + <li>rendered</li> + <li>parsed</li> + </ul> + </td> + <td> + <div>The state of the configuration after module completion</div> + </td> + </tr> + </table> + <br/> + + +Notes +----- + +.. note:: + - Tested against NXOS 9.3(2) on Cisco MDS Switches + + + +Examples +-------- + +.. code-block:: yaml + + # Using merged + + # Before state: + # ------------- + # + # switch# show running-config interface all + # interface fc18/10 + # analytics type fc-nvme + # switchport speed auto max 16000 + # switchport mode auto + # switchport description $ + # switchport trunk mode on + # shutdown + + - name: Merge provided configuration with device configuration + cisco.nxos.nxos_fc_interfaces: + config: + - name: fc18/10 + analytics: fc-scsi + state: merged + + # Task Output + # ----------- + # + # before: + # - name: fc18/10 + # speed: auto max 16000 + # mode: auto + # trunk_mode: on + # enabled: False + # description: $ + # analytics: fc-nvme + # commands: + # - interface fc18/10 + # - analytics type fc-scsi + # after: + # - name: fc18/10 + # speed: auto max 16000 + # mode: auto + # trunk_mode: on + # enabled: False + # description: $ + # analytics: fc-all + + # After state: + # ------------ + # + # switch# show running-config interface all + # interface fc18/10 + # analytics type fc-scsi + # analytics type fc-nvme + # switchport speed auto max 16000 + # switchport mode auto + # switchport description $ + # switchport trunk mode on + # shutdown + + # Using replaced + + # Before state: + # ------------- + # + # switch# show running-config interface all + # interface fc18/12 + # analytics type fc-scsi + # analytics type fc-nvme + # switchport speed auto max 64000 + # switchport mode auto + # switchport description 1 + # switchport trunk mode on + # no shutdown + + - name: Replaces device configuration of listed interfaces with provided configuration + cisco.nxos.nxos_fc_interfaces: + config: + - name: fc18/12 + speed: auto max 64000 + mode: auto + trunk_mode: on + enabled: True + description: 1 + analytics: fc-scsi + state: replaced + + # Task Output + # ----------- + # + # before: + # - name: fc18/12 + # speed: auto max 64000 + # mode: auto + # trunk_mode: on + # enabled: True + # description: 1 + # analytics: fc-all + # commands: + # - interface fc18/12 + # - no analytics type fc-all + # - analytics type fc-scsi + # after: + # - name: fc18/12 + # speed: auto max 64000 + # mode: auto + # trunk_mode: on + # enabled: True + # description: 1 + # analytics: fc-scsi + + # After state: + # ------------ + # + # switch# show running-config interface all + # interface fc18/12 + # analytics type fc-scsi + # switchport speed auto max 64000 + # switchport mode auto + # switchport description 1 + # switchport trunk mode on + # no shutdown + + + # Using deleted + + # Before state: + # ------------- + # + # switch# show running-config interface all + # interface fc1/2 + # switchport speed 1000 + # switchport mode E + # no switchport description + # switchport trunk mode off + # no shutdown + + - name: Delete or return interface parameters to default settings + cisco.nxos.nxos_fc_interfaces: + config: + - name: fc1/2 + state: deleted + + # Task Output + # ----------- + # + # before: + # - name: fc1/2 + # speed: 1000 + # mode: E + # trunk_mode: off + # enabled: True + # commands: + # - interface fc1/2 + # - no switchport speed 1000 + # - no switchport mode E + # - switchport trunk mode on + # - shutdown + # after: + # - name: fc1/2 + # speed: auto + # mode: auto + # trunk_mode: on + # enabled: False + + # After state: + # ------------ + # + # switch# show running-config interface all + # interface fc1/2 + # switchport speed auto + # switchport mode auto + # no switchport description + # switchport trunk mode on + # shutdown + + # Using overridden + + # Before state: + # ------------- + # + # switch# show running-config interface all + # interface fc18/12 + # analytics type fc-scsi + # analytics type fc-nvme + # switchport speed auto max 64000 + # switchport mode auto + # switchport description 1 + # switchport trunk mode on + # no shutdown + # interface fc18/13 + # analytics type fc-scsi + # analytics type fc-nvme + # switchport speed auto max 64000 + # switchport mode auto + # switchport description 1 + # switchport trunk mode on + # no shutdown + + - name: Replaces device configuration of listed interfaces with provided configuration + cisco.nxos.nxos_fc_interfaces: + config: + - name: fc18/12 + speed: auto max 64000 + mode: auto + trunk_mode: on + enabled: True + description: 1 + analytics: fc-scsi + state: overridden + + # Task Output + # ----------- + # + # before: + # - name: fc18/12 + # speed: auto max 64000 + # mode: auto + # trunk_mode: on + # enabled: True + # description: 1 + # analytics: fc-all + # - name: fc18/13 + # speed: auto max 64000 + # mode: auto + # trunk_mode: on + # enabled: True + # description: 1 + # analytics: fc-all + # commands: + # - interface fc18/12 + # no analytics type fc-all + # analytics type fc-scsi + # - interface fc18/13 + # no switchport description + # no switchport speed auto max 64000 + # no switchport mode auto + # switchport trunk mode on + # shutdown + # after: + # - name: fc18/12 + # speed: auto max 64000 + # mode: auto + # trunk_mode: on + # enabled: True + # description: 1 + # analytics: fc-scsi + # - name: fc18/13 + # speed: auto max 64000 + # mode: auto + # trunk_mode: on + # enabled: False + + # After state: + # ------------ + # + # switch# show running-config interface all + # interface fc18/12 + # analytics type fc-scsi + # switchport speed auto max 64000 + # switchport mode auto + # switchport description 1 + # switchport trunk mode on + # no shutdown + # interface fc18/13 + # switchport mode auto + # switchport trunk mode on + # shutdown + + + + + + + + # Using rendered + + - name: Use rendered state to convert task input to device specific commands + cisco.nxos.nxos_fc_interfaces: + config: + - name: fc1/1 + speed: auto + mode: auto + trunk_mode: on + enabled: True + description: This is a sample line + - name: fc1/2 + speed: 1000 + mode: E + trunk_mode: off + enabled: True + state: rendered + + # Task Output + # ----------- + # + # rendered: + # interface fc1/1 + # switchport speed auto + # switchport mode auto + # switchport description This is a sample line + # switchport trunk mode on + # no shutdown + # + # interface fc1/2 + # switchport speed 1000 + # switchport mode E + # no switchport description + # switchport trunk mode off + # no shutdown + + # Using parsed + + # parsed.cfg + # ------------ + # + # interface fc1/1 + # switchport speed auto + # switchport mode auto + # switchport description This is a sample line + # switchport trunk mode on + # no shutdown + # + # interface fc1/2 + # switchport speed 1000 + # switchport mode E + # no switchport description + # switchport trunk mode off + # no shutdown + + - name: Use parsed state to convert externally supplied config to structured format + cisco.nxos.nxos_fc_interfaces: + running_config: "{{ lookup('file', 'parsed.cfg') }}" + state: parsed + + # Task output + # ----------- + # + # parsed: + # - name: fc1/1 + # speed: auto + # mode: auto + # trunk_mode: on + # enabled: True + # description: This is a sample line + # - name: fc1/2 + # speed: 1000 + # mode: E + # trunk_mode: off + # enabled: True + + # Using gathered + + # Before state: + # ------------- + # + # switch# show running-config | section interface + # interface fc1/1 + # switchport speed auto + # switchport mode auto + # switchport description This is a sample line + # switchport trunk mode on + # no shutdown + # + # interface fc1/2 + # switchport speed 1000 + # switchport mode E + # no switchport description + # switchport trunk mode off + # no shutdown + # + - name: Gather interfaces facts from the device using nxos_fc_interfaces + cisco.nxos.nxos_fc_interfaces: + state: gathered + # + # Task output + # ----------- + # + # - name: fc1/1 + # speed: auto + # mode: auto + # trunk_mode: on + # enabled: True + # description: This is a sample line + # - name: fc1/2 + # speed: 1000 + # mode: E + # trunk_mode: off + # enabled: True + + + +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-"></div> + <b>after</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when changed</td> + <td> + <div>The resulting configuration after module execution.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>before</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>merged</code>, <code>replaced</code>, <code>overridden</code>, <code>deleted</code> or <code>purged</code></td> + <td> + <div>The configuration prior to the module execution.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>commands</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>merged</code>, <code>replaced</code>, <code>overridden</code>, <code>deleted</code> or <code>purged</code></td> + <td> + <div>The set of commands 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;">['interface fc1/1', 'description sample description', 'shutdown']</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</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;">['interface fc1/1', 'description sample description', 'shutdown']</div> + </td> + </tr> + </table> + <br/><br/> + + +Status +------ + + +Authors +~~~~~~~ + +- Suhas Bharadwaj (@srbharadwaj) diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_lacp_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_lacp_module.rst index 81fcb8fc2..b0410c783 100644 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_lacp_module.rst +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_lacp_module.rst @@ -171,6 +171,7 @@ Parameters <ul style="margin: 0; padding: 0"><b>Choices:</b> <li><div style="color: blue"><b>merged</b> ←</div></li> <li>replaced</li> + <li>overridden</li> <li>deleted</li> <li>gathered</li> <li>rendered</li> @@ -179,6 +180,7 @@ Parameters </td> <td> <div>The state of the configuration after module completion.</div> + <div>States <code>replaced</code> and <code>overridden</code> have the same behaviour for this module.</div> </td> </tr> </table> diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_lldp_global_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_lldp_global_module.rst index 0f012f985..57252cfe0 100644 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_lldp_global_module.rst +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_lldp_global_module.rst @@ -414,6 +414,7 @@ Parameters <ul style="margin: 0; padding: 0"><b>Choices:</b> <li><div style="color: blue"><b>merged</b> ←</div></li> <li>replaced</li> + <li>overridden</li> <li>deleted</li> <li>gathered</li> <li>rendered</li> @@ -421,7 +422,8 @@ Parameters </ul> </td> <td> - <div>The state of the configuration after module completion</div> + <div>The state of the configuration after module completion.</div> + <div>States <code>replaced</code> and <code>overridden</code> have the same behaviour for this module.</div> </td> </tr> </table> diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_ospf_interfaces_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_ospf_interfaces_module.rst index 19ba44ab1..6dbfbd5f5 100644 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_ospf_interfaces_module.rst +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_ospf_interfaces_module.rst @@ -826,122 +826,77 @@ Examples key: 12090404011C03162E state: merged - # Task output - # ------------- - # "before": [ - # { - # "name": "Ethernet1/1" - # }, - # { - # "name": "Ethernet1/2" - # }, - # { - # "name": "Ethernet1/3" - # }, - # ] + # Task output: + # ------------ + # before: + # - name: Ethernet1/1 + # - name: Ethernet1/2 + # - name: Ethernet1/3 # - # "commands": [ - # "interface Ethernet1/1", - # "ip router ospf multi-area 11.11.11.11", - # "ip router ospf 100 area 1.1.1.1 secondaries none", - # "ipv6 router ospfv3 multi-area 16.10.10.10", - # "ipv6 router ospfv3 200 area 2.2.2.2", - # "ipv6 router ospfv3 200 multi-area 21.0.0.0", - # "ipv6 router ospfv3 300 multi-area 50.50.50.50", - # "interface Ethernet1/2", - # "ip ospf authentication key-chain test-1", - # "ip ospf authentication", - # "ip ospf message-digest-key 10 md5 3 abc01d272be25d29", - # "ip ospf cost 100", - # "ospfv3 network broadcast", - # "ospfv3 shutdown", - # "interface Ethernet1/3", - # "ip ospf authentication-key 7 12090404011C03162E" - # ] + # commands: + # - interface Ethernet1/1 + # - ip router ospf multi-area 11.11.11.11 + # - ip router ospf 100 area 1.1.1.1 secondaries none + # - ipv6 router ospfv3 multi-area 16.10.10.10 + # - ipv6 router ospfv3 200 area 2.2.2.2 + # - ipv6 router ospfv3 200 multi-area 21.0.0.0 + # - ipv6 router ospfv3 300 multi-area 50.50.50.50 + # - interface Ethernet1/2 + # - ip ospf authentication key-chain test-1 + # - ip ospf authentication + # - ip ospf message-digest-key 10 md5 3 abc01d272be25d29 + # - ip ospf cost 100 + # - ospfv3 network broadcast + # - ospfv3 shutdown + # - interface Ethernet1/3 + # - ip ospf authentication-key 7 12090404011C03162E # - # "after": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "multi_areas": [ - # "11.11.11.11" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "1.1.1.1", - # "secondaries": false - # }, - # "process_id": "100" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "multi_areas": [ - # "16.10.10.10" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "2.2.2.2" - # }, - # "multi_areas": [ - # "21.0.0.0" - # ], - # "process_id": "200" - # }, - # { - # "multi_areas": [ - # "50.50.50.50" - # ], - # "process_id": "300" - # } - # ] - # } - # ], - # "name": "Ethernet1/1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "enable": true, - # "key_chain": "test-1" - # }, - # "cost": 100, - # "message_digest_key": { - # "encryption": 3, - # "key": "abc01d272be25d29", - # "key_id": 10 - # } - # }, - # { - # "afi": "ipv6", - # "network": "broadcast", - # "shutdown": true - # } - # ], - # "name": "Ethernet1/2" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication_key": { - # "encryption": 7, - # "key": "12090404011C03162E" - # } - # } - # ], - # "name": "Ethernet1/3" - # }, - # ] + # after: + # - address_family: + # - afi: ipv4 + # multi_areas: + # - 11.11.11.11 + # processes: + # - area: + # area_id: 1.1.1.1 + # secondaries: false + # process_id: '100' + # - afi: ipv6 + # multi_areas: + # - 16.10.10.10 + # processes: + # - area: + # area_id: 2.2.2.2 + # multi_areas: + # - 21.0.0.0 + # process_id: '200' + # - multi_areas: + # - 50.50.50.50 + # process_id: '300' + # name: Ethernet1/1 + # - address_family: + # - afi: ipv4 + # authentication: + # enable: true + # key_chain: test-1 + # cost: 100 + # message_digest_key: + # encryption: 3 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # key_id: 10 + # - afi: ipv6 + # network: broadcast + # shutdown: true + # name: Ethernet1/2 + # - address_family: + # - afi: ipv4 + # authentication_key: + # encryption: 7 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # name: Ethernet1/3 # After state: - # ------------- + # ------------ # NXOS# show running-config | section ^interface # interface Ethernet1/1 # no switchport @@ -967,7 +922,7 @@ Examples # Using replaced # Before state: - # ------------ + # ------------- # NXOS# show running-config | section ^interface # interface Ethernet1/1 # no switchport @@ -1005,151 +960,92 @@ Examples - name: Ethernet1/3 state: replaced - # Task output - # ------------- - # "before": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "multi_areas": [ - # "11.11.11.11" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "1.1.1.1", - # "secondaries": false - # }, - # "process_id": "100" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "multi_areas": [ - # "16.10.10.10" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "2.2.2.2" - # }, - # "multi_areas": [ - # "21.0.0.0" - # ], - # "process_id": "200" - # }, - # { - # "multi_areas": [ - # "50.50.50.50" - # ], - # "process_id": "300" - # } - # ] - # } - # ], - # "name": "Ethernet1/1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "enable": true, - # "key_chain": "test-1" - # }, - # "cost": 100, - # "message_digest_key": { - # "encryption": 3, - # "key": "abc01d272be25d29", - # "key_id": 10 - # } - # }, - # { - # "afi": "ipv6", - # "network": "broadcast", - # "shutdown": true - # } - # ], - # "name": "Ethernet1/2" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication_key": { - # "encryption": 7, - # "key": "12090404011C03162E" - # } - # } - # ], - # "name": "Ethernet1/3" - # }, - # ] + # Task output: + # ------------ + # before: + # - address_family: + # - afi: ipv4 + # multi_areas: + # - 11.11.11.11 + # processes: + # - area: + # area_id: 1.1.1.1 + # secondaries: false + # process_id: '100' + # - afi: ipv6 + # multi_areas: + # - 16.10.10.10 + # processes: + # - area: + # area_id: 2.2.2.2 + # multi_areas: + # - 21.0.0.0 + # process_id: '200' + # - multi_areas: + # - 50.50.50.50 + # process_id: '300' + # name: Ethernet1/1 + # - address_family: + # - afi: ipv4 + # authentication: + # enable: true + # key_chain: test-1 + # cost: 100 + # message_digest_key: + # encryption: 3 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # key_id: 10 + # - afi: ipv6 + # network: broadcast + # shutdown: true + # name: Ethernet1/2 + # - address_family: + # - afi: ipv4 + # authentication_key: + # encryption: 7 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # name: Ethernet1/3 # - # "commands": [ - # "interface Ethernet1/1", - # "ip router ospf multi-area 11.11.11.12", - # "no ip router ospf multi-area 11.11.11.11", - # "no ipv6 router ospfv3 multi-area 16.10.10.10", - # "no ipv6 router ospfv3 200 area 2.2.2.2", - # "no ipv6 router ospfv3 200 multi-area 21.0.0.0", - # "no ipv6 router ospfv3 300 multi-area 50.50.50.50", - # "interface Ethernet1/3", - # "no ip ospf authentication-key 7 12090404011C03162E" - # ] + # commands: + # - interface Ethernet1/1 + # - ip router ospf multi-area 11.11.11.12 + # - no ip router ospf multi-area 11.11.11.11 + # - no ipv6 router ospfv3 multi-area 16.10.10.10 + # - no ipv6 router ospfv3 200 area 2.2.2.2 + # - no ipv6 router ospfv3 200 multi-area 21.0.0.0 + # - no ipv6 router ospfv3 300 multi-area 50.50.50.50 + # - interface Ethernet1/3 + # - no ip ospf authentication-key 7 12090404011C03162E # - # "after": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "multi_areas": [ - # "11.11.11.12" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "1.1.1.1", - # "secondaries": false - # }, - # "process_id": "100" - # } - # ] - # } - # ], - # "name": "Ethernet1/1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "enable": true, - # "key_chain": "test-1" - # }, - # "cost": 100, - # "message_digest_key": { - # "encryption": 3, - # "key": "abc01d272be25d29", - # "key_id": 10 - # } - # }, - # { - # "afi": "ipv6", - # "network": "broadcast", - # "shutdown": true - # } - # ], - # "name": "Ethernet1/2" - # }, - # { - # "name": "Ethernet1/3" - # }, + # after: + # - address_family: + # - afi: ipv4 + # multi_areas: + # - 11.11.11.12 + # processes: + # - area: + # area_id: 1.1.1.1 + # secondaries: false + # process_id: '100' + # name: Ethernet1/1 + # - address_family: + # - afi: ipv4 + # authentication: + # enable: true + # key_chain: test-1 + # cost: 100 + # message_digest_key: + # encryption: 3 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # key_id: 10 + # - afi: ipv6 + # network: broadcast + # shutdown: true + # name: Ethernet1/2 + # - name: Ethernet1/3 # # After state: - # ------------- + # ------------ # NXOS# show running-config | section ^interface # interface Ethernet1/1 # no switchport @@ -1170,7 +1066,7 @@ Examples # Using overridden # Before state: - # ------------ + # ------------- # NXOS# show running-config | section ^interface # interface Ethernet1/1 # no switchport @@ -1207,136 +1103,83 @@ Examples - 11.11.11.12 state: overridden - # Task output - # ------------- - # "before": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "multi_areas": [ - # "11.11.11.11" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "1.1.1.1", - # "secondaries": false - # }, - # "process_id": "100" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "multi_areas": [ - # "16.10.10.10" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "2.2.2.2" - # }, - # "multi_areas": [ - # "21.0.0.0" - # ], - # "process_id": "200" - # }, - # { - # "multi_areas": [ - # "50.50.50.50" - # ], - # "process_id": "300" - # } - # ] - # } - # ], - # "name": "Ethernet1/1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "enable": true, - # "key_chain": "test-1" - # }, - # "cost": 100, - # "message_digest_key": { - # "encryption": 3, - # "key": "abc01d272be25d29", - # "key_id": 10 - # } - # }, - # { - # "afi": "ipv6", - # "network": "broadcast", - # "shutdown": true - # } - # ], - # "name": "Ethernet1/2" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication_key": { - # "encryption": 7, - # "key": "12090404011C03162E" - # } - # } - # ], - # "name": "Ethernet1/3" - # }, - # ] + # Task output: + # ------------ + # before: + # - address_family: + # - afi: ipv4 + # multi_areas: + # - 11.11.11.11 + # processes: + # - area: + # area_id: 1.1.1.1 + # secondaries: false + # process_id: '100' + # - afi: ipv6 + # multi_areas: + # - 16.10.10.10 + # processes: + # - area: + # area_id: 2.2.2.2 + # multi_areas: + # - 21.0.0.0 + # process_id: '200' + # - multi_areas: + # - 50.50.50.50 + # process_id: '300' + # name: Ethernet1/1 + # - address_family: + # - afi: ipv4 + # authentication: + # enable: true + # key_chain: test-1 + # cost: 100 + # message_digest_key: + # encryption: 3 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # key_id: 10 + # - afi: ipv6 + # network: broadcast + # shutdown: true + # name: Ethernet1/2 + # - address_family: + # - afi: ipv4 + # authentication_key: + # encryption: 7 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # name: Ethernet1/3 # - # "commands": [ - # "interface Ethernet1/2", - # "no ip ospf authentication key-chain test-1", - # "no ip ospf authentication", - # "no ip ospf message-digest-key 10 md5 3 abc01d272be25d29", - # "no ip ospf cost 100", - # "no ospfv3 network broadcast", - # "no ospfv3 shutdown", - # "interface Ethernet1/3", - # "no ip ospf authentication-key 7 12090404011C03162E", - # "interface Ethernet1/1", - # "ip router ospf multi-area 11.11.11.12", - # "no ip router ospf multi-area 11.11.11.11", - # "no ipv6 router ospfv3 multi-area 16.10.10.10", - # "no ipv6 router ospfv3 200 area 2.2.2.2", - # "no ipv6 router ospfv3 200 multi-area 21.0.0.0", - # "no ipv6 router ospfv3 300 multi-area 50.50.50.50" - # ] + # commands: + # - interface Ethernet1/2 + # - no ip ospf authentication key-chain test-1 + # - no ip ospf authentication + # - no ip ospf message-digest-key 10 md5 3 abc01d272be25d29 + # - no ip ospf cost 100 + # - no ospfv3 network broadcast + # - no ospfv3 shutdown + # - interface Ethernet1/3 + # - no ip ospf authentication-key 7 12090404011C03162E + # - interface Ethernet1/1 + # - ip router ospf multi-area 11.11.11.12 + # - no ip router ospf multi-area 11.11.11.11 + # - no ipv6 router ospfv3 multi-area 16.10.10.10 + # - no ipv6 router ospfv3 200 area 2.2.2.2 + # - no ipv6 router ospfv3 200 multi-area 21.0.0.0 + # - no ipv6 router ospfv3 300 multi-area 50.50.50.50 # - # "after": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "multi_areas": [ - # "11.11.11.12" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "1.1.1.1", - # "secondaries": false - # }, - # "process_id": "100" - # } - # ] - # } - # ], - # "name": "Ethernet1/1" - # }, - # { - # "name": "Ethernet1/2" - # }, - # { - # "name": "Ethernet1/3" - # }, - # ] + # after: + # - address_family: + # - afi: ipv4 + # multi_areas: + # - 11.11.11.12 + # processes: + # - area: + # area_id: 1.1.1.1 + # secondaries: false + # process_id: '100' + # name: Ethernet1/1 + # - name: Ethernet1/2 + # - name: Ethernet1/3 # After state: # ------------- @@ -1353,7 +1196,7 @@ Examples # Using deleted to delete OSPF config of a single interface # Before state: - # ------------ + # ------------- # NXOS# show running-config | section ^interface # interface Ethernet1/1 # no switchport @@ -1381,139 +1224,84 @@ Examples - name: Ethernet1/1 state: deleted - # Task output - # ------------- - # "before": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "multi_areas": [ - # "11.11.11.11" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "1.1.1.1", - # "secondaries": false - # }, - # "process_id": "100" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "multi_areas": [ - # "16.10.10.10" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "2.2.2.2" - # }, - # "multi_areas": [ - # "21.0.0.0" - # ], - # "process_id": "200" - # }, - # { - # "multi_areas": [ - # "50.50.50.50" - # ], - # "process_id": "300" - # } - # ] - # } - # ], - # "name": "Ethernet1/1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "enable": true, - # "key_chain": "test-1" - # }, - # "cost": 100, - # "message_digest_key": { - # "encryption": 3, - # "key": "abc01d272be25d29", - # "key_id": 10 - # } - # }, - # { - # "afi": "ipv6", - # "network": "broadcast", - # "shutdown": true - # } - # ], - # "name": "Ethernet1/2" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication_key": { - # "encryption": 7, - # "key": "12090404011C03162E" - # } - # } - # ], - # "name": "Ethernet1/3" - # }, - # ] + # Task output: + # ------------ + # before: + # - address_family: + # - afi: ipv4 + # multi_areas: + # - 11.11.11.11 + # processes: + # - area: + # area_id: 1.1.1.1 + # secondaries: false + # process_id: '100' + # - afi: ipv6 + # multi_areas: + # - 16.10.10.10 + # processes: + # - area: + # area_id: 2.2.2.2 + # multi_areas: + # - 21.0.0.0 + # process_id: '200' + # - multi_areas: + # - 50.50.50.50 + # process_id: '300' + # name: Ethernet1/1 + # - address_family: + # - afi: ipv4 + # authentication: + # enable: true + # key_chain: test-1 + # cost: 100 + # message_digest_key: + # encryption: 3 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # key_id: 10 + # - afi: ipv6 + # network: broadcast + # shutdown: true + # name: Ethernet1/2 + # - address_family: + # - afi: ipv4 + # authentication_key: + # encryption: 7 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # name: Ethernet1/3 # - # "commands": [ - # "interface Ethernet1/1", - # "no ip router ospf multi-area 11.11.11.11", - # "no ip router ospf 100 area 1.1.1.1 secondaries none", - # "no ipv6 router ospfv3 multi-area 16.10.10.10", - # "no ipv6 router ospfv3 200 area 2.2.2.2", - # "no ipv6 router ospfv3 200 multi-area 21.0.0.0", - # "no ipv6 router ospfv3 300 multi-area 50.50.50.50" - # ] + # commands: + # - interface Ethernet1/1 + # - no ip router ospf multi-area 11.11.11.11 + # - no ip router ospf 100 area 1.1.1.1 secondaries none + # - no ipv6 router ospfv3 multi-area 16.10.10.10 + # - no ipv6 router ospfv3 200 area 2.2.2.2 + # - no ipv6 router ospfv3 200 multi-area 21.0.0.0 + # - no ipv6 router ospfv3 300 multi-area 50.50.50.50 # - # "before": [ - # { - # "name": "Ethernet1/1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "enable": true, - # "key_chain": "test-1" - # }, - # "cost": 100, - # "message_digest_key": { - # "encryption": 3, - # "key": "abc01d272be25d29", - # "key_id": 10 - # } - # }, - # { - # "afi": "ipv6", - # "network": "broadcast", - # "shutdown": true - # } - # ], - # "name": "Ethernet1/2" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication_key": { - # "encryption": 7, - # "key": "12090404011C03162E" - # } - # } - # ], - # "name": "Ethernet1/3" - # }, - # ] + # after: + # - name: Ethernet1/1 + # - address_family: + # - afi: ipv4 + # authentication: + # enable: true + # key_chain: test-1 + # cost: 100 + # message_digest_key: + # encryption: 3 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # key_id: 10 + # - afi: ipv6 + # network: broadcast + # shutdown: true + # name: Ethernet1/2 + # - address_family: + # - afi: ipv4 + # authentication_key: + # encryption: 7 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # name: Ethernet1/3 + # After state: # ------------ @@ -1535,7 +1323,7 @@ Examples # Using deleted to delete OSPF config from all interfaces # Before state: - # ------------ + # ------------- # NXOS# show running-config | section ^interface # interface Ethernet1/1 # no switchport @@ -1561,119 +1349,53 @@ Examples cisco.nxos.nxos_ospf_interfaces: state: deleted - # Task output - # ------------- - # "before": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "multi_areas": [ - # "11.11.11.11" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "1.1.1.1", - # "secondaries": false - # }, - # "process_id": "100" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "multi_areas": [ - # "16.10.10.10" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "2.2.2.2" - # }, - # "multi_areas": [ - # "21.0.0.0" - # ], - # "process_id": "200" - # }, - # { - # "multi_areas": [ - # "50.50.50.50" - # ], - # "process_id": "300" - # } - # ] - # } - # ], - # "name": "Ethernet1/1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "enable": true, - # "key_chain": "test-1" - # }, - # "cost": 100, - # "message_digest_key": { - # "encryption": 3, - # "key": "abc01d272be25d29", - # "key_id": 10 - # } - # }, - # { - # "afi": "ipv6", - # "network": "broadcast", - # "shutdown": true - # } - # ], - # "name": "Ethernet1/2" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication_key": { - # "encryption": 7, - # "key": "12090404011C03162E" - # } - # } - # ], - # "name": "Ethernet1/3" - # }, - # ] + # Task output: + # ------------ + # before: + # - name: Ethernet1/1 + # - address_family: + # - afi: ipv4 + # authentication: + # enable: true + # key_chain: test-1 + # cost: 100 + # message_digest_key: + # encryption: 3 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # key_id: 10 + # - afi: ipv6 + # network: broadcast + # shutdown: true + # name: Ethernet1/2 + # - address_family: + # - afi: ipv4 + # authentication_key: + # encryption: 7 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # name: Ethernet1/3 # - # "commands": [ - # "interface Ethernet1/1", - # "no ip router ospf multi-area 11.11.11.11", - # "no ip router ospf 100 area 1.1.1.1 secondaries none", - # "no ipv6 router ospfv3 multi-area 16.10.10.10", - # "no ipv6 router ospfv3 200 area 2.2.2.2", - # "no ipv6 router ospfv3 200 multi-area 21.0.0.0", - # "no ipv6 router ospfv3 300 multi-area 50.50.50.50", - # "interface Ethernet1/2", - # "no ip ospf authentication key-chain test-1", - # "no ip ospf authentication", - # "no ip ospf message-digest-key 10 md5 3 abc01d272be25d29", - # "no ip ospf cost 100", - # "no ospfv3 network broadcast", - # "no ospfv3 shutdown", - # "interface Ethernet1/3", - # "no ip ospf authentication-key 7 12090404011C03162E" - # ] + # commands: + # - interface Ethernet1/1 + # - no ip router ospf multi-area 11.11.11.11 + # - no ip router ospf 100 area 1.1.1.1 secondaries none + # - no ipv6 router ospfv3 multi-area 16.10.10.10 + # - no ipv6 router ospfv3 200 area 2.2.2.2 + # - no ipv6 router ospfv3 200 multi-area 21.0.0.0 + # - no ipv6 router ospfv3 300 multi-area 50.50.50.50 + # - interface Ethernet1/2 + # - no ip ospf authentication key-chain test-1 + # - no ip ospf authentication + # - no ip ospf message-digest-key 10 md5 3 abc01d272be25d29 + # - no ip ospf cost 100 + # - no ospfv3 network broadcast + # - no ospfv3 shutdown + # - interface Ethernet1/3 + # - no ip ospf authentication-key 7 12090404011C03162E # - # "after": [ - # { - # "name": "Ethernet1/1" - # }, - # { - # "name": "Ethernet1/2" - # }, - # { - # "name": "Ethernet1/3" - # }, - # ] + # after: + # - name: Ethernet1/1 + # - name: Ethernet1/2 + # - name: Ethernet1/3 # After state: # ------------ @@ -1734,26 +1456,25 @@ Examples key: 12090404011C03162E state: rendered - # Task Output (redacted) - # ----------------------- - # "rendered": [ - # "interface Ethernet1/1", - # "ip router ospf multi-area 11.11.11.11", - # "ip router ospf 100 area 1.1.1.1 secondaries none", - # "ipv6 router ospfv3 multi-area 16.10.10.10", - # "ipv6 router ospfv3 200 area 2.2.2.2", - # "ipv6 router ospfv3 200 multi-area 21.0.0.0", - # "ipv6 router ospfv3 300 multi-area 50.50.50.50", - # "interface Ethernet1/2", - # "ip ospf authentication key-chain test-1", - # "ip ospf authentication", - # "ip ospf message-digest-key 10 md5 3 abc01d272be25d29", - # "ip ospf cost 100", - # "ospfv3 network broadcast", - # "ospfv3 shutdown", - # "interface Ethernet1/3", - # "ip ospf authentication-key 7 12090404011C03162E" - # ] + # Task Output: + # ------------ + # rendered: + # - interface Ethernet1/1 + # - ip router ospf multi-area 11.11.11.11 + # - ip router ospf 100 area 1.1.1.1 secondaries none + # - ipv6 router ospfv3 multi-area 16.10.10.10 + # - ipv6 router ospfv3 200 area 2.2.2.2 + # - ipv6 router ospfv3 200 multi-area 21.0.0.0 + # - ipv6 router ospfv3 300 multi-area 50.50.50.50 + # - interface Ethernet1/2 + # - ip ospf authentication key-chain test-1 + # - ip ospf authentication + # - ip ospf message-digest-key 10 md5 3 abc01d272be25d29 + # - ip ospf cost 100 + # - ospfv3 network broadcast + # - ospfv3 shutdown + # - interface Ethernet1/3 + # - ip ospf authentication-key 7 12090404011C03162E # Using parsed @@ -1781,88 +1502,51 @@ Examples running_config: "{{ lookup('file', 'ospf_interfaces.cfg') }}" state: parsed - # Task output (redacted) - # ----------------------- - # "parsed": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "multi_areas": [ - # "11.11.11.11" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "1.1.1.1", - # "secondaries": false - # }, - # "process_id": "100" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "multi_areas": [ - # "16.10.10.10" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "2.2.2.2" - # }, - # "multi_areas": [ - # "21.0.0.0" - # ], - # "process_id": "200" - # }, - # { - # "multi_areas": [ - # "50.50.50.50" - # ], - # "process_id": "300" - # } - # ] - # } - # ], - # "name": "Ethernet1/1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "enable": true, - # "key_chain": "test-1" - # }, - # "cost": 100, - # "message_digest_key": { - # "encryption": 3, - # "key": "abc01d272be25d29", - # "key_id": 10 - # } - # }, - # { - # "afi": "ipv6", - # "network": "broadcast", - # "shutdown": true - # } - # ], - # "name": "Ethernet1/2" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication_key": { - # "encryption": 7, - # "key": "12090404011C03162E" - # } - # } - # ], - # "name": "Ethernet1/3" - # }, - # ] + # Task output: + # ------------ + # parsed: + # - address_family: + # - afi: ipv4 + # multi_areas: + # - 11.11.11.11 + # processes: + # - area: + # area_id: 1.1.1.1 + # secondaries: false + # process_id: '100' + # - afi: ipv6 + # multi_areas: + # - 16.10.10.10 + # processes: + # - area: + # area_id: 2.2.2.2 + # multi_areas: + # - 21.0.0.0 + # process_id: '200' + # - multi_areas: + # - 50.50.50.50 + # process_id: '300' + # name: Ethernet1/1 + # - address_family: + # - afi: ipv4 + # authentication: + # enable: true + # key_chain: test-1 + # cost: 100 + # message_digest_key: + # encryption: 3 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # key_id: 10 + # - afi: ipv6 + # network: broadcast + # shutdown: true + # name: Ethernet1/2 + # - address_family: + # - afi: ipv4 + # authentication_key: + # encryption: 7 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # name: Ethernet1/3 # Using gathered @@ -1884,55 +1568,34 @@ Examples # interface Ethernet1/3 # no switchport - # Task output (redacted) - # ----------------------- - # "gathered": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "multi_areas": [ - # "11.11.11.12" - # ], - # "processes": [ - # { - # "area": { - # "area_id": "1.1.1.1", - # "secondaries": false - # }, - # "process_id": "100" - # } - # ] - # } - # ], - # "name": "Ethernet1/1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "authentication": { - # "enable": true, - # "key_chain": "test-1" - # }, - # "cost": 100, - # "message_digest_key": { - # "encryption": 3, - # "key": "abc01d272be25d29", - # "key_id": 10 - # } - # }, - # { - # "afi": "ipv6", - # "network": "broadcast", - # "shutdown": true - # } - # ], - # "name": "Ethernet1/2" - # }, - # { - # "name": "Ethernet1/3" - # }, + # Task output: + # ------------ + # gathered: + # - address_family: + # - afi: ipv4 + # multi_areas: + # - 11.11.11.12 + # processes: + # - area: + # area_id: 1.1.1.1 + # secondaries: false + # process_id: '100' + # name: Ethernet1/1 + # - address_family: + # - afi: ipv4 + # authentication: + # enable: true + # key_chain: test-1 + # cost: 100 + # message_digest_key: + # encryption: 3 + # key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # key_id: 10 + # - afi: ipv6 + # network: broadcast + # shutdown: true + # name: Ethernet1/2 + # - name: Ethernet1/3 @@ -2001,6 +1664,57 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['interface Ethernet1/1', 'ip router ospf multi-area 11.11.11.11', 'ip router ospf 100 area 1.1.1.1 secondaries none', 'no ipv6 router ospfv3 multi-area 16.10.10.10', 'ipv6 router ospfv3 200 area 2.2.2.2', 'ipv6 router ospfv3 200 multi-area 21.0.0.0', 'ipv6 router ospfv3 300 multi-area 50.50.50.50', 'interface Ethernet1/2', 'no ip ospf authentication key-chain test-1', 'ip ospf authentication']</div> </td> </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</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;">['interface Ethernet1/1', 'ip router ospf multi-area 11.11.11.11', 'ip router ospf 100 area 1.1.1.1 secondaries none']</div> + </td> + </tr> </table> <br/><br/> diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_ospfv2_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_ospfv2_module.rst index fabb4d7e4..bc5613068 100644 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_ospfv2_module.rst +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_ospfv2_module.rst @@ -4484,8 +4484,8 @@ Examples unit: Gbps state: merged - # Task output - # ------------- + # Task output: + # ------------ # before: {} # # commands: @@ -4650,8 +4650,8 @@ Examples no_summary: true state: replaced - # Task output - # ------------- + # Task output: + # ------------ # before: # processes: # - process_id: "100" @@ -4810,8 +4810,8 @@ Examples shutdown: true state: overridden - # Task output - # ------------- + # Task output: + # ------------ # before: # processes: # - process_id: "100" @@ -4928,8 +4928,8 @@ Examples - process_id: 102 state: deleted - # Task output - # ------------- + # Task output: + # ------------ # before: # processes: # - process_id: "100" @@ -5024,8 +5024,8 @@ Examples cisco.nxos.nxos_ospfv2: state: deleted - # Task output - # ------------- + # Task output: + # ------------ # before: # processes: # - process_id: "100" @@ -5144,8 +5144,8 @@ Examples unit: Gbps state: rendered - # Task Output (redacted) - # ----------------------- + # Task output: + # ------------ # rendered: # - router ospf 100 # - router-id 203.0.113.20 @@ -5208,8 +5208,8 @@ Examples running_config: "{{ lookup('file', 'ospfv2.cfg') }}" state: parsed - # Task output (redacted) - # ----------------------- + # Task output: + # ------------ # parsed: # processes: # - process_id: "100" @@ -5283,8 +5283,8 @@ Examples cisco.nxos.nxos_ospfv2: state: gathered - # Task output (redacted) - # ----------------------- + # Task output: + # ------------ # gathered: # processes: # - process_id: "102" @@ -5387,6 +5387,57 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router ospf 102', 'router-id 198.54.100.1', 'router ospf 100', 'router-id 192.0.100.1', 'redistribute eigrp 120 route-map rmap_1', 'redistribute direct route-map ospf-direct-connect', 'area 0.0.0.100 filter-list route-map rmap_1 in', 'area 0.0.0.100 filter-list route-map rmap_2 out', 'area 0.0.0.100 range 192.0.2.0/24 not-advertise', 'area 0.0.0.100 range 192.0.3.0/24 cost 120', 'vrf zone1', 'router-id 192.0.100.2', 'summary-address 10.0.0.0/24 tag 121', 'summary-address 11.0.0.0/24', 'redistribute static route-map zone1-direct-connect', 'vrf zone2', 'auto-cost reference-bandwidth 45 Gbps', 'capability vrf-lite evpn']</div> </td> </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</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;">['router ospf 102', 'router-id 198.54.100.1', 'router ospf 100']</div> + </td> + </tr> </table> <br/><br/> diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_ospfv3_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_ospfv3_module.rst index 0fa5710ed..0c4c9efed 100644 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_ospfv3_module.rst +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_ospfv3_module.rst @@ -3615,8 +3615,8 @@ Examples unit: Gbps state: merged - # Task output - # ------------- + # Task output: + # ------------ # before: {} # # commands: @@ -3711,7 +3711,7 @@ Examples # Using replaced # Before state: - # ------------ + # ------------- # nxos-9k-rdo# sh running-config | section "^router ospfv3" # router ospfv3 100 # router-id 203.0.113.20 @@ -3765,8 +3765,8 @@ Examples no_summary: True state: replaced - # Task output - # ------------- + # Task output: + # ------------ # before: # processes: # - process_id: "100" @@ -3877,7 +3877,7 @@ Examples # Using overridden # Before state: - # ------------ + # ------------- # nxos-9k-rdo# sh running-config | section "^router ospfv3" # router ospfv3 100 # router-id 203.0.113.20 @@ -3909,8 +3909,8 @@ Examples shutdown: true state: overridden - # Task output - # ------------- + # Task output: + # ------------ # before: # processes: # - process_id: "100" @@ -3997,7 +3997,7 @@ Examples # Using deleted to delete a single OSPF process # Before state: - # ------------ + # ------------- # nxos-9k-rdo# sh running-config | section "^router ospf .*" # router ospfv3 100 # router-id 203.0.113.20 @@ -4025,8 +4025,8 @@ Examples - process_id: 102 state: deleted - # Task output - # ------------- + # Task output: + # ------------ # before: # processes: # - process_id: "100" @@ -4090,7 +4090,7 @@ Examples # Using deleted all OSPFv3 processes from the device # Before state: - # ------------ + # ------------- # nxos-9k-rdo# sh running-config | section "^router ospfv3" # router ospfv3 100 # router-id 203.0.113.20 @@ -4115,8 +4115,8 @@ Examples cisco.nxos.nxos_ospfv3: state: deleted - # Task output - # ------------- + # Task output: + # ------------ # before: # processes: # - process_id: "100" @@ -4225,8 +4225,8 @@ Examples unit: Gbps state: rendered - # Task Output (redacted) - # ----------------------- + # Task output: + # ------------ # rendered: # - router ospfv3 100 # - router-id 203.0.113.20 @@ -4272,8 +4272,8 @@ Examples running_config: "{{ lookup('file', 'ospfv2.cfg') }}" state: parsed - # Task output (redacted) - # ----------------------- + # Task output: + # ------------ # parsed: # processes: # - process_id: "100" @@ -4323,8 +4323,8 @@ Examples cisco.nxos.nxos_ospfv3: state: gathered - # Task output (redacted) - # ----------------------- + # Task output: + # ------------ # gathered: # processes: # - process_id: "100" @@ -4439,6 +4439,57 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router ospfv3 102', 'router-id 198.54.100.1', 'router ospfv3 100', 'router-id 192.0.100.1', 'address-family ipv6 unicast', 'redistribute eigrp 120 route-map rmap_1', 'redistribute direct route-map ospf-direct-connect', 'area 0.0.0.100 filter-list route-map rmap_1 in', 'area 0.0.0.100 filter-list route-map rmap_2 out', 'area 0.0.0.100 range 2001:db2::/32 not-advertise', 'area 0.0.0.100 range 2001:db3::/32 cost 120', 'vrf zone1', 'router-id 192.0.100.2', 'vrf zone2', 'auto-cost reference-bandwidth 45 Gbps']</div> </td> </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</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;">['router ospfv3 102', 'router-id 198.54.100.1', 'router ospfv3 100']</div> + </td> + </tr> </table> <br/><br/> diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_route_maps_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_route_maps_module.rst index 817967670..6ced43a16 100644 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_route_maps_module.rst +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_route_maps_module.rst @@ -1888,6 +1888,91 @@ Parameters <td class="elbow-placeholder"></td> <td colspan="4"> <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>extcommunity</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Set BGP extcommunity attribute.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="3"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>rt</b> + <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> + <div style="font-size: small"> + <span style="color: purple">dictionary</span> + </div> + </td> + <td> + </td> + <td> + <div>Route-Target.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>additive</b> + <a class="ansibleOptionLink" href="#parameter-" 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>no</li> + <li>yes</li> + </ul> + </td> + <td> + <div>Add to existing rt extcommunity.</div> + </td> + </tr> + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="2"> + <div class="ansibleOptionAnchor" id="parameter-"></div> + <b>extcommunity_numbers</b> + <a class="ansibleOptionLink" href="#parameter-" 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>Extcommunity number.</div> + <div>Supported formats are ASN2:NN, ASN4:NN, IPV4:NN.</div> + </td> + </tr> + + + <tr> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td class="elbow-placeholder"></td> + <td colspan="4"> + <div class="ansibleOptionAnchor" id="parameter-"></div> <b>forwarding_address</b> <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> <div style="font-size: small"> diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_static_routes_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_static_routes_module.rst index 4c5be4a96..264515ecf 100644 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_static_routes_module.rst +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_static_routes_module.rst @@ -348,7 +348,7 @@ Notes ----- .. note:: - - Tested against NX-OS 7.3.(0)D1(1) on VIRL + - Tested against Nexus 9300v running NX-OS 9.3.6 on CML. - Unsupported for Cisco MDS - When a route is configured for a non-existent VRF, the VRF is created and the route is added to it. - When deleting routes for a VRF, all routes inside the VRF are deleted, but the VRF is not deleted. @@ -360,13 +360,15 @@ Examples .. code-block:: yaml - # Using deleted: + # Using deleted - delete all # Before state: # ------------- # + # switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.32/28 192.0.2.12 name new_route # ip route 192.0.2.26/24 192.0.2.13 tag 12 + # switch# show running-config | section '^vrf context' - name: Delete all routes cisco.nxos.nxos_static_routes: @@ -374,6 +376,7 @@ Examples # Task Output # ----------- + # # before: # - address_families: # - afi: ipv4 @@ -387,20 +390,24 @@ Examples # - forward_router_address: 192.0.2.12 # route_name: new_route # commands: - # - configure terminal # - no ip route 192.0.2.0/24 192.0.2.13 tag 12 # - no ip route 192.0.2.32/28 192.0.2.12 name new_route # after: [] + # After state: # ------------ - # + # switch# show running-config | include '^ip(v6)* route' + # switch# show running-config | section '^vrf context' + # Using deleted - vrf based # Before state: # ------------ # + # switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.24 name new_route # ip route 192.0.2.80/28 192.0.2.26 tag 12 + # switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.64/28 192.0.2.22 tag 4 # ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 @@ -414,6 +421,7 @@ Examples # Task Output # ----------- + # # before: # - address_families: # - afi: ipv4 @@ -464,16 +472,22 @@ Examples # After state: # ----------- + # + # switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.24 name new_route # ip route 192.0.2.80/28 192.0.2.26 tag 12 + # switch# show running-config | section '^vrf context' # vrf context trial_vrf + # Using deleted - afi based # Before state: # ------------ # + # switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.24 name new_route # ip route 192.0.2.80/28 192.0.2.26 tag 12 + # switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.64/28 192.0.2.22 tag 4 # ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 @@ -489,6 +503,7 @@ Examples # Task Output # ----------- + # # before: # - address_families: # - afi: ipv4 @@ -547,8 +562,11 @@ Examples # After state: # ----------- + # + # switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.24 name new_route # ip route 192.0.2.80/28 192.0.2.26 tag 12 + # switch# show running-config | section '^vrf context' # vrf context trial_vrf # ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5 @@ -556,7 +574,8 @@ Examples # Before state: # ------------- - # + # switch# show running-config | include '^ip(v6)* route' + # switch# show running-config | section '^vrf context' - name: Merge new static route configuration cisco.nxos.nxos_static_routes: @@ -570,7 +589,6 @@ Examples - forward_router_address: 192.0.2.22 tag: 4 admin_distance: 2 - - address_families: - afi: ipv4 routes: @@ -588,11 +606,11 @@ Examples # Task Output # ----------- + # # before:[] # commands: # - vrf context trial_vrf # - ip route 192.0.2.64/24 192.0.2.22 tag 4 2 - # - configure terminal # - ip route 192.0.2.16/24 192.0.2.24 name new_route # - ipv6 route 2001:db8::/64 Ethernet1/3 2001:db8::12 # after: @@ -605,7 +623,6 @@ Examples # - forward_router_address: 192.0.2.22 # tag: 4 # admin_distance: 2 - # # - address_families: # - afi: ipv4 # routes: @@ -623,24 +640,27 @@ Examples # After state: # ------------ # + # switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/24 192.0.2.24 name new_route # ipv6 route 2001:db8::/64 Ethernet1/3 2001:db8::12 + # switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.0/24 192.0.2.22 tag 4 2 - - # Using overridden: + # Using overridden # Before state: # ------------- # + # switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.24 name new_route # ip route 192.0.2.80/28 192.0.2.26 tag 12 + # switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.64/28 192.0.2.22 tag 4 # ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 - - name: Overriden existing static route configuration with new configuration + - name: Overridden existing static route configuration with new configuration cisco.nxos.nxos_static_routes: config: - vrf: trial_vrf @@ -652,7 +672,6 @@ Examples - forward_router_address: 192.0.2.23 route_name: overridden_route1 admin_distance: 3 - - forward_router_address: 192.0.2.45 route_name: overridden_route2 dest_vrf: destinationVRF @@ -661,6 +680,7 @@ Examples # Task Output # ----------- + # # before: # - address_families: # - afi: ipv4 @@ -685,7 +705,6 @@ Examples # - forward_router_address: 192.0.2.26 # tag: 12 # commands: - # - configure terminal # - no ip route 192.0.2.16/28 192.0.2.24 name new_route # - no ip route 192.0.2.80/28 192.0.2.26 tag 12 # - vrf context trial_vrf @@ -711,17 +730,21 @@ Examples # After state: # ------------ # + # switch# show running-config | include '^ip(v6)* route' + # switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.16/28 192.0.2.23 name overridden_route1 3 # ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name overridden_route2 - - # Using replaced: + # Using replaced # Before state: # ------------ + # + # switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.24 name new_route # ip route 192.0.2.80/28 192.0.2.26 tag 12 + # switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.64/28 192.0.2.22 tag 4 # ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 @@ -737,7 +760,6 @@ Examples - forward_router_address: 192.0.2.23 route_name: replaced_route1 admin_distance: 3 - - forward_router_address: 192.0.2.45 route_name: replaced_route2 dest_vrf: destinationVRF @@ -746,6 +768,7 @@ Examples # Task Output # ----------- + # # before: # - address_families: # - afi: ipv4 @@ -770,7 +793,6 @@ Examples # - forward_router_address: 192.0.2.26 # tag: 12 # commands: - # - configure terminal # - no ip route 192.0.2.16/28 192.0.2.24 name new_route # - ip route 192.0.2.16/28 192.0.2.23 name replaced_route1 3 # - ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2 @@ -804,29 +826,37 @@ Examples # tag: 12 # After state: - # ----------- + # ------------ + # + # switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.23 name replaced_route1 3 # ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2 # ip route 192.0.2.80/28 192.0.2.26 tag 12 + # switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.64/28 192.0.2.22 tag 4 # ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 - # Using gathered: + # Using gathered # Before state: # ------------- + # + # switch# show running-config | include '^ip(v6)* route' # ipv6 route 2001:db8:12::/32 2001:db8::12 + # switch# show running-config | section '^vrf context' # vrf context Test # ip route 192.0.2.48/28 192.0.2.13 # ip route 192.0.2.48/28 192.0.2.14 5 - - name: Gather the exisitng condiguration + - name: Gather the existing configuration cisco.nxos.nxos_static_routes: state: gathered - # returns: + # Task Output + # ----------- + # # gathered: # - vrf: Test # address_families: @@ -847,7 +877,7 @@ Examples # - forward_router_address: 2001:db8::12 - # Using rendered: + # Using rendered - name: Render required configuration to be pushed to the device cisco.nxos.nxos_static_routes: @@ -858,7 +888,6 @@ Examples - dest: 192.0.2.48/28 next_hops: - forward_router_address: 192.0.2.13 - - afi: ipv6 routes: - dest: 2001:db8::/64 @@ -867,24 +896,28 @@ Examples forward_router_address: 2001:db8::12 state: rendered - # returns + # Task Output + # ----------- + # # rendered: # vrf context default # ip route 192.0.2.48/28 192.0.2.13 # ipv6 route 2001:db8::/64 Ethernet1/3 2001:db8::12 - # Using parsed - name: Parse the config to structured data cisco.nxos.nxos_static_routes: + state: parsed running_config: | ipv6 route 2002:db8:12::/32 2002:db8:12::1 vrf context Test ip route 192.0.2.48/28 192.0.2.13 ip route 192.0.2.48/28 192.0.2.14 5 - # returns: + # Task Output + # ----------- + # # parsed: # - vrf: Test # address_families: @@ -893,10 +926,8 @@ Examples # - dest: 192.0.2.48/28 # next_hops: # - forward_router_address: 192.0.2.13 - # # - forward_router_address: 192.0.2.14 # admin_distance: 5 - # # - address_families: # - afi: ipv6 # routes: @@ -929,11 +960,10 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late </td> <td>when changed</td> <td> - <div>The resulting configuration model invocation.</div> + <div>The resulting configuration after module execution.</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;">The configuration returned will always be in the same format - of the parameters above.</div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> </td> </tr> <tr> @@ -945,13 +975,12 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <span style="color: purple">list</span> </div> </td> - <td>always</td> + <td>when <em>state</em> is <code>merged</code>, <code>replaced</code>, <code>overridden</code>, <code>deleted</code> or <code>purged</code></td> <td> - <div>The configuration prior to the model invocation.</div> + <div>The configuration prior to the module execution.</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;">The configuration returned will always be in the same format - of the parameters above.</div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">This output will always be in the same format as the module argspec.</div> </td> </tr> <tr> @@ -963,12 +992,63 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <span style="color: purple">list</span> </div> </td> - <td>always</td> + <td>when <em>state</em> is <code>merged</code>, <code>replaced</code>, <code>overridden</code>, <code>deleted</code> or <code>purged</code></td> <td> <div>The set of commands 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;">['ip route 192.0.2.48/28 192.0.2.12 Ethernet1/2 name sample_route', 'ipv6 route 2001:db8:3000::/36 2001:db8:200:2::2', 'vrf context test', 'ip route 192.0.2.48/28 192.0.2.121']</div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['ip route 192.0.2.16/28 192.0.2.24 name new_route', 'vrf context trial_vrf', 'ip route 192.0.2.16/28 192.0.2.23 name overridden_route1 3']</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>gathered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>gathered</code></td> + <td> + <div>Facts about the network resource gathered from the remote device as structured data.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>parsed</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>parsed</code></td> + <td> + <div>The device native config provided in <em>running_config</em> option parsed into structured data as per module argspec.</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;">This output will always be in the same format as the module argspec.</div> + </td> + </tr> + <tr> + <td colspan="1"> + <div class="ansibleOptionAnchor" id="return-"></div> + <b>rendered</b> + <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> + <div style="font-size: small"> + <span style="color: purple">list</span> + </div> + </td> + <td>when <em>state</em> is <code>rendered</code></td> + <td> + <div>The provided configuration in the task rendered in device-native format (offline).</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;">['ip route 192.0.2.16/28 192.0.2.24 name new_route', 'vrf context trial_vrf', 'ip route 192.0.2.16/28 192.0.2.23 name overridden_route1 3']</div> </td> </tr> </table> @@ -983,3 +1063,4 @@ Authors ~~~~~~~ - Adharsh Srivats Rangarajan (@adharshsrivatsr) +- Sagar Paul (@KB-perByte) diff --git a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_vtp_version_module.rst b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_vtp_version_module.rst index 9271dbe28..996e950ff 100644 --- a/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_vtp_version_module.rst +++ b/ansible_collections/cisco/nxos/docs/cisco.nxos.nxos_vtp_version_module.rst @@ -47,6 +47,7 @@ Parameters <ul style="margin: 0; padding: 0"><b>Choices:</b> <li>1</li> <li>2</li> + <li>3</li> </ul> </td> <td> @@ -80,9 +81,6 @@ Examples # ENSURE VTP VERSION IS 2 - cisco.nxos.nxos_vtp_version: version: 2 - host: '{{ inventory_hostname }}' - username: '{{ un }}' - password: '{{ pwd }}' diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/storage/__init__.py b/ansible_collections/cisco/nxos/meta/__init__.py index e69de29bb..e69de29bb 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/storage/__init__.py +++ b/ansible_collections/cisco/nxos/meta/__init__.py diff --git a/ansible_collections/cisco/nxos/meta/runtime.yml b/ansible_collections/cisco/nxos/meta/runtime.yml index 1f30b0e9c..d83b291f1 100644 --- a/ansible_collections/cisco/nxos/meta/runtime.yml +++ b/ansible_collections/cisco/nxos/meta/runtime.yml @@ -30,22 +30,6 @@ plugin_routing: redirect: cisco.nxos.nxos bfd_interfaces: redirect: cisco.nxos.nxos - nxos_bgp: - redirect: cisco.nxos.nxos - bgp: - redirect: cisco.nxos.nxos - nxos_bgp_af: - redirect: cisco.nxos.nxos - bgp_af: - redirect: cisco.nxos.nxos - nxos_bgp_neighbor: - redirect: cisco.nxos.nxos - bgp_neighbor: - redirect: cisco.nxos.nxos - nxos_bgp_neighbor_af: - redirect: cisco.nxos.nxos - bgp_neighbor_af: - redirect: cisco.nxos.nxos nxos_command: redirect: cisco.nxos.nxos command: @@ -357,42 +341,6 @@ plugin_routing: redirect: cisco.nxos.nxos_bfd_global bfd_interfaces: redirect: cisco.nxos.nxos_bfd_interfaces - bgp: - redirect: cisco.nxos.nxos_bgp - deprecation: - removal_date: "2023-01-27" - warning_text: See the plugin documentation for more details - nxos_bgp: - deprecation: - removal_date: "2023-01-27" - warning_text: See the plugin documentation for more details - bgp_af: - redirect: cisco.nxos.nxos_bgp_af - deprecation: - removal_date: "2023-02-24" - warning_text: See the plugin documentation for more details - nxos_bgp_af: - deprecation: - removal_date: "2023-02-24" - warning_text: See the plugin documentation for more details - bgp_neighbor: - redirect: cisco.nxos.nxos_bgp_neighbor - deprecation: - removal_date: "2023-01-27" - warning_text: See the plugin documentation for more details - nxos_bgp_neighbor: - deprecation: - removal_date: "2023-01-27" - warning_text: See the plugin documentation for more details - bgp_neighbor_af: - redirect: cisco.nxos.nxos_bgp_neighbor_af - deprecation: - removal_date: "2023-02-24" - warning_text: See the plugin documentation for more details - nxos_bgp_neighbor_af: - deprecation: - removal_date: "2023-02-24" - warning_text: See the plugin documentation for more details command: redirect: cisco.nxos.nxos_command config: diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_global/bgp_global.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_global/bgp_global.py index d47f7e429..3f17ccebc 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_global/bgp_global.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_global/bgp_global.py @@ -235,6 +235,7 @@ class Bgp_globalArgs(object): # pylint: disable=R0903 ], }, "remote_as": {"type": "str"}, + "remote_as_route_map": {"type": "str"}, "remove_private_as": { "type": "dict", "options": { @@ -470,6 +471,7 @@ class Bgp_globalArgs(object): # pylint: disable=R0903 ], }, "remote_as": {"type": "str"}, + "remote_as_route_map": {"type": "str"}, "remove_private_as": { "type": "dict", "options": { @@ -538,6 +540,7 @@ class Bgp_globalArgs(object): # pylint: disable=R0903 "choices": [ "merged", "replaced", + "overridden", "deleted", "purged", "parsed", diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_neighbor_address_family/bgp_neighbor_address_family.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_neighbor_address_family/bgp_neighbor_address_family.py index 4c97d2946..397acb1f4 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_neighbor_address_family/bgp_neighbor_address_family.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_neighbor_address_family/bgp_neighbor_address_family.py @@ -158,6 +158,7 @@ class Bgp_neighbor_address_familyArgs(object): # pylint: disable=R0903 }, }, "rewrite_evpn_rt_asn": {"type": "bool"}, + "rewrite_rt_asn": {"type": "bool"}, "route_map": { "type": "dict", "options": { @@ -325,6 +326,7 @@ class Bgp_neighbor_address_familyArgs(object): # pylint: disable=R0903 }, }, "rewrite_evpn_rt_asn": {"type": "bool"}, + "rewrite_rt_asn": {"type": "bool"}, "route_map": { "type": "dict", "options": { diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_templates/__init__.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_templates/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_templates/__init__.py diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_templates/bgp_templates.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_templates/bgp_templates.py new file mode 100644 index 000000000..22a6666e5 --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/bgp_templates/bgp_templates.py @@ -0,0 +1,314 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Red Hat +# GNU General Public License v3.0+ +# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +############################################# +# WARNING # +############################################# +# +# This file is auto generated by the +# ansible.content_builder. +# +# Manually editing this file is not advised. +# +# To update the argspec make the desired changes +# in the module docstring and re-run +# ansible.content_builder. +# +############################################# + +""" +The arg spec for the nxos_bgp_templates module +""" + + +class Bgp_templatesArgs(object): # pylint: disable=R0903 + """The arg spec for the nxos_bgp_templates module""" + + argument_spec = { + "running_config": {"type": "str"}, + "config": { + "type": "dict", + "options": { + "as_number": {"type": "str"}, + "neighbor": { + "type": "list", + "elements": "dict", + "options": { + "name": {"type": "str"}, + "address_family": { + "type": "list", + "elements": "dict", + "options": { + "afi": { + "type": "str", + "choices": [ + "ipv4", + "ipv6", + "link-state", + "l2vpn", + ], + "required": True, + }, + "safi": { + "type": "str", + "choices": ["unicast", "multicast", "mvpn", "evpn"], + }, + "advertise_map": { + "type": "dict", + "options": { + "route_map": { + "type": "str", + "required": True, + }, + "exist_map": {"type": "str"}, + "non_exist_map": {"type": "str"}, + }, + }, + "advertisement_interval": {"type": "int"}, + "allowas_in": { + "type": "dict", + "options": { + "set": {"type": "bool"}, + "max_occurences": {"type": "int"}, + }, + }, + "as_override": {"type": "bool"}, + "capability": { + "type": "dict", + "options": { + "additional_paths": { + "type": "dict", + "options": { + "receive": { + "type": "str", + "choices": [ + "enable", + "disable", + ], + }, + "send": { + "type": "str", + "choices": [ + "enable", + "disable", + ], + }, + }, + }, + }, + }, + "default_originate": { + "type": "dict", + "options": { + "set": {"type": "bool"}, + "route_map": {"type": "str"}, + }, + }, + "disable_peer_as_check": {"type": "bool"}, + "filter_list": { + "type": "dict", + "options": { + "inbound": {"type": "str"}, + "outbound": {"type": "str"}, + }, + }, + "inherit": { + "type": "dict", + "options": {"peer_policy": {"type": "str"}}, + }, + "maximum_prefix": { + "type": "dict", + "options": { + "max_prefix_limit": {"type": "int"}, + "generate_warning_threshold": { + "type": "int", + }, + "restart_interval": {"type": "int"}, + "warning_only": {"type": "bool"}, + }, + }, + "next_hop_self": { + "type": "dict", + "options": { + "set": {"type": "bool"}, + "all_routes": {"type": "bool"}, + }, + }, + "next_hop_third_party": {"type": "bool"}, + "prefix_list": { + "type": "dict", + "options": { + "inbound": {"type": "str"}, + "outbound": {"type": "str"}, + }, + }, + "route_map": { + "type": "dict", + "options": { + "inbound": {"type": "str"}, + "outbound": {"type": "str"}, + }, + }, + "route_reflector_client": {"type": "bool"}, + "send_community": { + "type": "str", + "choices": ["standard", "extended", "both"], + }, + "soft_reconfiguration_inbound": { + "type": "dict", + "options": { + "set": {"type": "bool"}, + "always": {"type": "bool"}, + }, + }, + "soo": {"type": "str"}, + "suppress_inactive": {"type": "bool"}, + "unsuppress_map": {"type": "str"}, + "weight": {"type": "int"}, + }, + }, + "bfd": { + "type": "dict", + "options": { + "set": {"type": "bool"}, + "singlehop": {"type": "bool"}, + "multihop": { + "type": "dict", + "options": { + "set": {"type": "bool"}, + "interval": { + "type": "dict", + "options": { + "tx_interval": {"type": "int", "required": True}, + "min_rx_interval": { + "type": "int", + "required": True, + }, + "multiplier": {"type": "int", "required": True}, + }, + }, + }, + }, + }, + }, + "bmp_activate_server": {"type": "int"}, + "capability": { + "type": "dict", + "options": {"suppress_4_byte_as": {"type": "bool"}}, + }, + "description": {"type": "str"}, + "disable_connected_check": {"type": "bool"}, + "dont_capability_negotiate": {"type": "bool"}, + "dscp": {"type": "str"}, + "dynamic_capability": {"type": "bool"}, + "ebgp_multihop": {"type": "int"}, + "graceful_shutdown": { + "type": "dict", + "options": { + "activate": { + "type": "dict", + "options": { + "set": {"type": "bool"}, + "route_map": {"type": "str"}, + }, + }, + }, + }, + "inherit": { + "type": "dict", + "options": {"peer_session": {"type": "str"}}, + }, + "local_as": {"type": "str"}, + "log_neighbor_changes": { + "type": "dict", + "options": { + "set": {"type": "bool"}, + "disable": {"type": "bool"}, + }, + }, + "low_memory": { + "type": "dict", + "options": {"exempt": {"type": "bool"}}, + }, + "password": { + "type": "dict", + "no_log": False, + "options": { + "encryption": {"type": "int"}, + "key": {"type": "str", "no_log": True}, + }, + }, + "path_attribute": { + "type": "list", + "elements": "dict", + "options": { + "action": { + "type": "str", + "choices": ["discard", "treat-as-withdraw"], + }, + "type": {"type": "int"}, + "range": { + "type": "dict", + "options": { + "start": {"type": "int"}, + "end": {"type": "int"}, + }, + }, + }, + }, + "remote_as": {"type": "str"}, + "remove_private_as": { + "type": "dict", + "options": { + "set": {"type": "bool"}, + "replace_as": {"type": "bool"}, + "all": {"type": "bool"}, + }, + }, + "shutdown": {"type": "bool"}, + "timers": { + "type": "dict", + "options": { + "keepalive": {"type": "int"}, + "holdtime": {"type": "int"}, + }, + }, + "transport": { + "type": "dict", + "options": { + "connection_mode": { + "type": "dict", + "options": {"passive": {"type": "bool"}}, + }, + }, + }, + "ttl_security": { + "type": "dict", + "options": {"hops": {"type": "int"}}, + }, + "update_source": {"type": "str"}, + }, + }, + }, + }, + "state": { + "type": "str", + "choices": [ + "merged", + "replaced", + "overridden", + "deleted", + "parsed", + "gathered", + "rendered", + ], + "default": "merged", + }, + } # pylint: disable=C0301 diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/fc_interfaces/__init__.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/fc_interfaces/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/fc_interfaces/__init__.py diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/fc_interfaces/fc_interfaces.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/fc_interfaces/fc_interfaces.py new file mode 100644 index 000000000..5a58d99e0 --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/fc_interfaces/fc_interfaces.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Red Hat +# GNU General Public License v3.0+ +# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +############################################# +# WARNING # +############################################# +# +# This file is auto generated by the +# ansible.content_builder. +# +# Manually editing this file is not advised. +# +# To update the argspec make the desired changes +# in the documentation in the module file and re-run +# ansible.content_builder commenting out +# the path to external 'docstring' in build.yaml. +# +############################################## + +""" +The arg spec for the nxos_fc_interfaces module +""" +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.rm_templates.fc_interfaces import ( + allowed_port_modes, + allowed_speed_values, +) + + +class Fc_interfacesArgs(object): # pylint: disable=R0903 + """The arg spec for the nxos_fc_interfaces module""" + + argument_spec = { + "running_config": {"type": "str"}, + "config": { + "type": "list", + "elements": "dict", + "options": { + "name": {"type": "str", "required": True}, + "description": {"type": "str"}, + "enabled": {"type": "bool"}, + "speed": { + "choices": allowed_speed_values, + "type": "str", + }, + "mode": { + "choices": allowed_port_modes, + "type": "str", + }, + "trunk_mode": {"choices": ["auto", "on", "off"], "type": "str"}, + "analytics": { + "choices": ["fc-scsi", "fc-nvme", "fc-all"], + "type": "str", + }, + }, + }, + "state": { + "type": "str", + "choices": [ + "merged", + "replaced", + "overridden", + "deleted", + "gathered", + "rendered", + "parsed", + ], + "default": "merged", + }, + } # pylint: disable=C0301 diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/lacp/lacp.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/lacp/lacp.py index 3c2ac06a3..6eddf5893 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/lacp/lacp.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/lacp/lacp.py @@ -60,6 +60,7 @@ class LacpArgs(object): "choices": [ "merged", "replaced", + "overridden", "deleted", "gathered", "rendered", diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/lldp_global/lldp_global.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/lldp_global/lldp_global.py index 8fad5eba7..abcbc08fa 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/lldp_global/lldp_global.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/lldp_global/lldp_global.py @@ -77,6 +77,7 @@ class Lldp_globalArgs(object): # pylint: disable=R0903 "choices": [ "merged", "replaced", + "overridden", "deleted", "gathered", "parsed", diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/route_maps/route_maps.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/route_maps/route_maps.py index 5572b234e..14dfa5b05 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/route_maps/route_maps.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/route_maps/route_maps.py @@ -323,6 +323,21 @@ class Route_mapsArgs(object): # pylint: disable=R0903 }, }, "extcomm_list": {"type": "str"}, + "extcommunity": { + "type": "dict", + "options": { + "rt": { + "type": "dict", + "options": { + "additive": {"type": "bool"}, + "extcommunity_numbers": { + "type": "list", + "elements": "str", + }, + }, + }, + }, + }, "forwarding_address": {"type": "bool"}, "null_interface": {"type": "str"}, "ip": { diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/static_routes/static_routes.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/static_routes/static_routes.py index 58a669bd5..25b78da1b 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/static_routes/static_routes.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/argspec/static_routes/static_routes.py @@ -1,79 +1,79 @@ -# # -*- coding: utf-8 -*- -# Copyright 2019 Red Hat +# Copyright 2023 Red Hat # GNU General Public License v3.0+ # (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + ############################################# # WARNING # ############################################# # -# This file is auto generated by the resource -# module builder playbook. -# -# Do not edit this file manually. +# This file is auto generated by the +# ansible.content_builder. # -# Changes to this file will be over written -# by the resource module builder. +# Manually editing this file is not advised. # -# Changes should be made in the model used to -# generate this file or in the resource module -# builder template. +# To update the argspec make the desired changes +# in the documentation in the module file and re-run +# ansible.content_builder commenting out +# the path to external 'docstring' in build.yaml. # -############################################# +############################################## + """ The arg spec for the nxos_static_routes module """ -from __future__ import absolute_import, division, print_function - - -__metaclass__ = type class Static_routesArgs(object): # pylint: disable=R0903 """The arg spec for the nxos_static_routes module""" argument_spec = { + "running_config": {"type": "str"}, "config": { + "type": "list", "elements": "dict", "options": { + "vrf": {"type": "str"}, "address_families": { + "type": "list", "elements": "dict", "options": { "afi": { + "type": "str", "choices": ["ipv4", "ipv6"], "required": True, - "type": "str", }, "routes": { "elements": "dict", + "type": "list", "options": { - "dest": {"required": True, "type": "str"}, + "dest": {"type": "str", "required": True}, "next_hops": { + "type": "list", "elements": "dict", "options": { - "admin_distance": {"type": "int"}, - "dest_vrf": {"type": "str"}, "forward_router_address": {"type": "str"}, "interface": {"type": "str"}, + "admin_distance": {"type": "int"}, "route_name": {"type": "str"}, "tag": {"type": "int"}, "track": {"type": "int"}, + "dest_vrf": {"type": "str"}, }, - "type": "list", }, }, - "type": "list", }, }, - "type": "list", }, - "vrf": {"type": "str"}, }, - "type": "list", }, - "running_config": {"type": "str"}, "state": { + "type": "str", "choices": [ "deleted", "merged", @@ -84,6 +84,5 @@ class Static_routesArgs(object): # pylint: disable=R0903 "parsed", ], "default": "merged", - "type": "str", }, } # pylint: disable=C0301 diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_global/bgp_global.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_global/bgp_global.py index edb6e59bb..fe738d1af 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_global/bgp_global.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_global/bgp_global.py @@ -234,7 +234,7 @@ class Bgp_global(ResourceModule): self.compare(parsers=nbr_parsers, want=entry, have=have_nbr) self._compare_path_attribute(entry, have_nbr) - if len(self.commands) != begin: + if len(self.commands) != begin or (entry and not have_nbr): self.commands.insert(begin, self._tmplt.render(entry, "neighbor_address", False)) # cleanup remaining neighbors diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_neighbor_address_family/bgp_neighbor_address_family.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_neighbor_address_family/bgp_neighbor_address_family.py index 96902987d..0ab282a6c 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_neighbor_address_family/bgp_neighbor_address_family.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_neighbor_address_family/bgp_neighbor_address_family.py @@ -65,6 +65,7 @@ class Bgp_neighbor_address_family(ResourceModule): "prefix_list.inbound", "prefix_list.outbound", "rewrite_evpn_rt_asn", + "rewrite_rt_asn", "route_map.inbound", "route_map.outbound", "route_reflector_client", diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_templates/__init__.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_templates/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_templates/__init__.py diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_templates/bgp_templates.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_templates/bgp_templates.py new file mode 100644 index 000000000..648db72e6 --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/bgp_templates/bgp_templates.py @@ -0,0 +1,238 @@ +# +# -*- coding: utf-8 -*- +# Copyright 2023 Red Hat +# GNU General Public License v3.0+ +# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +# + +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +""" +The nxos_bgp_templates config file. +It is in this file where the current configuration (as dict) +is compared to the provided configuration (as dict) and the command set +necessary to bring the current configuration to its desired end-state is +created. +""" +from copy import deepcopy + +from ansible.module_utils.six import iteritems +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module import ( + ResourceModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + dict_merge, +) + +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.facts.facts import Facts +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.rm_templates.bgp_templates import ( + Bgp_templatesTemplate, +) + + +class Bgp_templates(ResourceModule): + """ + The nxos_bgp_templates config class + """ + + def __init__(self, module): + super(Bgp_templates, self).__init__( + empty_fact_val={}, + facts_module=Facts(module), + module=module, + resource="bgp_templates", + tmplt=Bgp_templatesTemplate(), + ) + self.parsers = [ + "bfd", + "bfd.multihop.interval", + "bmp_activate_server", + "capability", + "description", + "disable_connected_check", + "dont_capability_negotiate", + "dscp", + "dynamic_capability", + "ebgp_multihop", + "graceful_shutdown", + "inherit.peer_session", + "local_as", + "log_neighbor_changes", + "low_memory", + "password", + "remote_as", + "remove_private_as", + "shutdown", + "timers", + "transport", + "ttl_security", + "update_source", + ] + self.af_parsers = [ + "advertise_map.exist_map", + "advertise_map.non_exist_map", + "advertisement_interval", + "allowas_in", + "as_override", + "capability.additional_paths.receive", + "capability.additional_paths.send", + "default_originate", + "disable_peer_as_check", + "filter_list.inbound", + "inherit.peer_policy", + "filter_list.outbound", + "maximum_prefix", + "next_hop_self", + "next_hop_third_party", + "prefix_list.inbound", + "prefix_list.outbound", + "route_map.inbound", + "route_map.outbound", + "send_community_standard", + "send_community_extended", + "route_reflector_client", + "soft_reconfiguration_inbound", + "soo", + "suppress_inactive", + "unsuppress_map", + "weight", + ] + + def execute_module(self): + """Execute the module + + :rtype: A dictionary + :returns: The result from module execution + """ + if self.state not in ["parsed", "gathered"]: + self.generate_commands() + self.run_commands() + return self.result + + def generate_commands(self): + """Generate configuration commands to send based on + want, have and desired state. + """ + wantd = self._list_to_dict(deepcopy(self.want)) + haved = self._list_to_dict(deepcopy(self.have)) + + # if state is merged, merge want onto have and then compare + if self.state == "merged": + wantd = dict_merge(haved, wantd) + + w_asn = wantd.pop("as_number", "") + h_asn = haved.pop("as_number", "") + + asn = w_asn or h_asn + + # if state is deleted, empty out wantd and set haved to wantd + if self.state == "deleted": + haved = {k: v for k, v in iteritems(haved) if k in wantd or not wantd} + wantd = {} + + # remove superfluous config for overridden and deleted + if self.state in ["overridden", "deleted"]: + cmds = [] + for k, have in iteritems(haved): + if k not in wantd: + cmds.append("no template peer {0}".format(have["name"])) + self.commands.extend(cmds) + + for k, want in iteritems(wantd): + begin = len(self.commands) + self._compare(want=want, have=haved.pop(k, {})) + if len(self.commands) != begin: + self.commands.insert(begin, "template peer {0}".format(want["name"])) + + if self.commands: + self.commands.insert(0, "router bgp {0}".format(asn)) + + def _compare(self, want, have): + """Leverages the base class `compare()` method and + populates the list of commands to be run by comparing + the `want` and `have` data with the `parsers` defined + for the Bgp_templates network resource. + """ + self.compare(parsers=self.parsers, want=want, have=have) + self._compare_path_attribute(want=want, have=have) + + w_af = want.get("address_family", {}) + h_af = have.get("address_family", {}) + self._afs_compare(want=w_af, have=h_af) + + def _compare_path_attribute(self, want, have): + """Custom handling of neighbor path_attribute + option. + + :params want: the want neighbor dictionary + :params have: the have neighbor dictionary + """ + w_p_attr = want.get("path_attribute", {}) + h_p_attr = have.get("path_attribute", {}) + + for wkey, wentry in iteritems(w_p_attr): + if wentry != h_p_attr.pop(wkey, {}): + self.addcmd(wentry, "path_attribute", False) + + # remove remaining items in have for replaced + for hkey, hentry in iteritems(h_p_attr): + self.addcmd(hentry, "path_attribute", True) + + def _afs_compare(self, want, have): + for name, wentry in iteritems(want): + begin = len(self.commands) + self._af_compare(want=wentry, have=have.pop(name, {})) + if begin != len(self.commands): + self.commands.insert(begin, self._tmplt.render(wentry, "address_family", False)) + for name, hentry in iteritems(have): + self.commands.append(self._tmplt.render(hentry, "address_family", True)) + + def _af_compare(self, want, have): + # "unpack" send_community + for item in [want, have]: + send_comm_val = item.get("send_community", "") + if send_comm_val: + if send_comm_val == "both": + item["send_community_extended"] = True + item["send_community_standard"] = True + else: + key = "send_community_%s" % send_comm_val + item[key] = True + self.compare(parsers=self.af_parsers, want=want, have=have) + + def _list_to_dict(self, data): + def _build_key(x): + """Build primary key for path_attribute + option. + :params x: path_attribute dictionary + :returns: primary key as tuple + """ + key_1 = "start_{0}".format(x.get("range", {}).get("start", "")) + key_2 = "end_{0}".format(x.get("range", {}).get("end", "")) + key_3 = "type_{0}".format(x.get("type", "")) + key_4 = x["action"] + + return (key_1, key_2, key_3, key_4) + + new_data = {} + new_data["as_number"] = data.pop("as_number", None) + + for k, v in iteritems(data): + for entry in v: + if "address_family" in entry: + entry["address_family"] = { + (x["afi"], x.get("safi")): x for x in entry["address_family"] + } + if "path_attribute" in entry: + entry["path_attribute"] = { + _build_key(x): x for x in entry.get("path_attribute", []) + } + + # attach top-level keys with their values + tmp = {(k + "_" + x["name"]): x for x in v} + new_data.update(tmp) + + return new_data diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/fc_interfaces/__init__.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/fc_interfaces/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/fc_interfaces/__init__.py diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/fc_interfaces/fc_interfaces.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/fc_interfaces/fc_interfaces.py new file mode 100644 index 000000000..e08a9ce1b --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/fc_interfaces/fc_interfaces.py @@ -0,0 +1,202 @@ +# +# -*- coding: utf-8 -*- +# Copyright 2023 Red Hat +# GNU General Public License v3.0+ +# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +# + +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +""" +The nxos_fc_interfaces config file. +It is in this file where the current configuration (as dict) +is compared to the provided configuration (as dict) and the command set +necessary to bring the current configuration to its desired end-state is +created. +""" + + +from ansible.module_utils.six import iteritems +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module import ( + ResourceModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + dict_merge, +) + +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.facts.facts import Facts +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.rm_templates.fc_interfaces import ( + Fc_interfacesTemplate, +) +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.utils.utils import ( + normalize_interface, +) + + +class Fc_interfaces(ResourceModule): + """ + The nxos_fc_interfaces config class + """ + + def __init__(self, module): + super(Fc_interfaces, self).__init__( + empty_fact_val={}, + facts_module=Facts(module, chassis_type="mds"), + module=module, + resource="fc_interfaces", + tmplt=Fc_interfacesTemplate(), + ) + self.parsers = ["description", "speed", "mode", "trunk_mode", "analytics"] + + def execute_module(self): + """Execute the module + + :rtype: A dictionary + :returns: The result from module execution + """ + if self.state not in ["parsed", "gathered"]: + self.generate_commands() + self.run_commands() + return self.result + + def generate_commands(self): + """Generate configuration commands to send based on + want, have and desired state. + """ + + wantd = {entry["name"]: entry for entry in self.want} + haved = {entry["name"]: entry for entry in self.have} + + for each in wantd, haved: + self.normalize_interface_names(each) + + # if state is merged, merge want onto have and then compare + if self.state == "merged": + wantd = dict_merge(haved, wantd) + + # if state is deleted, empty out wantd and set haved to wantd + if self.state == "deleted": + haved = {k: v for k, v in iteritems(haved) if k in wantd or not wantd} + wantd = {} + + # remove superfluous config for overridden and deleted + if self.state in ["overridden", "deleted"]: + for k, have in iteritems(haved): + if k not in wantd: + self._compare(want={}, have=have) + + for k, want in iteritems(wantd): + self._compare(want=want, have=haved.pop(k, {})) + + modified_list = [ + "switchport trunk mode on" if item.startswith("no switchport trunk mode") else item + for item in self.commands + ] + self.commands = modified_list + + def _calculate_ana_config(self, want_ana, have_ana): + """ + get the cmds based on want_ana and have_ana and the state + + Args: + want_ana (str): analytics type which you want + have_ana (str): analytics type which you have + + +----------+----------+---------+ + | MERGED | + |----------+----------+---------+ + | want_ana | have_ana | outcome | + +----------+----------+---------+ + | "" | * | no op | + | fc-scsi | * | fc-scsi | + | fc-scsi | fc-all | no op | + | fc-nvme | * | fc-nvme | + | fc-nvme | fc-all | no op | + +----------+----------+---------+ + + + +----------+----------+-----------+ + | DELETED | + |----------+----------+-----------+ + | want_ana | have_ana | outcome | + +----------+----------+-----------+ + | * | fc-scsi | no fc-all | + | * | fc-nvme | no fc-all | + | * | fc-all | no fc-all | + | * | "" | no op | + +----------+----------+-----------+ + + + +----------+----------+---------------------+ + | REPLACED/OVERRIDEN | + |----------+----------+---------------------+ + | want_ana | have_ana | outcome | + +----------+----------+---------------------+ + | "" | * | no fc-all | + | fc-scsi | "" | fc-scsi | + | fc-nvme | "" | fc-nvme | + | fc-all | "" | fc-all | + | fc-scsi | * | no fc-all ; fc-scsi | + | fc-nvme | * | no fc-all ; fc-nvme | + | fc-all | * | fc-all | + +----------+----------+---------------------+ + + + """ + + if want_ana == have_ana: + return [] + val = [] + if self.state in ["overridden", "replaced"]: + if want_ana == "": + val = ["no analytics type fc-all"] + elif want_ana == "fc-all": + val = ["analytics type fc-all"] + elif have_ana == "": + val = [f"analytics type {want_ana}"] + else: + val = ["no analytics type fc-all", f"analytics type {want_ana}"] + elif self.state in ["deleted"]: + if have_ana: + val = ["no analytics type fc-all"] + elif self.state in ["merged"]: + if want_ana: + if have_ana != "fc-all": + val = [f"analytics type {want_ana}"] + return val + + def _compare(self, want, have): + """Leverages the base class `compare()` method and + populates the list of commands to be run by comparing + the `want` and `have` data with the `parsers` defined + for the Fc_interfaces network resource. + """ + + begin = len(self.commands) + self.compare(parsers=self.parsers, want=want, have=have) + if want.get("enabled") != have.get("enabled"): + if want.get("enabled"): + self.addcmd(want, "enabled", True) + else: + if want: + self.addcmd(want, "enabled", False) + elif have.get("enabled"): + # handles deleted as want be blank and only + # negates if no shutdown + self.addcmd(have, "enabled", False) + + ana_cmds = self._calculate_ana_config(want.get("analytics", ""), have.get("analytics", "")) + + self.commands.extend(ana_cmds) + + if len(self.commands) != begin: + self.commands.insert(begin, self._tmplt.render(want or have, "interface", False)) + + def normalize_interface_names(self, param): + if param: + for _k, val in iteritems(param): + val["name"] = normalize_interface(val["name"]) + return param diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/interfaces/interfaces.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/interfaces/interfaces.py index 32c5f6fe7..8bd4f66e7 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/interfaces/interfaces.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/interfaces/interfaces.py @@ -79,11 +79,13 @@ class Interfaces(ConfigBase): """Wrapper method for `_connection.get()` This method exists solely to allow the unit test framework to mock device connection calls. """ - return self._connection.get("show running-config all | incl 'system default switchport'") + return self._connection.get( + "show running-config all | incl 'system default switchport'", + ) def edit_config(self, commands): """Wrapper method for `_connection.edit_config()` - This method exists solely to allow the unit test framework to mock device connection calls. + This method exists solely to allow the unit test framework to mcdock device connection calls. """ return self._connection.edit_config(commands) @@ -184,7 +186,9 @@ class Interfaces(ConfigBase): state = self._module.params["state"] if state in ("overridden", "merged", "replaced", "rendered") and not want: self._module.fail_json( - msg="value of config parameter must not be empty for state {0}".format(state), + msg="value of config parameter must not be empty for state {0}".format( + state, + ), ) commands = list() @@ -355,7 +359,11 @@ class Interfaces(ConfigBase): or intf_def_enabled is None ): # L2-L3 is changing or this is a new virtual intf. Get new default. - intf_def_enabled = default_intf_enabled(name=name, sysdefs=sysdefs, mode=want_mode) + intf_def_enabled = default_intf_enabled( + name=name, + sysdefs=sysdefs, + mode=want_mode, + ) return intf_def_enabled def del_attribs(self, obj): @@ -426,8 +434,12 @@ class Interfaces(ConfigBase): commands.append("shutdown") elif d["enabled"] is True and have_enabled is False: commands.append("no shutdown") - if "mtu" in d: - commands.append("mtu " + str(d["mtu"])) + if "mtu" in d or ("switchport" in commands): + # changing mode to layer2 defaults the MTU + # we need re-apply existing (non-default) MTU + mtu = d.get("mtu") or obj_in_have.get("mtu") + if mtu: + commands.append("mtu " + str(mtu)) if "ip_forward" in d: if d["ip_forward"] is True: commands.append("ip forward") diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/lacp/lacp.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/lacp/lacp.py index 4d334badb..526d70b85 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/lacp/lacp.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/lacp/lacp.py @@ -141,7 +141,7 @@ class Lacp(ConfigBase): commands.extend(self._state_deleted(want, have)) elif state in ["merged", "rendered"]: commands.extend(self._state_merged(want, have)) - elif state == "replaced": + elif state in ["replaced", "overridden"]: commands.extend(self._state_replaced(want, have)) return commands diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/lag_interfaces/lag_interfaces.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/lag_interfaces/lag_interfaces.py index 495244b41..fc3202a7f 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/lag_interfaces/lag_interfaces.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/lag_interfaces/lag_interfaces.py @@ -238,6 +238,7 @@ class Lag_interfaces(ConfigBase): delta = dict_diff(h_item, w_item) if delta: if h_item: + delta["exists"] = True if ( "mode" in delta.keys() and delta["mode"] == "on" @@ -270,19 +271,27 @@ class Lag_interfaces(ConfigBase): commands = [] name = name.strip("port-channel") for d in diff: - commands.append("interface" + " " + d["member"]) - cmd = "" + sub_cmd = "" + final_cmd = "" + member_exists = d.get("exists", False) group_cmd = "channel-group {0}".format(name) - if d.get("force"): - cmd = group_cmd + " force " + + # force does not appear in config + # will only be applied for a net new member + if d.get("force") and not member_exists: + sub_cmd += " force" if "mode" in d: - if cmd: - cmd = cmd + " mode " + d["mode"] - else: - cmd = group_cmd + " mode " + d["mode"] - if not cmd: - cmd = group_cmd - commands.append(cmd) + sub_cmd += " mode %s" % d["mode"] + + if sub_cmd: + final_cmd = group_cmd + sub_cmd + elif not member_exists: + final_cmd = group_cmd + + if final_cmd: + commands.append("interface" + " " + d["member"]) + commands.append(final_cmd) + return commands def set_commands(self, w, have): diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/lldp_global/lldp_global.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/lldp_global/lldp_global.py index 68d986212..85f39682c 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/lldp_global/lldp_global.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/lldp_global/lldp_global.py @@ -138,7 +138,7 @@ class Lldp_global(ConfigBase): commands = self._state_deleted(have) elif state in ["merged", "rendered"]: commands = self._state_merged(want, have) - elif state == "replaced": + elif state in ["replaced", "overridden"]: commands = self._state_replaced(want, have) return commands diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/route_maps/route_maps.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/route_maps/route_maps.py index 14a9037b6..fa7d57b1b 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/route_maps/route_maps.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/route_maps/route_maps.py @@ -159,6 +159,7 @@ class Route_maps(ResourceModule): begin = len(self.commands) self._compare_lists(wentry, hentry) + self._compare_extcomm(wentry, hentry) self.compare(parsers=self.linear_parsers, want=wentry, have=hentry) if len(self.commands) != begin: @@ -173,6 +174,20 @@ class Route_maps(ResourceModule): for _hk, hentry in iteritems(have): self.commands.append(self._tmplt.render(hentry, "route_map", True)) + def _compare_extcomm(self, want, have): + hentry = get_from_dict(data_dict=have, keypath="set.extcommunity.rt") or {} + wentry = get_from_dict(data_dict=want, keypath="set.extcommunity.rt") or {} + + h_nums = set(hentry.get("extcommunity_numbers", [])) + w_nums = set(wentry.get("extcommunity_numbers", [])) + + if h_nums != w_nums or wentry.get("additive") != hentry.get("additive"): + if self.state not in ["merged", "rendered"]: + # need to explicitly remove existing entry to correctly apply new one + self.commands.append(self._tmplt.render(hentry, "set.extcommunity.rt", negate=True)) + # default CLI behaviour is to 'merge' with existing entry + self.commands.append(self._tmplt.render(wentry, "set.extcommunity.rt", negate=False)) + def _compare_lists(self, want, have): for x in self.complex_parsers: wx = get_from_dict(want, x) or [] diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/static_routes/static_routes.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/static_routes/static_routes.py index 721ff82c1..3b554cea5 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/static_routes/static_routes.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/config/static_routes/static_routes.py @@ -1,71 +1,50 @@ # # -*- coding: utf-8 -*- -# Copyright 2019 Red Hat +# Copyright 2023 Red Hat # GNU General Public License v3.0+ # (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) -""" -The nxos_static_routes class -It is in this file where the current configuration (as dict) -is compared to the provided configuration (as dict) and the command set -necessary to bring the current configuration to it's desired end-state is -created -""" +# + from __future__ import absolute_import, division, print_function __metaclass__ = type -from copy import deepcopy +""" +The nxos_static_routes config file. +It is in this file where the current configuration (as dict) +is compared to the provided configuration (as dict) and the command set +necessary to bring the current configuration to its desired end-state is +created. +""" -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.cfg.base import ( - ConfigBase, + +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module import ( + ResourceModule, ) from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( - remove_empties, - to_list, + dict_merge, ) from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.facts.facts import Facts -from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.utils.utils import ( - normalize_interface, - search_obj_in_list, +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.rm_templates.static_routes import ( + Static_routesTemplate, ) -class Static_routes(ConfigBase): +class Static_routes(ResourceModule): """ - The nxos_xstatic_routes class + The nxos_static_routes config class """ - gather_subset = ["!all", "!min"] - - gather_network_resources = ["static_routes"] - def __init__(self, module): - super(Static_routes, self).__init__(module) - - def get_static_routes_facts(self, data=None): - """Get the 'facts' (the current configuration) - - :rtype: A dictionary - :returns: The current configuration as a dictionary - """ - facts, _warnings = Facts(self._module).get_facts( - self.gather_subset, - self.gather_network_resources, - data=data, + super(Static_routes, self).__init__( + empty_fact_val={}, + facts_module=Facts(module), + module=module, + resource="static_routes", + tmplt=Static_routesTemplate(), ) - static_routes_facts = facts["ansible_network_resources"].get("static_routes") - if not static_routes_facts: - return [] - - return static_routes_facts - - def edit_config(self, commands): - """Wrapper method for `_connection.edit_config()` - This exists solely to allow the unit test framework to mock device connection calls. - """ - return self._connection.edit_config(commands) def execute_module(self): """Execute the module @@ -73,495 +52,145 @@ class Static_routes(ConfigBase): :rtype: A dictionary :returns: The result from module execution """ - result = {"changed": False} - warnings = list() - commands = list() - state = self._module.params["state"] - action_states = ["merged", "replaced", "deleted", "overridden"] - - if state == "gathered": - result["gathered"] = self.get_static_routes_facts() - elif state == "rendered": - result["rendered"] = self.set_config({}) - # no need to fetch facts for rendered - elif state == "parsed": - result["parsed"] = self.set_config({}) - # no need to fetch facts for parsed - else: - existing_static_routes_facts = self.get_static_routes_facts() - commands.extend(self.set_config(existing_static_routes_facts)) - if commands and state in action_states: - if not self._module.check_mode: - self._connection.edit_config(commands) - result["changed"] = True - result["before"] = existing_static_routes_facts - result["commands"] = commands - - changed_static_routes_facts = self.get_static_routes_facts() - if result["changed"]: - result["after"] = changed_static_routes_facts - result["warnings"] = warnings - return result - - def set_config(self, existing_static_routes_facts): - """Collect the configuration from the args passed to the module, - collect the current configuration (as a dict from facts) - - :rtype: A list - :returns: the commands necessary to migrate the current configuration - to the desired configuration - """ - config = self._module.params["config"] - want = [] - if config: - for w in config: - want.append(remove_empties(w)) - have = existing_static_routes_facts - want = self.add_default_vrf(deepcopy(want)) - have = self.add_default_vrf(deepcopy(have)) - resp = self.set_state(want, have) - return to_list(resp) - - def set_state(self, want, have): - """Select the appropriate function based on the state provided - - :param want: the desired configuration as a dictionary - :param have: the current configuration as a dictionary - :rtype: A list - :returns: the commands necessary to migrate the current configuration - to the desired configuration - """ - state = self._module.params["state"] - commands = [] - if state == "overridden": - commands = self._state_overridden(want, have) - elif state == "deleted": - commands = self._state_deleted(want, have) - elif state == "rendered": - commands = self._state_rendered(want, have=[]) - elif state == "parsed": - want = self._module.params["running_config"] - commands = self._state_parsed(want) - else: - for w in want: - if state == "merged": - commands.extend(self._state_merged(w, have)) - elif state == "replaced": - commands.extend(self._state_replaced(w, have)) - return commands - - def _state_parsed(self, want): - return self.get_static_routes_facts(want) - - def _state_rendered(self, want, have): - commands = [] - for w in want: - commands.extend(self.set_commands(w, {})) - return commands - - def _state_replaced(self, want, have): - """The command generator when state is replaced - - :rtype: A list - :returns: the commands necessary to migrate the current configuration - to the desired configuration - """ - commands = [] - delete_commands = [] - state = self._module.params["state"] - merged_commands = [] - obj_in_have = search_obj_in_list(want["vrf"], have, "vrf") - # in replaced, we check if whatever in have is in want, unlike merged. This is because we need to apply deleted on have config - if obj_in_have and obj_in_have != {"vrf": "default"}: - want_afi_list = [] - if "address_families" in want.keys(): - want_afi_list = [w["afi"] for w in want["address_families"]] - if len(want_afi_list) > 0: - for h in obj_in_have["address_families"]: - if h["afi"] in want_afi_list: - want_afi = search_obj_in_list(h["afi"], want["address_families"], "afi") - want_dest_list = [] - if "routes" in want_afi.keys(): - want_dest_list = [w["dest"] for w in want_afi["routes"]] - if len(want_dest_list) > 0: - for ro in h["routes"]: - if ro["dest"] in want_dest_list: - want_dest = search_obj_in_list( - ro["dest"], - want_afi["routes"], - "dest", - ) - want_next_hops = [] - if "next_hops" in want_dest.keys(): - want_next_hops = list(want_dest["next_hops"]) - if len(want_next_hops) > 0: - for next_hop in ro["next_hops"]: - if next_hop not in want_next_hops: - # have's next hop not in want, so delete it - delete_dict = { - "vrf": obj_in_have["vrf"], - "address_families": [ - { - "afi": h["afi"], - "routes": [ - { - "dest": ro["dest"], - "next_hops": [next_hop], - }, - ], - }, - ], - } - delete_commands.extend( - self.del_commands([delete_dict]), - ) - else: - # want has no next_hops, so delete all next_hops under that dest - if state == "overridden": - delete_dict = { - "vrf": obj_in_have["vrf"], - "address_families": [ - { - "afi": h["afi"], - "routes": [ - { - "dest": ro["dest"], - "next_hops": ro["next_hops"], - }, - ], - }, - ], - } - delete_commands.extend(self.del_commands([delete_dict])) - else: - if state == "overridden": - delete_dict = { - "vrf": obj_in_have["vrf"], - "address_families": [ - { - "afi": h["afi"], - "routes": [ - { - "dest": ro["dest"], - "next_hops": ro["next_hops"], - }, - ], - }, - ], - } - delete_commands.extend(self.del_commands([delete_dict])) - - else: - if ( - state == "overridden" - ): # want has no 'routes' key, so delete all routes under that afi - if "routes" in h.keys(): - delete_dict = { - "vrf": obj_in_have["vrf"], - "address_families": [ - { - "afi": h["afi"], - "routes": h["routes"], - }, - ], - } - delete_commands.extend(self.del_commands([delete_dict])) - else: - if ( - state == "overridden" - ): # want has 'vrf' key only. So delete all address families in it - delete_commands.extend( - self.del_commands( - [ - { - "address_families": list(obj_in_have["address_families"]), - "vrf": obj_in_have["vrf"], - }, - ], - ), - ) - final_delete_commands = [] - for d in delete_commands: - if d not in final_delete_commands: - final_delete_commands.append(d) - # if there are two afis, 'vrf context..' is added twice fom del_commands. The above code removes the redundant 'vrf context ..' - merged_commands = self.set_commands(want, have) - if merged_commands: - cmds = set(final_delete_commands).intersection(set(merged_commands)) - for c in cmds: - merged_commands.remove(c) - - # set_commands adds a 'vrf context..' line. The above code removes the redundant 'vrf context ..' - commands.extend(final_delete_commands) - commands.extend(merged_commands) - return commands - - def _state_overridden(self, want, have): - """The command generator when state is overridden - - :rtype: A list - :returns: the commands necessary to migrate the current configuration - to the desired configuration - """ - commands = [] - want_vrfs = [w["vrf"] for w in want] - for h in have: - if h["vrf"] not in want_vrfs and h["vrf"] != "management": - commands.extend(self._state_deleted([h], have)) - for w in want: - commands.extend(self._state_replaced(w, have)) - return commands - - def _state_merged(self, want, have): - """The command generator when state is merged - - :rtype: A list - :returns: the commands necessary to merge the provided into - the current configuration - """ - return self.set_commands(want, have) - - def _state_deleted(self, want, have): - """The command generator when state is deleted - - :rtype: A list - :returns: the commands necessary to remove the current configuration - of the provided objects + if self.state not in ["parsed", "gathered"]: + self.generate_commands() + self.run_commands() + return self.result + + def generate_commands(self): + """Generate configuration commands to send based on + want, have and desired state. """ - commands = [] - if want: - for w in want: - delete_dict = {} - obj_in_have = search_obj_in_list(w["vrf"], have, "vrf") - if obj_in_have: - if "address_families" in w.keys(): - o1 = obj_in_have["address_families"] - afi_list = [o["afi"] for o in o1] # have's afi list - for w1 in w["address_families"]: - if w1["afi"] in afi_list: - o2 = search_obj_in_list(w1["afi"], o1, "afi") - state = self._module.params["state"] - if state != "deleted": - # Deleted scope is till afi only. Part below is for use by overridden state. - if "routes" in w1.keys(): - for w2 in w1["routes"]: - o3 = search_obj_in_list( - w2["dest"], - o2["routes"], - "dest", - ) - hops = [] - if "next_hops" in w2.keys(): - for nh in w2["next_hops"]: - if nh in o3["next_hops"]: - hops.append(nh) - else: - # if next hops not given - hops = o3["next_hops"] - - delete_dict = { - "vrf": obj_in_have["vrf"], - "address_families": [ - { - "afi": w1["afi"], - "routes": [ - { - "dest": w2["dest"], - "next_hops": hops, - }, - ], - }, - ], - } - commands.extend(self.del_commands([delete_dict])) - else: - # case when only afi given for delete - delete_dict = { - "vrf": obj_in_have["vrf"], - "address_families": [ - { - "afi": o2["afi"], - "routes": o2["routes"], - }, - ], - } - commands.extend(self.del_commands([delete_dict])) - else: - commands.extend( - self.del_commands( - [ - { - "vrf": obj_in_have["vrf"], - "address_families": [o2], - }, - ], - ), - ) - else: - # only vrf given to delete - commands.extend(self.del_commands([obj_in_have])) - else: - if have: - # delete everything - del_have = [] - for h in have: - if h["vrf"] != "management": # protect management vrf - del_have.append(h) - commands = self.del_commands(del_have) - - final_delete_commands = [] - # del_commands might add 'vrf context..' twice for two routes in the same vrf. This removes it - for c in commands: - if c not in final_delete_commands: - final_delete_commands.append(c) - return final_delete_commands - - def del_commands(self, have): - commands = [] - for h in have: - if h != {"vrf": "default"}: - vrf = h["vrf"] - if "default" not in vrf: - commands.append("vrf context " + vrf) + wantd, delete_spcl = self.list_to_dict(self.want, "want") + haved, n_req = self.list_to_dict(self.have, "have") + + if delete_spcl and haved and self.state == "deleted": + for pk, to_rem in delete_spcl.items(): + if pk in ["ipv4", "ipv6"]: + _afis = haved.get("(_afis_)") + for k, v in _afis.get(pk, {}).items(): + for each_dest in to_rem: + if k.split("_")[0] == each_dest: + self.addcmd({pk: v}, pk, True) else: - # Default static routes are configured in global context. - # "vrf context default" command throws error 9.X release onwards. - # Changing the context to global is achieved by "configure terminal" - commands.append("configure terminal") - for af in h["address_families"]: - for route in af["routes"]: - for next_hop in route["next_hops"]: - command = self.del_next_hop(af, route, next_hop) - commands.append(command.strip()) - return commands - - def del_next_hop(self, af, route, next_hop): - command = "" - if af["afi"] == "ipv4": - command = "no ip route " + route["dest"] + " " + self.add_commands(next_hop) - else: - command = "no ipv6 route " + route["dest"] + " " + self.add_commands(next_hop) - return command - - def add_commands(self, want): - command = "" - params = want.keys() - pref = vrf = ip = intf = name = tag = track = "" - if "admin_distance" in params: - pref = str(want["admin_distance"]) + " " - if "track" in params: - track = "track " + str(want["track"]) + " " - if "dest_vrf" in params: - vrf = "vrf " + str(want["dest_vrf"]) + " " - if "forward_router_address" in params: - ip = want["forward_router_address"] + " " - if "interface" in params: - intf = normalize_interface(want["interface"]) + " " - if "null0" in intf: - ip = "" - intf = "null0 " - if "route_name" in params: - name = "name " + str(want["route_name"]) + " " - if "tag" in params: - tag = "tag " + str(want["tag"]) + " " - command = intf + ip + vrf + name + tag + track + pref - if intf != "Null0 " and ip == "": - self._module.fail_json(msg="forward_router_address error") - return command.strip() + sp_begin = len(self.commands) + _vrfs = haved.get(pk) + for ak, v in _vrfs.items(): + for k, srts in v.items(): + for each_dest in to_rem.get(ak): + if k.split("_")[0] == each_dest: + self.addcmd({ak: srts}, ak, True) + if len(self.commands) != sp_begin: + self.commands.insert( + sp_begin, + self._tmplt.render({"namevrf": pk}, "vrf", False), + ) - def set_commands(self, want, have): - commands = [] - h1 = h2 = h3 = {} - want = remove_empties(want) - vrf_list = [] - if have: - vrf_list = [h["vrf"] for h in have] - if want["vrf"] in vrf_list and have != [{"vrf": "default"}]: - for x in have: - if x["vrf"] == want["vrf"]: - h1 = x # this has the 'have' dict with same vrf as want - if "address_families" in h1.keys(): - afi_list = [h["afi"] for h in h1["address_families"]] - if "address_families" in want.keys(): - for af in want["address_families"]: - if af["afi"] in afi_list: - for x in h1["address_families"]: - if x["afi"] == af["afi"]: - h2 = x # this has the have dict with same vrf and afi as want - dest_list = [h["dest"] for h in h2["routes"]] - if "routes" in af.keys(): - for ro in af["routes"]: - if ro["dest"] in dest_list: - for x in h2["routes"]: - if x["dest"] == ro["dest"]: - h3 = x # this has the have dict with same vrf, afi and dest as want - next_hop_list = list(h3["next_hops"]) - if "next_hops" in ro.keys(): - for nh in ro["next_hops"]: - if "interface" in nh.keys(): - nh["interface"] = normalize_interface( - nh["interface"], - ) - if nh not in next_hop_list: - # no match for next hop in have - commands = self.set_next_hop( - want, - h2, - nh, - ro, - commands, - ) - vrf_list.append(want["vrf"]) - else: - # no match for dest - if "next_hops" in ro.keys(): - for nh in ro["next_hops"]: - commands = self.set_next_hop( - want, - h2, - nh, - ro, - commands, - ) - else: - # no match for afi - if "routes" in af.keys(): - for ro in af["routes"]: - for nh in ro["next_hops"]: - commands = self.set_next_hop(want, af, nh, ro, commands) else: - # no match for vrf - vrf_list.append(want["vrf"]) - for af in want["address_families"]: - for ro in af["routes"]: - for nh in ro["next_hops"]: - commands = self.set_next_hop(want, af, nh, ro, commands) - return commands - - def set_next_hop(self, want, h2, nh, ro, commands): - vrf = want["vrf"] - if h2["afi"] == "ipv4": - com = "ip route " + ro["dest"] + " " + self.add_commands(nh) - else: - com = "ipv6 route " + ro["dest"] + " " + self.add_commands(nh) - commands.append(com.strip()) - if "default" not in vrf: - string = "vrf context " + str(vrf) - else: - # Default static routes are configured in global context. - # "vrf context default" command throws error 9.X release onwards. - # Changing the context to global is achieved by "configure terminal" - string = "configure terminal" - if string not in commands: - commands.insert(0, string) - return commands - - def add_default_vrf(self, dictionary): - """ - This method is used to add 'default' vrf to the facts collected as global/default vrf - is not shown in facts. vrf key exists for all vrfs except global. - """ - for d in dictionary: - if "vrf" not in d.keys(): - d.update({"vrf": "default"}) - return dictionary + # if state is merged, merge want onto have and then compare + if self.state == "merged": + wantd = dict_merge(haved, wantd) + + for k, want in wantd.items(): + self._compare_top_level_keys(want=want, have=haved.pop(k, {}), vrf_name=k) + + if (self.state == "deleted" and not wantd) or self.state in ["overridden"]: + for k, have in haved.items(): + self._compare_top_level_keys(want={}, have=have, vrf_name=k) + + def _compare_top_level_keys(self, want, have, vrf_name): + begin = len(self.commands) + + # if state is deleted, empty out wantd and set haved to wantd + if self.state == "deleted" and have: + _have = {} + for addf in ["ipv4", "ipv6"]: + _temp_sr = {} + for k, ha in have.get(addf, {}).items(): + if k in want.get(addf, {}): # or not want.get(addf) + _temp_sr[k] = ha + if _temp_sr: + _have[addf] = _temp_sr + if _have: + have = _have + want = {} + + if self.state != "deleted": + for _afi, routes in want.items(): + self._compare(s_want=routes, s_have=have.pop(_afi, {}), afi=_afi) + + if self.state in ["overridden", "deleted"]: + for _afi, routes in have.items(): + self._compare(s_want={}, s_have=routes, afi=_afi) + + if len(self.commands) != begin: + if vrf_name == "(_afis_)": + afi_cmds = [] + for cmds in range(begin, len(self.commands)): + self.commands.insert(0, self.commands.pop()) + # afi_cmds.append(self.commands.pop()) + # self.commands = afi_cmds + self.commands + else: + self.commands.insert(begin, self._tmplt.render({"namevrf": vrf_name}, "vrf", False)) + + def _compare(self, s_want, s_have, afi): + for name, w_srs in s_want.items(): + have_srs = s_have.pop(name, {}) + self.compare(parsers=afi, want={afi: w_srs}, have={afi: have_srs}) + + # remove remaining items in have for replaced state + for name, h_srs in s_have.items(): + self.compare(parsers=afi, want={}, have={afi: h_srs}) + + def list_to_dict(self, param, operation): + _static_rts = {} + _delete_spc = {} + if param: + for srs in param: + _vrf = srs.get("vrf") + _srts = {} + for adfs in srs.get("address_families", []): + _afi = adfs.get("afi") + _routes = {} + for rts in adfs.get("routes", []): + _dest = rts.get("dest", "") + + # below if specific to special delete + if ( + self.state == "deleted" + and operation == "want" + and not rts.get("next_hops") + ): + if _vrf: + if not _delete_spc.get(_vrf): + _delete_spc[_vrf] = {} + if not _delete_spc[_vrf].get(_afi): + _delete_spc[_vrf][_afi] = [] + _delete_spc[_vrf][_afi].append(_dest) + else: + if not _delete_spc.get(_afi): + _delete_spc[_afi] = [] + _delete_spc[_afi].append(_dest) + + for nxh in rts.get("next_hops", []): + _forw_rtr_add = nxh.get("forward_router_address", "").upper() + _intf = nxh.get("interface", "") + _key = _dest + "_" + _forw_rtr_add + _intf + + dummy_sr = { + "afi": _afi, + "dest": _dest, + } + + if _vrf: + dummy_sr["vrf"] = _vrf + if _intf: + dummy_sr["interface"] = _intf + if _forw_rtr_add: + dummy_sr["forward_router_address"] = _forw_rtr_add + dummy_sr.update(nxh) + + _routes[_key] = dummy_sr + _srts[_afi] = _routes + _static_rts[_vrf if _vrf else "(_afis_)"] = _srts + return _static_rts, _delete_spc diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py index 70ebfcdd8..ca086bcf9 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/acls/acls.py @@ -46,7 +46,7 @@ class AclsFacts(object): self.generated_spec = utils.generate_dict(facts_argument_spec) def get_device_data(self, connection): - data = connection.get("show running-config | section 'ip(v6)* access-list'") + data = connection.get("show running-config | section '^ip(v6)* access-list'") if data == "{}": return "" return data @@ -125,18 +125,20 @@ class AclsFacts(object): ace = re.sub(port_pro.group(1), "", ace, 1) ace = re.sub(port_pro.group(2), "", ace, 1) else: - limit = re.search(r"(range) (\w*) (\w*)", ace) + limit = re.search(r"range\s(?P<rstart>\S+)\s(?P<rend>\S+)", ace) if limit: + rstart = limit.groupdict()["rstart"] + rend = limit.groupdict()["rend"] port_protocol.update( { "range": { - "start": limit.group(2), - "end": limit.group(3), + "start": rstart, + "end": rend, }, }, ) - ace = re.sub(limit.group(2), "", ace, 1) - ace = re.sub(limit.group(3), "", ace, 1) + range_substring = "range %s %s" % (rstart, rend) + ace = re.sub(range_substring, "", ace, 1) if port_protocol: ret_dict.update({"port_protocol": port_protocol}) return ace, ret_dict @@ -250,7 +252,9 @@ class AclsFacts(object): acl = acl.split("\n") acl = [a.strip() for a in acl] acl = list(filter(None, acl)) - acls["name"] = re.match(r"(ip)?(v6)?\s?access-list (.*)", acl[0]).group(3) + acls["name"] = re.match(r"(ip)?(v6)?\s?access-list (.*)", acl[0]).group( + 3, + ) acls["aces"] = [] for ace in list(filter(None, acl[1:])): if re.search(r"^ip(.*)access-list.*", ace): diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_global/bgp_global.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_global/bgp_global.py index 621e499fd..9e149d8f6 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_global/bgp_global.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_global/bgp_global.py @@ -29,7 +29,7 @@ from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.rm_templat class Bgp_globalFacts(object): """The nxos bgp_global facts class""" - def __init__(self, module, subspec="config", options="options"): + def __init__(self, module): self._module = module self.argument_spec = Bgp_globalArgs.argument_spec diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_neighbor_address_family/bgp_neighbor_address_family.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_neighbor_address_family/bgp_neighbor_address_family.py index e26c1826a..625ed5082 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_neighbor_address_family/bgp_neighbor_address_family.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_neighbor_address_family/bgp_neighbor_address_family.py @@ -28,7 +28,7 @@ from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.rm_templat class Bgp_neighbor_address_familyFacts(object): """The nxos bgp_neighbor_address_family facts class""" - def __init__(self, module, subspec="config", options="options"): + def __init__(self, module): self._module = module self.argument_spec = Bgp_neighbor_address_familyArgs.argument_spec diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_templates/__init__.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_templates/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_templates/__init__.py diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_templates/bgp_templates.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_templates/bgp_templates.py new file mode 100644 index 000000000..021e518a7 --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/bgp_templates/bgp_templates.py @@ -0,0 +1,113 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Red Hat +# GNU General Public License v3.0+ +# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +""" +The nxos bgp_templates fact class +It is in this file the configuration is collected from the device +for a given resource, parsed, and the facts tree is populated +based on the configuration. +""" + +from ansible.module_utils.six import iteritems +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils + +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.argspec.bgp_templates.bgp_templates import ( + Bgp_templatesArgs, +) +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.rm_templates.bgp_templates import ( + Bgp_templatesTemplate, +) + + +class Bgp_templatesFacts(object): + """The nxos bgp_templates facts class""" + + def __init__(self, module): + self._module = module + self.argument_spec = Bgp_templatesArgs.argument_spec + + def get_config(self, connection): + """Wrapper method for `connection.get()` + This method exists solely to allow the unit test framework to mock device connection calls. + """ + as_number = connection.get("show running-config bgp | include 'router bgp'") + templates = connection.get("show running-config bgp | section 'template'") + + return as_number + "\n" + templates + + def populate_facts(self, connection, ansible_facts, data=None): + """Populate the facts for Bgp_templates network resource + + :param connection: the device connection + :param ansible_facts: Facts dictionary + :param data: previously collected conf + + :rtype: dictionary + :returns: facts + """ + facts = {} + + if not data: + data = self.get_config(connection) + + data = self._flatten_config(data) + + # parse native config using the Bgp_templates template + bgp_templates_parser = Bgp_templatesTemplate(lines=data, module=self._module) + parsed = bgp_templates_parser.parse() + + objs = {} + # pop top-level keys and assign values to them + for k, v in iteritems(parsed): + if k == "as_number": + objs[k] = v + else: + objs[k] = list(v.values()) + for x in objs[k]: + if "address_family" in x: + x["address_family"] = list(x["address_family"].values()) + + for nbr in objs.get("neighbor", []): + for af in nbr.get("address_family", []): + std = af.pop("send_community_std", False) + ext = af.pop("send_community_ext", False) + if std and ext: + af["send_community"] = "both" + elif std: + af["send_community"] = "standard" + elif ext: + af["send_community"] = "extended" + + ansible_facts["ansible_network_resources"].pop("bgp_templates", None) + + params = utils.remove_empties( + bgp_templates_parser.validate_config(self.argument_spec, {"config": objs}, redact=True), + ) + + facts["bgp_templates"] = params.get("config", {}) + ansible_facts["ansible_network_resources"].update(facts) + + return ansible_facts + + def _flatten_config(self, data): + flattened_data = [] + cur_peer = "" + data = data.split("\n") + + for x in data: + x = x.strip() + if x.startswith("template peer"): + cur_peer = x + " " + elif x.startswith("address-family"): + # a template peer <> line has to preceed AF line + x = cur_peer + x + flattened_data.append(x) + + return flattened_data diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/facts.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/facts.py index b70cb590d..a7c2ab350 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/facts.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/facts.py @@ -34,6 +34,12 @@ from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.facts.bgp_ from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.facts.bgp_neighbor_address_family.bgp_neighbor_address_family import ( Bgp_neighbor_address_familyFacts, ) +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.facts.bgp_templates.bgp_templates import ( + Bgp_templatesFacts, +) +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.facts.fc_interfaces.fc_interfaces import ( + Fc_interfacesFacts, +) from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.facts.hostname.hostname import ( HostnameFacts, ) @@ -143,8 +149,10 @@ NX_FACT_RESOURCE_SUBSETS = dict( ntp_global=Ntp_globalFacts, snmp_server=Snmp_serverFacts, hostname=HostnameFacts, + bgp_templates=Bgp_templatesFacts, ) MDS_FACT_RESOURCE_SUBSETS = dict( + fc_interfaces=Fc_interfacesFacts, logging_global=Logging_globalFacts, ntp_global=Ntp_globalFacts, snmp_server=Snmp_serverFacts, diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/fc_interfaces/__init__.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/fc_interfaces/__init__.py new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/fc_interfaces/__init__.py diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/fc_interfaces/fc_interfaces.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/fc_interfaces/fc_interfaces.py new file mode 100644 index 000000000..e9d85c086 --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/fc_interfaces/fc_interfaces.py @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Red Hat +# GNU General Public License v3.0+ +# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + +import operator +import re + +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils + +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.argspec.fc_interfaces.fc_interfaces import ( + Fc_interfacesArgs, +) +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.rm_templates.fc_interfaces import ( + Fc_interfacesTemplate, +) + + +__metaclass__ = type + +""" +The nxos fc_interfaces fact class +It is in this file the configuration is collected from the device +for a given resource, parsed, and the facts tree is populated +based on the configuration. +""" + + +class Fc_interfacesFacts(object): + """The nxos fc_interfaces facts class""" + + def __init__(self, module, subspec="config", options="options"): + self._module = module + self.argument_spec = Fc_interfacesArgs.argument_spec + + def get_interfaces_data(self, connection): + return connection.get("show running-config interface all") + + def populate_facts(self, connection, ansible_facts, data=None): + """Populate the facts for Fc_interfaces network resource + + :param connection: the device connection + :param ansible_facts: Facts dictionary + :param data: previously collected conf + + :rtype: dictionary + :returns: facts + """ + facts = {} + objs = [] + + if not data: + data = self.get_interfaces_data(connection) + + # parse native config using the Fc_interfaces template + fc_interfaces_parser = Fc_interfacesTemplate(lines=data.splitlines(), module=self._module) + + objs = list(fc_interfaces_parser.parse().values()) + + # - populate only fc interfaces + # - populate "analytics" value based on the presence or absense of "analytics_nvme" or "analytics_scsi" keys + # - dummy key "m" and "p" is added for sorting, which is removed after sorting + modified_objs = [] + # match only fc interface + regex = re.compile(r"^fc\d+\S+") + for parsed_data in objs: + if not re.match(regex, parsed_data["name"]): + continue + m, p = parsed_data["name"].strip("fc").split("/") + parsed_data["m"] = int(m) + parsed_data["p"] = int(p) + + if "analytics_scsi" in parsed_data: + parsed_data.pop("analytics_scsi") + if "analytics_nvme" in parsed_data: + parsed_data.pop("analytics_nvme") + parsed_data["analytics"] = "fc-all" + else: + parsed_data["analytics"] = "fc-scsi" + else: + if "analytics_nvme" in parsed_data: + parsed_data.pop("analytics_nvme") + parsed_data["analytics"] = "fc-nvme" + modified_objs.append(parsed_data) + + sorted_dict = sorted(modified_objs, key=operator.itemgetter("m", "p")) + objs = [ + {key: value for key, value in eachdict.items() if key not in ["m", "p"]} + for eachdict in sorted_dict + ] + + ansible_facts["ansible_network_resources"].pop("fc_interfaces", None) + + params = utils.remove_empties( + fc_interfaces_parser.validate_config(self.argument_spec, {"config": objs}, redact=True), + ) + + facts["fc_interfaces"] = params.get("config", []) + ansible_facts["ansible_network_resources"].update(facts) + + return ansible_facts diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/legacy/base.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/legacy/base.py index b8cfbf475..16540a435 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/legacy/base.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/legacy/base.py @@ -162,6 +162,26 @@ class Hardware(FactsBase): self.facts["memtotal_mb"] = self.parse_memtotal_mb(data) self.facts["memfree_mb"] = self.parse_memfree_mb(data) + data = None + data = self.run("show processes cpu | json") + + if data: + self.facts["cpu_utilization"] = self.parse_cpu_utilization(data) + + def parse_cpu_utilization(self, data): + return { + "core": { + "five_minutes": int(data.get("fivemin_percent", 0)), + "five_seconds": int( + data.get("fivesec_percent", 0), + ), + "five_seconds_interrupt": int( + data.get("fivesec_intr_percent", 0), + ), + "one_minute": int(data.get("onemin_percent", 0)), + }, + } + def parse_filesystems(self, data): return re.findall(r"^Usage for (\S+)//", data, re.M) diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/static_routes/static_routes.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/static_routes/static_routes.py index b62d25805..991b552ff 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/static_routes/static_routes.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/static_routes/static_routes.py @@ -15,15 +15,14 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type -import re - -from copy import deepcopy - from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.argspec.static_routes.static_routes import ( Static_routesArgs, ) +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.rm_templates.static_routes import ( + Static_routesTemplate, +) class Static_routesFacts(object): @@ -32,199 +31,113 @@ class Static_routesFacts(object): def __init__(self, module, subspec="config", options="options"): self._module = module self.argument_spec = Static_routesArgs.argument_spec - spec = deepcopy(self.argument_spec) - if subspec: - if options: - facts_argument_spec = spec[subspec][options] - else: - facts_argument_spec = spec[subspec] - else: - facts_argument_spec = spec - - self.generated_spec = utils.generate_dict(facts_argument_spec) - def get_device_data(self, connection, data): - vrf_data = [] - non_vrf_data = [] - if not data: - non_vrf_data = connection.get("show running-config | include '^ip(v6)* route'") - vrf_data = connection.get("show running-config | section '^vrf context'") - if non_vrf_data: - non_vrf_data = non_vrf_data.split("\n") + def get_static_routes_data(self, connection): + non_vrf_data = connection.get("show running-config | include '^ip(v6)* route'") + vrf_data = connection.get("show running-config | section '^vrf context'") + if vrf_data: + non_vrf_data += "\n" + vrf_data + return non_vrf_data + + def process_static_routes(self, objs): + strout = {} + for k, obj in objs.items(): + _routes = {"next_hops": []} + _nx_hop = [] + is_vrf = False + + for routes in obj: + grp_vrf = routes.pop("_vrf", None) + if grp_vrf: + is_vrf = True + _afi = routes.pop("_afi") + + _routes["dest"] = routes.pop("_dest") + _nx_hop.append(routes) + + _routes["next_hops"].extend(_nx_hop) + + if is_vrf: + if strout.get(grp_vrf) and strout[grp_vrf].get(_afi): + strout[grp_vrf][_afi].append(_routes) + else: + if strout.get(grp_vrf): + _tma = {_afi: [_routes]} + strout[grp_vrf].update(_tma) + else: + _tm = {grp_vrf: {_afi: [_routes]}} + strout.update(_tm) else: - non_vrf_data = [] - vrf_data = vrf_data.split("\nvrf context") - # as we split based on 'vrf context', it is stripped from the data except the first element - else: - # used for parsed state where data is from the 'running-config' key - data = data.split("\n") - i = 0 - while i <= (len(data) - 1): - if "vrf context " in data[i]: - vrf_conf = data[i] - j = i + 1 - while j < len(data) and "vrf context " not in data[j]: - vrf_conf += "\n" + data[j] - j += 1 - i = j - vrf_data.append(vrf_conf) + if strout.get(_afi): + strout[_afi].append(_routes) else: - non_vrf_data.append(data[i]) - i += 1 + _tma = {_afi: [_routes]} + strout.update(_tma) + return strout + + def structure_static_routes(self, strout): + _static_route_facts = [] + afi_v4 = strout.pop("ipv4", None) + afi_v6 = strout.pop("ipv6", None) + + if afi_v4 or afi_v6: + _triv_static_route = {"address_families": []} - new_vrf_data = [] - for v in vrf_data: - if re.search(r"\n\s*ip(v6)? route", v): - new_vrf_data.append(v) - # dont consider vrf if it does not have routes - for i in range(len(new_vrf_data)): - if not re.search("^vrf context", new_vrf_data[i]): - new_vrf_data[i] = "vrf context" + new_vrf_data[i] + if afi_v4: + _triv_static_route["address_families"].append({"afi": "ipv4", "routes": afi_v4}) + if afi_v6: + _triv_static_route["address_families"].append({"afi": "ipv6", "routes": afi_v6}) - resources = non_vrf_data + new_vrf_data - return resources + _static_route_facts.append(_triv_static_route) + + for k, v in strout.items(): + afi_v4 = v.pop("ipv4", None) + afi_v6 = v.pop("ipv6", None) + + _vrf_static_route = { + "vrf": k, + "address_families": [], + } + + if afi_v4: + _vrf_static_route["address_families"].append({"afi": "ipv4", "routes": afi_v4}) + if afi_v6: + _vrf_static_route["address_families"].append({"afi": "ipv6", "routes": afi_v6}) + + _static_route_facts.append(_vrf_static_route) + return _static_route_facts def populate_facts(self, connection, ansible_facts, data=None): - """Populate the facts for static_routes + """Populate the facts for Static_routes network resource + :param connection: the device connection :param ansible_facts: Facts dictionary :param data: previously collected conf + :rtype: dictionary :returns: facts """ + + facts = {} objs = [] - resources = self.get_device_data(connection, data) - objs = self.render_config(self.generated_spec, resources) + + if not data: + data = self.get_static_routes_data(connection) + + # parse native config using the Static_routes template + static_routes_parser = Static_routesTemplate(lines=data.splitlines(), module=self._module) + objs = static_routes_parser.parse() + + strout = self.process_static_routes(objs) + objs = self.structure_static_routes(strout) + ansible_facts["ansible_network_resources"].pop("static_routes", None) - facts = {} - if objs: - params = utils.validate_config(self.argument_spec, {"config": objs}) - params = utils.remove_empties(params) - for c in params["config"]: - if c == {"vrf": "default"}: - params["config"].remove(c) - facts["static_routes"] = params["config"] - ansible_facts["ansible_network_resources"].update(facts) - return ansible_facts - def get_inner_dict(self, conf, inner_dict): - """ - This method parses the command to create the innermost dictionary of the config - """ - conf = re.sub(r"\s*ip(v6)? route", "", conf) - # strip 'ip route' - inner_dict["dest"] = re.match(r"^\s*(\S+\/\d+) .*", conf).group(1) - - # ethernet1/2/23 - iface = re.match(r".* (Ethernet|loopback|mgmt|port\-channel)(\S*) .*", conf) - i = ["Ethernet", "loopback", "mgmt", "port-channel"] - if iface and iface.group(1) in i: - inner_dict["interface"] = (iface.group(1)) + (iface.group(2)) - conf = re.sub(inner_dict["interface"], "", conf) - - if "." in inner_dict["dest"]: - conf = re.sub(inner_dict["dest"], "", conf) - inner_dict["afi"] = "ipv4" - ipv4 = re.match(r".* (\d+\.\d+\.\d+\.\d+\/?\d*).*", conf) # gets next hop ip - if ipv4: - inner_dict["forward_router_address"] = ipv4.group(1) - conf = re.sub(inner_dict["forward_router_address"], "", conf) - else: - inner_dict["afi"] = "ipv6" - conf = re.sub(inner_dict["dest"], "", conf) - ipv6 = re.match(r".* (\S*:\S*:\S*\/?\d*).*", conf) - if ipv6: - inner_dict["forward_router_address"] = ipv6.group(1) - conf = re.sub(inner_dict["forward_router_address"], "", conf) - - nullif = re.search(r"null0", conf, re.IGNORECASE) - if nullif: - inner_dict["interface"] = "Null0" - inner_dict["forward_router_address"] = None - return inner_dict # dest IP not needed for null if - - keywords = ["vrf", "name", "tag", "track"] - for key in keywords: - pattern = re.match(r".* (?:%s) (\S+).*" % key, conf) - if pattern: - if key == "vrf": - key = "dest_vrf" - elif key == "name": - key = "route_name" - inner_dict[key] = pattern.group(1).strip() - conf = re.sub(key + " " + inner_dict[key], "", conf) - - pref = re.match(r"(?:.*) (\d+)$", conf) - if pref: - # if something is left at the end without any key, it is the pref - inner_dict["admin_distance"] = pref.group(1) - return inner_dict - - def get_command(self, conf, afi_list, dest_list, af): - inner_dict = {} - inner_dict = self.get_inner_dict(conf, inner_dict) - if inner_dict["afi"] not in afi_list: - af.append({"afi": inner_dict["afi"], "routes": []}) - afi_list.append(inner_dict["afi"]) - - next_hop = {} - params = [ - "forward_router_address", - "interface", - "admin_distance", - "route_name", - "tag", - "track", - "dest_vrf", - ] - for p in params: - if p in inner_dict.keys(): - next_hop.update({p: inner_dict[p]}) - - if inner_dict["dest"] not in dest_list: - dest_list.append(inner_dict["dest"]) - af[-1]["routes"].append({"dest": inner_dict["dest"], "next_hops": []}) - # if 'dest' is new, create new list under 'routes' - af[-1]["routes"][-1]["next_hops"].append(next_hop) - else: - af[-1]["routes"][-1]["next_hops"].append(next_hop) - # just append if dest already exists - return af - - def render_config(self, spec, con): - """ - Render config as dictionary structure and delete keys - from spec for null values + params = utils.remove_empties( + static_routes_parser.validate_config(self.argument_spec, {"config": objs}, redact=True), + ) - :param spec: The facts tree, generated from the argspec - :param conf: The configuration - :rtype: dictionary - :returns: The generated config - """ - # config=deepcopy(spec) - config = [] - global_afi_list = [] - global_af = [] - global_dest_list = [] - if con: - for conf in con: - if conf.startswith("vrf context"): - svrf = re.match(r"vrf context (\S+)\n", conf).group(1) - afi_list = [] - af = [] - dest_list = [] - config_dict = {"vrf": svrf, "address_families": []} - conf = conf.split("\n") - # considering from the second line as first line is 'vrf context..' - conf = conf[1:] - for c in conf: - if ("ip route" in c or "ipv6 route" in c) and "bfd" not in c: - self.get_command(c, afi_list, dest_list, af) - config_dict["address_families"] = af - config.append(config_dict) - else: - if ("ip route" in conf or "ipv6 route" in conf) and "bfd" not in conf: - self.get_command(conf, global_afi_list, global_dest_list, global_af) - if global_af: - config.append(utils.remove_empties({"address_families": global_af})) - return config + facts["static_routes"] = params.get("config") + ansible_facts["ansible_network_resources"].update(facts) + + return ansible_facts diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/vlans/vlans.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/vlans/vlans.py index 32968d2d1..f7ac798f1 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/vlans/vlans.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/facts/vlans/vlans.py @@ -166,7 +166,7 @@ class VlansFacts(object): # "vlanshowinfo-vlanmode": "ce-vlan"}} mtuinfo = structured["TABLE_mtuinfo"]["ROW_mtuinfo"] - if type(vlanbrief) is not list: + if not isinstance(vlanbrief, list): # vlanbrief is not a list when only one vlan is found. vlanbrief = [vlanbrief] mtuinfo = [mtuinfo] diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/bgp_global.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/bgp_global.py index d2ca65aad..255ba7db2 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/bgp_global.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/bgp_global.py @@ -634,10 +634,12 @@ class Bgp_globalTemplate(NetworkTemplate): "getval": re.compile( r""" \s+neighbor\s(?P<neighbor_address>\S+) + (\sremote-as\sroute-map\s(?P<remote_as_route_map>\S+))? (\sremote-as\s(?P<remote_as>\S+))? $""", re.VERBOSE, ), - "setval": "neighbor {{ neighbor_address }}", + "setval": "neighbor {{ neighbor_address }}" + "{{ (' remote-as route-map ' + remote_as_route_map) if remote_as_route_map|d(None) else '' }}", "result": { "vrfs": { '{{ "vrf_" + vrf|d() }}': { @@ -645,6 +647,7 @@ class Bgp_globalTemplate(NetworkTemplate): "{{ neighbor_address }}": { "neighbor_address": "{{ neighbor_address }}", "remote_as": "{{ remote_as }}", + "remote_as_route_map": "{{ remote_as_route_map }}", }, }, }, @@ -808,6 +811,7 @@ class Bgp_globalTemplate(NetworkTemplate): "getval": re.compile( r""" \s+neighbor\s(?P<neighbor_address>\S+) + (\sremote-as\sroute-map\s\S+)? \sdescription\s(?P<description>\S+) $""", re.VERBOSE, ), diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/bgp_neighbor_address_family.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/bgp_neighbor_address_family.py index 26dad82af..7db4b860d 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/bgp_neighbor_address_family.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/bgp_neighbor_address_family.py @@ -617,6 +617,32 @@ class Bgp_neighbor_address_familyTemplate(NetworkTemplate): }, }, { + "name": "rewrite_rt_asn", + "getval": re.compile( + r""" + (?P<rewrite_rt_asn>rewrite-rt-asn) + $""", + re.VERBOSE, + ), + "setval": "rewrite-rt-asn", + "result": { + "vrfs": { + "{{ 'vrf_' + vrf|d() }}": { + "vrf": "{{ vrf }}", + "neighbors": { + "{{ neighbor }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "rewrite_rt_asn": "{{ not not rewrite_rt_asn }}", + }, + }, + }, + }, + }, + }, + }, + }, + { "name": "route_map.inbound", "getval": re.compile( r""" diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/bgp_templates.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/bgp_templates.py new file mode 100644 index 000000000..7e7bb5828 --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/bgp_templates.py @@ -0,0 +1,1208 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Red Hat +# GNU General Public License v3.0+ +# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +""" +The Bgp_templates parser templates file. This contains +a list of parser definitions and associated functions that +facilitates both facts gathering and native command generation for +the given network resource. +""" + +import re + +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.network_template import ( + NetworkTemplate, +) + + +def _tmplt_bfd(proc): + bfd = proc.get("bfd", {}) + cmd = None + + if bfd.get("set"): + cmd = "bfd" + if bfd.get("singlehop"): + cmd = "bfd singlehop" + elif bfd.get("multihop", {}).get("set"): + cmd = "bfd multihop" + + return cmd + + +def _tmplt_path_attribute(proc): + cmd = "path-attribute {action}".format(**proc) + + if "type" in proc: + cmd += " {type}".format(**proc) + elif "range" in proc: + cmd += " range {start} {end}".format(**proc["range"]) + cmd += " in" + return cmd + + +class Bgp_templatesTemplate(NetworkTemplate): + def __init__(self, lines=None, module=None): + super(Bgp_templatesTemplate, self).__init__(lines=lines, tmplt=self, module=module) + + # fmt: off + PARSERS = [ + { + "name": "as_number", + "getval": re.compile( + r""" + ^router\sbgp\s(?P<as_number>\S+) + $""", re.VERBOSE, + ), + "setval": "router bgp {{ as_number }}", + "result": { + "as_number": "{{ as_number }}", + }, + }, + { + "name": "peer.name", + "getval": re.compile( + r""" + template\speer\s(?P<name>\S+) + $""", re.VERBOSE, + ), + "setval": "template peer {{ name }}", + "result": { + "neighbor": { + "{{ name }}": { + "name": "{{ name }}", + }, + }, + }, + "shared": True, + }, + { + "name": "bfd", + "getval": re.compile( + r""" + (?P<bfd>bfd) + (\s(?P<singlehop>singlehop))? + (\s(?P<multihop>multihop))? + $""", re.VERBOSE, + ), + "setval": _tmplt_bfd, + "result": { + "neighbor": { + "{{ name }}": { + "bfd": { + "set": "{{ True if bfd is defined and singlehop is undefined and multihop is undefined else None }}", + "singlehop": "{{ not not singlehop }}", + "multihop": { + "set": "{{ not not multihop }}", + }, + }, + }, + }, + }, + }, + { + "name": "bfd.multihop.interval", + "getval": re.compile( + r""" + bfd\smultihop\sinterval + \s(?P<tx_interval>\d+) + \smin_rx\s(?P<min_rx_interval>\d+) + \smultiplier\s(?P<multiplier>\d+) + $""", re.VERBOSE, + ), + "setval": "bfd multihop interval" + " {{ bfd.multihop.interval.tx_interval }}" + " min_rx {{ bfd.multihop.interval.min_rx_interval }}" + " multiplier {{ bfd.multihop.interval.multiplier }}", + "result": { + "neighbor": { + "{{ name }}": { + "bfd": { + "multihop": { + "interval": { + "tx_interval": "{{ tx_interval }}", + "min_rx_interval": "{{ min_rx_interval }}", + "multiplier": "{{ multiplier }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "bmp_activate_server", + "getval": re.compile( + r""" + bmp-activate-server\s(?P<bmp_activate_server>\d+) + $""", re.VERBOSE, + ), + "setval": "bmp-activate-server {{ bmp_activate_server }}", + "result": { + "neighbor": { + "{{ name }}": { + "bmp_activate_server": "{{ bmp_activate_server }}", + }, + }, + }, + }, + { + "name": "capability", + "getval": re.compile( + r""" + capability\ssuppress\s(?P<suppress_4_byte_as>4-byte-as) + $""", re.VERBOSE, + ), + "setval": "capability suppress 4-byte-as", + "result": { + "neighbor": { + "{{ name }}": { + "capability": { + "suppress_4_byte_as": "{{ not not suppress_4_byte_as }}", + }, + }, + }, + }, + }, + { + "name": "description", + "getval": re.compile( + r""" + description\s(?P<description>\S+) + $""", re.VERBOSE, + ), + "setval": "description {{ description }}", + "result": { + "neighbor": { + "{{ name }}": { + "description": "{{ description }}", + }, + }, + }, + }, + { + "name": "disable_connected_check", + "getval": re.compile( + r""" + (?P<disable_connected_check>disable-connected-check) + $""", re.VERBOSE, + ), + "setval": "disable-connected-check", + "result": { + "neighbor": { + "{{ name }}": { + "disable_connected_check": "{{ not not disable_connected_check }}", + }, + }, + }, + }, + { + "name": "dont_capability_negotiate", + "getval": re.compile( + r""" + (?P<dont_capability_negotiate>dont-capability-negotiate) + $""", re.VERBOSE, + ), + "setval": "dont-capability-negotiate", + "result": { + "neighbor": { + "{{ name }}": { + "dont_capability_negotiate": "{{ not not dont_capability_negotiate }}", + }, + }, + }, + }, + { + "name": "dscp", + "getval": re.compile( + r""" + dscp\s(?P<dscp>\S+) + $""", re.VERBOSE, + ), + "setval": "dscp {{ dscp }}", + "result": { + "neighbor": { + "{{ name }}": { + "dscp": "{{ dscp }}", + }, + }, + }, + }, + { + "name": "dynamic_capability", + "getval": re.compile( + r""" + (?P<dynamic_capability>dynamic-capability) + $""", re.VERBOSE, + ), + "setval": "dynamic-capability", + "result": { + "neighbor": { + "{{ name }}": { + "dynamic_capability": "{{ not not dynamic_capability }}", + }, + }, + }, + }, + { + "name": "ebgp_multihop", + "getval": re.compile( + r""" + ebgp-multihop\s(?P<ebgp_multihop>\d+) + $""", re.VERBOSE, + ), + "setval": "ebgp-multihop {{ ebgp_multihop }}", + "result": { + "neighbor": { + "{{ name }}": { + "ebgp_multihop": "{{ ebgp_multihop }}", + }, + }, + }, + }, + { + "name": "graceful_shutdown", + "getval": re.compile( + r""" + graceful-shutdown + \s(?P<activate>activate) + (\sroute-map\s(?P<route_map>\S+))? + $""", re.VERBOSE, + ), + "setval": "graceful-shutdown activate" + "{{ (' route-map ' + graceful_shutdown.activate.route_map) if graceful_shutdown.activate.route_map is defined }}", + "result": { + "neighbor": { + "{{ name }}": { + "graceful_shutdown": { + "activate": { + "set": "{{ True if activate is defined and route_map is undefined else None }}", + "route_map": "{{ route_map }}", + }, + }, + }, + }, + }, + }, + { + "name": "inherit.peer_session", + "getval": re.compile( + r""" + inherit + \speer-session\s(?P<peer_session>\S+) + $""", re.VERBOSE, + ), + "setval": "inherit peer-session {{ inherit.peer_session }}", + "result": { + "neighbor": { + "{{ name }}": { + "inherit": { + "peer_session": "{{ peer_session }}", + }, + }, + }, + }, + }, + { + "name": "local_as", + "getval": re.compile( + r""" + local-as\s(?P<local_as>\S+) + $""", re.VERBOSE, + ), + "setval": "local-as {{ local_as }}", + "result": { + "neighbor": { + "{{ name }}": { + "local_as": "{{ local_as }}", + }, + }, + }, + }, + { + "name": "log_neighbor_changes", + "getval": re.compile( + r""" + (?P<log_neighbor_changes>log-neighbor-changes) + (\s(?P<disable>disable))? + $""", re.VERBOSE, + ), + "setval": "log-neighbor-changes{{ ' disable' if log_neighbor_changes.disable is defined }}", + "result": { + "neighbor": { + "{{ name }}": { + "log_neighbor_changes": { + "set": "{{ True if log_neighbor_changes is defined and disable is undefined }}", + "disable": "{{ not not disable }}", + }, + }, + }, + }, + }, + { + "name": "low_memory", + "getval": re.compile( + r""" + low-memory\s(?P<exempt>exempt) + $""", re.VERBOSE, + ), + "setval": "low-memory exempt", + "result": { + "neighbor": { + "{{ name }}": { + "low_memory": { + "exempt": "{{ not not exempt }}", + }, + }, + }, + }, + }, + { + "name": "password", + "getval": re.compile( + r""" + password\s(?P<encryption>\d+)\s(?P<key>\S+) + $""", re.VERBOSE, + ), + "setval": "password{{ (' ' + password.encryption|string) if password.encryption is defined }} {{ password.key }}", + "result": { + "neighbor": { + "{{ name }}": { + "password": { + "encryption": "{{ encryption }}", + "key": "{{ key }}", + }, + }, + }, + }, + }, + { + "name": "path_attribute", + "getval": re.compile( + r""" + path-attribute\s(?P<action>\S+)\s + (?P<type>\d+)? + (range\s(?P<start>\d+)\s(?P<end>\d+))? + \sin + $""", re.VERBOSE, + ), + "setval": _tmplt_path_attribute, + "result": { + "neighbor": { + "{{ name }}": { + "path_attribute": [ + { + "action": "{{ action }}", + "type": "{{ type if type is defined else None }}", + "range": { + "start": "{{ start if start is defined }}", + "end": "{{ end if end is defined }}", + }, + }, + ], + }, + }, + }, + }, + { + "name": "remote_as", + "getval": re.compile( + r""" + remote-as\s(?P<remote_as>.+) + $""", re.VERBOSE, + ), + "setval": "remote-as {{ remote_as }}", + "result": { + "neighbor": { + "{{ name }}": { + "remote_as": "{{ remote_as|string }}", + }, + }, + }, + }, + { + "name": "remove_private_as", + "getval": re.compile( + r""" + (?P<remove_private_as>remove-private-as) + (\s(?P<all>all))? + (\s(?P<replace_as>replace-as))? + $""", re.VERBOSE, + ), + "setval": "remove-private-as" + "{{ ' replace-as' if remove_private_as.replace_as|d(False) else '' }}" + "{{ ' all' if remove_private_as.all|d(False) else '' }}", + "result": { + "neighbor": { + "{{ name }}": { + "remove_private_as": { + "set": "{{ True if remove_private_as is defined and replace_as is undefined and all is undefined else None }}", + "replace_as": "{{ not not replace_as }}", + "all": "{{ not not all }}", + }, + }, + }, + }, + }, + { + "name": "shutdown", + "getval": re.compile( + r""" + (?P<shutdown>shutdown) + $""", re.VERBOSE, + ), + "setval": "shutdown", + "result": { + "neighbor": { + "{{ name }}": { + "shutdown": "{{ not not shutdown }}", + }, + }, + }, + }, + { + "name": "timers", + "getval": re.compile( + r""" + timers\s(?P<keepalive>\d+)\s(?P<holdtime>\d+) + $""", re.VERBOSE, + ), + "setval": "timers {{ timers.keepalive }} {{ timers.holdtime }}", + "result": { + "neighbor": { + "{{ name }}": { + "timers": { + "keepalive": "{{ keepalive }}", + "holdtime": "{{ holdtime }}", + }, + }, + }, + }, + }, + { + "name": "transport", + "getval": re.compile( + r""" + transport\sconnection-mode + \s(?P<passive>passive) + $""", re.VERBOSE, + ), + "setval": "transport connection-mode passive", + "result": { + "neighbor": { + "{{ name }}": { + "transport": { + "connection_mode": { + "passive": "{{ not not passive }}", + }, + }, + }, + }, + }, + }, + { + "name": "ttl_security", + "getval": re.compile( + r""" + ttl-security\shops\s(?P<hops>\d+) + $""", re.VERBOSE, + ), + "setval": "ttl-security hops {{ ttl_security.hops|string }}", + "result": { + "neighbor": { + "{{ name }}": { + "ttl_security": { + "hops": "{{ hops }}", + }, + }, + }, + }, + }, + { + "name": "update_source", + "getval": re.compile( + r""" + update-source\s(?P<update_source>\S+) + $""", re.VERBOSE, + ), + "setval": "update-source {{ update_source }}", + "result": { + "neighbor": { + "{{ name }}": { + "update_source": "{{ update_source }}", + }, + }, + }, + }, + # start template AF parsers + { + "name": "address_family", + "getval": re.compile( + r""" + template\speer\s(?P<name>\S+) + \saddress-family\s(?P<afi>\S+)\s(?P<safi>\S+) + $""", + re.VERBOSE, + ), + "setval": "address-family {{ afi }}{{ (' ' + safi) if safi is defined else '' }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + "{{ afi + '_' + safi|d() }}": { + "afi": "{{ afi }}", + "safi": "{{ safi }}", + }, + }, + }, + }, + }, + "shared": True, + }, + { + "name": "advertise_map.exist_map", + "getval": re.compile( + r""" + advertise-map + \s(?P<route_map>\S+) + \sexist-map\s(?P<exist_map>\S+) + $""", + re.VERBOSE, + ), + "setval": "advertise-map {{ advertise_map.route_map }} exist-map {{ advertise_map.exist_map }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "advertise_map": { + "route_map": "{{ route_map }}", + "exist_map": "{{ exist_map }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "advertise_map.non_exist_map", + "getval": re.compile( + r""" + advertise-map + \s(?P<route_map>\S+) + \snon-exist-map\s(?P<non_exist_map>\S+) + $""", + re.VERBOSE, + ), + "setval": "advertise-map {{ advertise_map.route_map }} non-exist-map {{ advertise_map.non_exist_map }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "advertise_map": { + "route_map": "{{ route_map }}", + "non_exist_map": "{{ non_exist_map }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "advertisement_interval", + "getval": re.compile( + r""" + advertisement-interval + \s(?P<advertisement_interval>\d+) + $""", + re.VERBOSE, + ), + "setval": "advertisement-interval {{ advertisement_interval }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "advertisement_interval": "{{ advertisement_interval }}", + }, + }, + }, + }, + }, + }, + { + "name": "allowas_in", + "getval": re.compile( + r""" + (?P<allowas_in>allowas-in)\s(?P<max_occurences>\d+) + $""", + re.VERBOSE, + ), + "setval": "allowas-in{{ ' ' + allowas_in.max_occurences|string if allowas_in.max_occurences is defined else '' }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + "{{ afi + '_' + safi|d() }}": { + "allowas_in": { + "set": "{{ True if allowas_in is defined and max_occurences is undefined }}", + "max_occurences": "{{ max_occurences }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "as_override", + "getval": re.compile( + r""" + (?P<as_override>as-override) + $""", + re.VERBOSE, + ), + "setval": "as-override", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + "{{ afi + '_' + safi|d() }}": { + "as_override": "{{ not not as_override }}", + }, + }, + }, + }, + }, + }, + { + "name": "capability.additional_paths.receive", + "getval": re.compile( + r""" + capability\sadditional-paths + \s(?P<receive>receive) + (\s(?P<disable>disable))? + $""", + re.VERBOSE, + ), + "setval": "capability additional-paths receive{{ ' disable' if capability.additional_paths.receive == 'disable' else '' }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + "{{ afi + '_' + safi|d() }}": { + "capability": { + "additional_paths": { + "receive": "{{ 'disable' if disable is defined else 'enable' }}", + }, + }, + }, + }, + }, + }, + }, + }, + { + "name": "capability.additional_paths.send", + "getval": re.compile( + r""" + capability\sadditional-paths + \s(?P<send>send) + (\s(?P<disable>disable))? + $""", + re.VERBOSE, + ), + "setval": "capability additional-paths send{{ ' disable' if capability.additional_paths.send == 'disable' else '' }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "capability": { + "additional_paths": { + "send": "{{ 'disable' if disable is defined else 'enable' }}", + }, + }, + }, + }, + }, + }, + }, + }, + { + "name": "default_originate", + "getval": re.compile( + r""" + (?P<default_originate>default-originate) + (\sroute-map\s(?P<route_map>\S+))? + $""", + re.VERBOSE, + ), + "setval": "default-originate{{ ' route-map ' + default_originate.route_map if default_originate.route_map is defined else '' }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "default_originate": { + "set": "{{ True if default_originate is defined and route_map is not defined }}", + "route_map": "{{ route_map }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "disable_peer_as_check", + "getval": re.compile( + r""" + (?P<disable_peer_as_check>disable-peer-as-check) + $""", + re.VERBOSE, + ), + "setval": "disable-peer-as-check", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "disable_peer_as_check": "{{ not not disable_peer_as_check }}", + }, + }, + }, + }, + }, + }, + { + "name": "filter_list.inbound", + "getval": re.compile( + r""" + filter-list + \s(?P<in>\S+)\s(?:in) + $""", + re.VERBOSE, + ), + "setval": "filter-list {{ filter_list.inbound }} in", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "filter_list": { + "inbound": "{{ in }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "filter_list.outbound", + "getval": re.compile( + r""" + filter-list + \s(?P<out>\S+)\s(?:out) + $""", + re.VERBOSE, + ), + "setval": "filter-list {{ filter_list.outbound }} out", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "filter_list": { + "outbound": "{{ out }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "inherit.peer_policy", + "getval": re.compile( + r""" + inherit\speer-policy + \s(?P<peer_policy>\S+) + $""", + re.VERBOSE, + ), + "setval": "inherit peer-policy {{ inherit.peer_policy }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "inherit": { + "peer_policy": "{{ peer_policy }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "maximum_prefix", + "getval": re.compile( + r""" + maximum-prefix + \s(?P<max_prefix_limit>\d+) + (\s(?P<generate_warning_threshold>\d+))? + (\srestart\s(?P<restart_interval>\d+))? + (\s(?P<warning_only>warning-only))? + $""", + re.VERBOSE, + ), + "setval": "maximum-prefix" + "{{ ' ' + maximum_prefix.max_prefix_limit|string if maximum_prefix.max_prefix_limit|d(None) else '' }}" + "{{ ' ' + maximum_prefix.generate_warning_threshold|string if maximum_prefix.generate_warning_threshold|d(None) else '' }}" + "{{ ' restart ' + maximum_prefix.restart_interval|string if maximum_prefix.restart_interval|d(None) else '' }}" + "{{ ' warning-only' if maximum_prefix.warning_only|d(False) else '' }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "maximum_prefix": { + "max_prefix_limit": "{{ max_prefix_limit }}", + "generate_warning_threshold": "{{ generate_warning_threshold }}", + "restart_interval": "{{ restart_interval }}", + "warning_only": "{{ not not warning_only }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "next_hop_self", + "getval": re.compile( + r""" + (?P<next_hop_self>next-hop-self) + (\s(?P<all_routes>all))? + $""", + re.VERBOSE, + ), + "setval": "next-hop-self{{ ' all' if next_hop_self.all_routes|d(False) else '' }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "next_hop_self": { + "set": "{{ True if next_hop_self is defined and all_routes is not defined }}", + "all_routes": "{{ not not all_routes }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "next_hop_third_party", + "getval": re.compile( + r""" + no\s(?P<next_hop_third_party>next-hop-third-party) + $""", + re.VERBOSE, + ), + "setval": "next-hop-third-party", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "next_hop_third_party": "{{ not next_hop_third_party }}", + }, + }, + }, + }, + }, + }, + { + "name": "prefix_list.inbound", + "getval": re.compile( + r""" + prefix-list + \s(?P<in>\S+)\s(?:in) + $""", + re.VERBOSE, + ), + "setval": "prefix-list {{ prefix_list.inbound }} in", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "prefix_list": { + "inbound": "{{ in }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "prefix_list.outbound", + "getval": re.compile( + r""" + prefix-list + \s(?P<out>\S+)\s(?:out) + $""", + re.VERBOSE, + ), + "setval": "prefix-list {{ prefix_list.outbound }} out", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "prefix_list": { + "outbound": "{{ out }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "route_map.inbound", + "getval": re.compile( + r""" + route-map + \s(?P<in>\S+)\s(?:in) + $""", + re.VERBOSE, + ), + "setval": "route-map {{ route_map.inbound }} in", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "route_map": { + "inbound": "{{ in }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "route_map.outbound", + "getval": re.compile( + r""" + route-map + \s(?P<out>\S+)\s(?:out) + $""", + re.VERBOSE, + ), + "setval": "route-map {{ route_map.outbound }} out", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "route_map": { + "outbound": "{{ out }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "route_reflector_client", + "getval": re.compile( + r""" + (?P<route_reflector_client>route-reflector-client) + $""", + re.VERBOSE, + ), + "setval": "route-reflector-client", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "route_reflector_client": "{{ not not route_reflector_client }}", + }, + }, + }, + }, + }, + }, + { + "name": "send_community_standard", + "getval": re.compile( + r""" + (?P<send_community_std>send-community) + $""", + re.VERBOSE, + ), + "setval": "send-community", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "send_community_std": "{{ not not send_community_std }}", + }, + }, + }, + }, + }, + }, + { + "name": "send_community_extended", + "getval": re.compile( + r""" + (?P<send_community_ext>send-community\sextended) + $""", + re.VERBOSE, + ), + "setval": "send-community extended", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "send_community_ext": "{{ not not send_community_ext }}", + }, + }, + }, + }, + }, + }, + { + "name": "soft_reconfiguration_inbound", + "getval": re.compile( + r""" + (?P<soft_reconfiguration_inbound>soft-reconfiguration\sinbound) + (\s(?P<always>always))? + $""", + re.VERBOSE, + ), + "setval": "soft-reconfiguration inbound{{ ' always' if soft_reconfiguration_inbound.always|d(False) else '' }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "soft_reconfiguration_inbound": { + "set": "{{ True if soft_reconfiguration_inbound is defined and always is undefined }}", + "always": "{{ not not always }}", + }, + }, + }, + }, + }, + }, + }, + { + "name": "soo", + "getval": re.compile( + r""" + soo\s(?P<soo>\S+) + $""", + re.VERBOSE, + ), + "setval": "soo {{ soo }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "soo": "{{ soo }}", + }, + }, + }, + }, + }, + }, + { + "name": "suppress_inactive", + "getval": re.compile( + r""" + (?P<suppress_inactive>suppress-inactive) + $""", + re.VERBOSE, + ), + "setval": "suppress-inactive", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "suppress_inactive": "{{ not not suppress_inactive }}", + }, + }, + }, + }, + }, + }, + { + "name": "unsuppress_map", + "getval": re.compile( + r""" + unsuppress-map\s(?P<unsuppress_map>\S+) + $""", + re.VERBOSE, + ), + "setval": "unsuppress-map {{ unsuppress_map }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "unsuppress_map": "{{ unsuppress_map }}", + }, + }, + }, + }, + }, + }, + { + "name": "weight", + "getval": re.compile( + r""" + weight\s(?P<weight>\d+) + $""", + re.VERBOSE, + ), + "setval": "weight {{ weight }}", + "result": { + "neighbor": { + "{{ name }}": { + "address_family": { + '{{ afi + "_" + safi|d() }}': { + "weight": "{{ weight }}", + }, + }, + }, + }, + }, + }, + ] + # fmt: on diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/fc_interfaces.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/fc_interfaces.py new file mode 100644 index 000000000..1cc9d5973 --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/fc_interfaces.py @@ -0,0 +1,194 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Red Hat +# GNU General Public License v3.0+ +# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +""" +The Fc_interfaces parser templates file. This contains +a list of parser definitions and associated functions that +facilitates both facts gathering and native command generation for +the given network resource. +""" + +import re + +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.network_template import ( + NetworkTemplate, +) + + +allowed_speed_values = [ + "auto", + "1000", + "2000", + "4000", + "8000", + "10000", + "16000", + "32000", + "64000", + "auto max 2000", + "auto max 4000", + "auto max 8000", + "auto max 16000", + "auto max 32000", + "auto max 64000", +] + +allowed_port_modes = [ + "auto", + "E", + "F", + "Fx", + "NP", + "SD", +] + +allowed_values_pattern = "|".join(re.escape(val) for val in allowed_speed_values) + + +class Fc_interfacesTemplate(NetworkTemplate): + def __init__(self, lines=None, module=None): + super(Fc_interfacesTemplate, self).__init__(lines=lines, tmplt=self, module=module) + + # fmt: off + PARSERS = [ + { + "name": "interface", + "getval": re.compile( + r""" + ^interface\s + (?P<name>\S+)$""", re.VERBOSE, + ), + "setval": "interface {{ name }}", + "result": { + "{{ name }}": { + "name": "{{ name }}", + }, + }, + "shared": True, + }, + { + "name": "description", + "getval": re.compile( + r""" + \s+switchport\s+description\s+(?P<description>.*) + $""", re.VERBOSE, + ), + "setval": "switchport description {{ description }}", + "remval": "switchport description", + "result": { + "{{ name }}": { + "description": "{{ description }}", + }, + }, + }, + { + "name": "enabled", + "getval": re.compile( + r""" + (?P<negate>\s+no)? + (?P<shutdown>\s+shutdown) + $""", re.VERBOSE, + ), + "setval": "shutdown", + "result": { + "{{ name }}": { + "enabled": "{{ False if shutdown is defined and negate is not defined else True }}", + }, + }, + }, + { + "name": "speed", + "getval": re.compile( + rf"""\s+switchport\s+speed\s+(?P<speed>{allowed_values_pattern})$""", re.VERBOSE, + ), + "setval": "switchport speed {{ speed|string }}", + "result": { + "{{ name }}": { + "speed": "{{ speed|string }}", + }, + }, + }, + { + "name": "mode", + "getval": re.compile( + r""" + \s+switchport\s+mode\s+(?P<mode>\S+) + $""", re.VERBOSE, + ), + "setval": "switchport mode {{ mode|string }}", + "result": { + "{{ name }}": { + "mode": "{{ mode }}", + }, + }, + }, + { + "name": "trunk_mode", + "getval": re.compile( + r""" + \s+switchport\s+trunk\s+mode\s+(?P<trunk_mode>\S+) + $""", re.VERBOSE, + ), + "setval": "switchport trunk mode {{ trunk_mode|string }}", + "result": { + "{{ name }}": { + "trunk_mode": "{{ trunk_mode }}", + }, + }, + }, + + { + "name": "analytics_scsi", + "getval": re.compile( + r""" + (?P<negate>\s+no)? + \s+analytics\s+type\s+(?P<analytics_scsi>fc-scsi) + $""", re.VERBOSE, + ), + "setval": "analytics type {{ analytics_scsi|string }}", + "result": { + "{{ name }}": { + "analytics_scsi": "{{ analytics_scsi }}", + }, + }, + }, + { + "name": "analytics_nvme", + "getval": re.compile( + r""" + (?P<negate>\s+no)? + \s+analytics\s+type\s+(?P<analytics_nvme>fc-nvme) + $""", re.VERBOSE, + ), + "setval": "analytics type {{ analytics_nvme|string }}", + "result": { + "{{ name }}": { + "analytics_nvme": "{{ analytics_nvme }}", + }, + }, + }, + + { + "name": "analytics", + "getval": re.compile( + r""" + \s+analytics\s+type\s+(?P<analytics>\S+) + $""", re.VERBOSE, + ), + # "setval": "analytics type {{ analytics|string }}", + "setval": "", + "result": { + "{{ name }}": { + "analytics": "{{ analytics }}", + }, + }, + }, + ] + # fmt: on diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/route_maps.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/route_maps.py index cf8f89507..7e876682a 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/route_maps.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/route_maps.py @@ -22,6 +22,17 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.r ) +def _tmplt_set_extcomm_rt(data): + cmd = "set extcommunity rt" + extcomm_numbers = " ".join(data.get("extcommunity_numbers", [])) + if extcomm_numbers: + cmd += " " + extcomm_numbers + if data.get("additive"): + cmd += " additive" + + return cmd + + def _tmplt_match_ip_multicast(data): cmd = "match ip multicast" multicast = data["match"]["ip"]["multicast"] @@ -1020,6 +1031,34 @@ class Route_mapsTemplate(NetworkTemplate): }, }, { + "name": "set.extcommunity.rt", + "getval": re.compile( + r""" + \s+set\sextcommunity\srt + (?P<extcommunity_numbers>(\s\S+:\S+)*)? + (\s(?P<additive>additive))? + \s*$""", re.VERBOSE, + ), + "setval": _tmplt_set_extcomm_rt, + "result": { + "{{ route_map }}": { + "entries": { + "{{ sequence }}": { + "set": { + "extcommunity": { + "rt": { + "additive": "{{ not not additive }}", + "extcommunity_numbers": + "{{ extcommunity_numbers.strip().split(' ') if extcommunity_numbers|d('') else None }}", + }, + }, + }, + }, + }, + }, + }, + }, + { "name": "set.forwarding_address", "getval": re.compile( r""" diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/snmp_server.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/snmp_server.py index be25452df..35451a47b 100644 --- a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/snmp_server.py +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/snmp_server.py @@ -1487,6 +1487,7 @@ class Snmp_serverTemplate(NetworkTemplate): $""", re.VERBOSE, ), "setval": _tmplt_users_auth, + "remval": "snmp-server user {{ user }}", "result": { "users": { "auth": [ diff --git a/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/static_routes.py b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/static_routes.py new file mode 100644 index 000000000..a70bc4130 --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/module_utils/network/nxos/rm_templates/static_routes.py @@ -0,0 +1,126 @@ +# -*- coding: utf-8 -*- +# Copyright 2023 Red Hat +# GNU General Public License v3.0+ +# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +""" +The Static_routes parser templates file. This contains +a list of parser definitions and associated functions that +facilitates both facts gathering and native command generation for +the given network resource. +""" + +import re + +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.network_template import ( + NetworkTemplate, +) + + +class Static_routesTemplate(NetworkTemplate): + def __init__(self, lines=None, module=None): + super(Static_routesTemplate, self).__init__(lines=lines, tmplt=self, module=module) + + # fmt: off + PARSERS = [ + # this parser shared the vrf context names with routes + { + 'name': 'vrf', + 'getval': re.compile( + r''' + ^vrf\scontext\s(?P<namevrf>\S+)$ + ''', re.VERBOSE, + ), + 'setval': 'vrf context {{ namevrf }}', + 'result': {}, + 'shared': True, + }, + { + "name": "ipv4", + "getval": re.compile( + r""" + (^|\s+)ip\sroute + (\s(?P<dest>\S+)) + (\s(?P<interface>(Ethernet|loopback|mgmt|Null|port-channel)\S+))? + (\s(?P<forward_router_address>\S+))? + (\svrf\s(?P<dest_vrf>\S+))? + (\sname\s(?P<route_name>\S+))? + (\stag\s(?P<tag>\d+))? + (\strack\s(?P<track>\d+))? + (\s(?P<admin_distance>\d+))? + $""", re.VERBOSE, + ), + "setval": "ip route" + "{{ (' ' + ipv4.dest) if ipv4.dest is defined else '' }}" + "{{ (' ' + ipv4.interface) if ipv4.interface is defined else '' }}" + "{{ (' ' + ipv4.forward_router_address) if ipv4.forward_router_address is defined else '' }}" + "{{ (' vrf ' + ipv4.dest_vrf) if ipv4.dest_vrf is defined else '' }}" + "{{ (' name ' + ipv4.route_name) if ipv4.route_name is defined else '' }}" + "{{ (' tag ' + ipv4.tag|string) if ipv4.tag is defined else '' }}" + "{{ (' track ' + ipv4.track|string) if ipv4.track is defined else '' }}" + "{{ (' ' + ipv4.admin_distance|string) if ipv4.admin_distance is defined else '' }}", + "result": { + "{{ dest }}_{{ namevrf|d() }}_ipv4": [ + { + "_vrf": "{{ namevrf }}", + "_afi": "ipv4", + "_dest": "{{ dest }}", + "interface": "{{ interface }}", + "forward_router_address": "{{ forward_router_address }}", + "admin_distance": "{{ admin_distance }}", + "dest_vrf": "{{ dest_vrf }}", + "tag": "{{ tag }}", + "route_name": "{{ route_name }}", + "track": "{{ track }}", + }, + ], + }, + }, + { + "name": "ipv6", + "getval": re.compile( + r""" + (^|\s+)ipv6\sroute + (\s(?P<dest>\S+)) + (\s(?P<interface>(Ethernet|loopback|mgmt|Null|port-channel)\S+))? + (\s(?P<forward_router_address>\S+))? + (\svrf\s(?P<dest_vrf>\S+))? + (\sname\s(?P<route_name>\S+))? + (\stag\s(?P<tag>\d+))? + (\strack\s(?P<track>\d+))? + (\s(?P<admin_distance>\d+))? + $""", re.VERBOSE, + ), + "setval": "ipv6 route" + "{{ (' ' + ipv6.dest) if ipv6.dest is defined else '' }}" + "{{ (' ' + ipv6.interface) if ipv6.interface is defined else '' }}" + "{{ (' ' + ipv6.forward_router_address) if ipv6.forward_router_address is defined else '' }}" + "{{ (' vrf ' + ipv6.dest_vrf) if ipv6.dest_vrf is defined else '' }}" + "{{ (' name ' + ipv6.route_name) if ipv6.route_name is defined else '' }}" + "{{ (' tag ' + ipv6.tag|string) if ipv6.tag is defined else '' }}" + "{{ (' track ' + ipv6.track|string) if ipv6.track is defined else '' }}" + "{{ (' ' + ipv6.admin_distance|string) if ipv6.admin_distance is defined else '' }}", + "result": { + "{{ dest }}_{{ namevrf|d() }}_ipv6": [ + { + "_vrf": "{{ namevrf }}", + "_afi": "ipv6", + "_dest": "{{ dest }}", + "interface": "{{ interface }}", + "forward_router_address": "{{ forward_router_address }}", + "admin_distance": "{{ admin_distance }}", + "dest_vrf": "{{ dest_vrf }}", + "tag": "{{ tag }}", + "route_name": "{{ route_name }}", + "track": "{{ track }}", + }, + ], + }, + }, + ] + # fmt: on diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_acls.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_acls.py index 51a665047..133bd3a44 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_acls.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_acls.py @@ -507,46 +507,89 @@ EXAMPLES = """ # Before state: # ------------- -# +# nxos-9k# show running-config | section '^ip(v6)* access-list' -- name: Merge new ACLs configuration +- name: Merge provided ACLs configuration with device configuration cisco.nxos.nxos_acls: + state: merged config: - - afi: ipv4 - acls: - - name: ACL1v4 - aces: - - grant: deny - destination: - address: 192.0.2.64 - wildcard_bits: 0.0.0.255 - source: - any: true - port_protocol: - lt: 55 - protocol: tcp - protocol_options: - tcp: - ack: true - fin: true - sequence: 50 + - afi: ipv4 + acls: + - name: ACL1v4 + aces: + - grant: deny + destination: + address: 192.0.2.64 + wildcard_bits: 0.0.0.255 + source: + any: true + port_protocol: + lt: 55 + protocol: tcp + protocol_options: + tcp: + ack: true + fin: true + sequence: 50 + + - afi: ipv6 + acls: + - name: ACL1v6 + aces: + - grant: permit + sequence: 10 + source: + any: true + destination: + prefix: 2001:db8:12::/32 + protocol: sctp + +# Task Output +# ----------- +# before: [] +# +# commands: +# - ip access-list ACL1v4 +# - 50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin +# - ipv6 access-list ACL1v6 +# - 10 permit sctp any 2001:db8:12::/32 +# +# after: +# - acls: +# - aces: +# - destination: +# prefix: 2001:db8:12::/32 +# grant: permit +# protocol: sctp +# sequence: 10 +# source: +# any: true +# name: ACL1v6 +# afi: ipv6 +# - acls: +# - aces: +# - destination: +# address: 192.0.2.64 +# wildcard_bits: 0.0.0.255 +# grant: deny +# protocol: tcp +# protocol_options: +# tcp: +# ack: true +# fin: true +# sequence: 50 +# source: +# any: true +# port_protocol: +# lt: '55' +# name: ACL1v4 +# afi: ipv4 - - afi: ipv6 - acls: - - name: ACL1v6 - aces: - - grant: permit - sequence: 10 - source: - any: true - destination: - prefix: 2001:db8:12::/32 - protocol: sctp - state: merged # After state: # ------------ # +# nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin # ipv6 access-list ACL1v6 @@ -556,94 +599,269 @@ EXAMPLES = """ # Before state: # ---------------- -# +# nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 10 permit ip any any # 20 deny udp any any # ip access-list ACL2v4 # 10 permit ahp 192.0.2.0 0.0.0.255 any -# ip access-list ACL1v6 +# ipv6 access-list ACL1v6 # 10 permit sctp any any # 20 remark IPv6 ACL -# ip access-list ACL2v6 +# ipv6 access-list ACL2v6 # 10 deny ipv6 any 2001:db8:3000::/36 # 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128 - name: Replace existing ACL configuration with provided configuration cisco.nxos.nxos_acls: config: - - afi: ipv4 - - afi: ipv6 - acls: - - name: ACL1v6 - aces: - - sequence: 20 - grant: permit - source: - any: true - destination: - any: true - protocol: pip - - - remark: Replaced ACE + - afi: ipv4 + - afi: ipv6 + acls: + - name: ACL1v6 + aces: + - sequence: 20 + grant: permit + source: + any: true + destination: + any: true + protocol: pim - - name: ACL2v6 + - remark: Replaced ACE + - name: ACL2v6 state: replaced +# Task Output +# ----------- +# before: +# - acls: +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: sctp +# sequence: 10 +# source: +# any: true +# - remark: IPv6 ACL +# sequence: 20 +# name: ACL1v6 +# - aces: +# - destination: +# prefix: 2001:db8:3000::/36 +# grant: deny +# protocol: ipv6 +# sequence: 10 +# source: +# any: true +# - destination: +# host: 2001:db8:2000:ab::2 +# grant: permit +# protocol: tcp +# sequence: 20 +# source: +# host: 2001:db8:2000:2::2 +# name: ACL2v6 +# afi: ipv6 +# - acls: +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: ip +# sequence: 10 +# source: +# any: true +# - destination: +# any: true +# grant: deny +# protocol: udp +# sequence: 20 +# source: +# any: true +# name: ACL1v4 +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: ahp +# sequence: 10 +# source: +# address: 192.0.2.0 +# wildcard_bits: 0.0.0.255 +# name: ACL2v4 +# afi: ipv4 +# +# commands: +# - no ip access-list ACL1v4 +# - no ip access-list ACL2v4 +# - ipv6 access-list ACL1v6 +# - no 10 permit sctp any any +# - no 20 remark IPv6 ACL +# - remark Replaced ACE +# - 20 permit pim any any +# - ipv6 access-list ACL2v6 +# - no 10 deny ipv6 any 2001:db8:3000::/36 +# - no 20 permit tcp host 2001:db8:2000:2::2 host 2001:db8:2000:ab::2 +# +# after: +# - acls: +# - aces: +# - remark: Replaced ACE +# sequence: 10 +# - destination: +# any: true +# grant: permit +# protocol: pim +# sequence: 20 +# source: +# any: true +# name: ACL1v6 +# - name: ACL2v6 +# afi: ipv6 + # After state: # --------------- -# +# nxos-9k# show running-config | section '^ip(v6)* access-list' # ipv6 access-list ACL1v6 -# 20 permit pip any any -# 30 remark Replaced ACE +# 10 remark Replaced ACE +# 20 permit pim any any # ipv6 access-list ACL2v6 # Using overridden # Before state: # ---------------- -# +# nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 10 permit ip any any # 20 deny udp any any # ip access-list ACL2v4 # 10 permit ahp 192.0.2.0 0.0.0.255 any -# ip access-list ACL1v6 +# ipv6 access-list ACL1v6 # 10 permit sctp any any # 20 remark IPv6 ACL -# ip access-list ACL2v6 +# ipv6 access-list ACL2v6 # 10 deny ipv6 any 2001:db8:3000::/36 # 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128 - name: Override existing configuration with provided configuration cisco.nxos.nxos_acls: config: - - afi: ipv4 - acls: - - name: NewACL - aces: - - grant: deny - source: - address: 192.0.2.0 - wildcard_bits: 0.0.255.255 - destination: - any: true - protocol: eigrp - - remark: Example for overridden state + - afi: ipv4 + acls: + - name: NewACL + aces: + - grant: deny + source: + address: 192.0.2.0 + wildcard_bits: 0.0.255.255 + destination: + any: true + protocol: eigrp + - remark: Example for overridden state state: overridden +# Task Output +# ----------- +# +# before: +# - acls: +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: sctp +# sequence: 10 +# source: +# any: true +# - remark: IPv6 ACL +# sequence: 20 +# name: ACL1v6 +# - aces: +# - destination: +# prefix: 2001:db8:3000::/36 +# grant: deny +# protocol: ipv6 +# sequence: 10 +# source: +# any: true +# - destination: +# host: 2001:db8:2000:ab::2 +# grant: permit +# protocol: tcp +# sequence: 20 +# source: +# host: 2001:db8:2000:2::2 +# name: ACL2v6 +# afi: ipv6 +# - acls: +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: ip +# sequence: 10 +# source: +# any: true +# - destination: +# any: true +# grant: deny +# protocol: udp +# sequence: 20 +# source: +# any: true +# name: ACL1v4 +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: ahp +# sequence: 10 +# source: +# address: 192.0.2.0 +# wildcard_bits: 0.0.0.255 +# name: ACL2v4 +# afi: ipv4 +# +# commands: +# - no ipv6 access-list ACL1v6 +# - no ipv6 access-list ACL2v6 +# - no ip access-list ACL1v4 +# - no ip access-list ACL2v4 +# - ip access-list NewACL +# - deny eigrp 192.0.2.0 0.0.255.255 any +# - remark Example for overridden state +# +# after: +# - acls: +# - aces: +# - destination: +# any: true +# grant: deny +# protocol: eigrp +# sequence: 10 +# source: +# address: 192.0.2.0 +# wildcard_bits: 0.0.255.255 +# - remark: Example for overridden state +# sequence: 20 +# name: NewACL +# afi: ipv4 + # After state: # ------------ -# +# nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list NewACL # 10 deny eigrp 192.0.2.0 0.0.255.255 any # 20 remark Example for overridden state -# Using deleted: +# Using deleted - delete all # # Before state: # ------------- -# +# nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 10 permit ip any any # 20 deny udp any any @@ -658,17 +876,89 @@ EXAMPLES = """ - name: Delete all ACLs cisco.nxos.nxos_acls: - config: state: deleted +# Task Output +# ----------- +# +# before: +# - acls: +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: sctp +# sequence: 10 +# source: +# any: true +# - remark: IPv6 ACL +# sequence: 20 +# name: ACL1v6 +# - aces: +# - destination: +# prefix: 2001:db8:3000::/36 +# grant: deny +# protocol: ipv6 +# sequence: 10 +# source: +# any: true +# - destination: +# host: 2001:db8:2000:ab::2 +# grant: permit +# protocol: tcp +# sequence: 20 +# source: +# host: 2001:db8:2000:2::2 +# name: ACL2v6 +# afi: ipv6 +# - acls: +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: ip +# sequence: 10 +# source: +# any: true +# - destination: +# any: true +# grant: deny +# protocol: udp +# sequence: 20 +# source: +# any: true +# name: ACL1v4 +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: ahp +# sequence: 10 +# source: +# address: 192.0.2.0 +# wildcard_bits: 0.0.0.255 +# name: ACL2v4 +# afi: ipv4 +# +# commands: +# - no ip access-list ACL1v4 +# - no ip access-list ACL2v4 +# - no ipv6 access-list ACL1v6 +# - no ipv6 access-list ACL2v6 +# +# after: [] + + # After state: # ----------- +# nxos-9k# show running-config | section '^ip(v6)* access-list' # +# Using deleted - delete AFI # Before state: # ------------- -# +# nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 10 permit ip any any # 20 deny udp any any @@ -687,9 +977,106 @@ EXAMPLES = """ - afi: ipv4 state: deleted +# Task Output +# ----------- +# +# before: +# - acls: +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: sctp +# sequence: 10 +# source: +# any: true +# - remark: IPv6 ACL +# sequence: 20 +# name: ACL1v6 +# - aces: +# - destination: +# prefix: 2001:db8:3000::/36 +# grant: deny +# protocol: ipv6 +# sequence: 10 +# source: +# any: true +# - destination: +# host: 2001:db8:2000:ab::2 +# grant: permit +# protocol: tcp +# sequence: 20 +# source: +# host: 2001:db8:2000:2::2 +# name: ACL2v6 +# afi: ipv6 +# - acls: +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: ip +# sequence: 10 +# source: +# any: true +# - destination: +# any: true +# grant: deny +# protocol: udp +# sequence: 20 +# source: +# any: true +# name: ACL1v4 +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: ahp +# sequence: 10 +# source: +# address: 192.0.2.0 +# wildcard_bits: 0.0.0.255 +# name: ACL2v4 +# afi: ipv4 +# +# commands: +# - no ip access-list ACL1v4 +# - no ip access-list ACL2v4 +# +# after: +# - acls: +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: sctp +# sequence: 10 +# source: +# any: true +# - remark: IPv6 ACL +# sequence: 20 +# name: ACL1v6 +# - aces: +# - destination: +# prefix: 2001:db8:3000::/36 +# grant: deny +# protocol: ipv6 +# sequence: 10 +# source: +# any: true +# - destination: +# host: 2001:db8:2000:ab::2 +# grant: permit +# protocol: tcp +# sequence: 20 +# source: +# host: 2001:db8:2000:2::2 +# name: ACL2v6 +# afi: ipv6 + # After state: # ------------ -# +# nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v6 # 10 permit sctp any any # 20 remark IPv6 ACL @@ -697,11 +1084,11 @@ EXAMPLES = """ # 10 deny ipv6 any 2001:db8:3000::/36 # 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128 - +# Using deleted - delete ACLs # Before state: # ------------- -# +# nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 10 permit ip any any # 20 deny udp any any @@ -716,18 +1103,106 @@ EXAMPLES = """ - name: Delete specific ACLs cisco.nxos.nxos_acls: - config: - - afi: ipv4 - acls: - - name: ACL1v4 - - name: ACL2v4 - - afi: ipv6 - acls: - - name: ACL1v6 state: deleted + config: + - afi: ipv4 + acls: + - name: ACL1v4 + - name: ACL2v4 + - afi: ipv6 + acls: + - name: ACL1v6 + +# Task Output +# ----------- +# +# before: +# - acls: +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: sctp +# sequence: 10 +# source: +# any: true +# - remark: IPv6 ACL +# sequence: 20 +# name: ACL1v6 +# - aces: +# - destination: +# prefix: 2001:db8:3000::/36 +# grant: deny +# protocol: ipv6 +# sequence: 10 +# source: +# any: true +# - destination: +# host: 2001:db8:2000:ab::2 +# grant: permit +# protocol: tcp +# sequence: 20 +# source: +# host: 2001:db8:2000:2::2 +# name: ACL2v6 +# afi: ipv6 +# - acls: +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: ip +# sequence: 10 +# source: +# any: true +# - destination: +# any: true +# grant: deny +# protocol: udp +# sequence: 20 +# source: +# any: true +# name: ACL1v4 +# - aces: +# - destination: +# any: true +# grant: permit +# protocol: ahp +# sequence: 10 +# source: +# address: 192.0.2.0 +# wildcard_bits: 0.0.0.255 +# name: ACL2v4 +# afi: ipv4 +# +# commands: +# - no ip access-list ACL1v4 +# - no ip access-list ACL2v4 +# - no ipv6 access-list ACL1v6 +# +# after: +# - acls: +# - aces: +# - destination: +# prefix: 2001:db8:3000::/36 +# grant: deny +# protocol: ipv6 +# sequence: 10 +# source: +# any: true +# - destination: +# host: 2001:db8:2000:ab::2 +# grant: permit +# protocol: tcp +# sequence: 20 +# source: +# host: 2001:db8:2000:2::2 +# name: ACL2v6 +# afi: ipv6 # After state: # ------------ +# nxos-9k# show running-config | section '^ip(v6)* access-list' # ipv6 access-list ACL2v6 # 10 deny ipv6 any 2001:db8:3000::/36 # 20 permit tcp 2001:db8:2000:2::2/128 2001:db8:2000:ab::2/128 @@ -743,7 +1218,9 @@ EXAMPLES = """ 10 permit sctp any any state: parsed -# returns: +# Task Output +# ------------ +# # parsed: # - afi: ipv4 # acls: @@ -781,7 +1258,7 @@ EXAMPLES = """ # Before state: # ------------ -# +# nxos-9k# show running-config | section '^ip(v6)* access-list' # ip access-list ACL1v4 # 50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin # ipv6 access-list ACL1v6 @@ -791,7 +1268,9 @@ EXAMPLES = """ cisco.nxos.nxos_acls: state: gathered -# returns: +# Task Output +# ----------- +# # gathered: # - afi: ipv4 # acls: @@ -862,7 +1341,9 @@ EXAMPLES = """ protocol: sctp state: rendered -# returns: +# Task Output +# ----------- +# # rendered: # ip access-list ACL1v4 # 50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin @@ -888,7 +1369,32 @@ commands: description: The set of commands pushed to the remote device. returned: always type: list - sample: ['ip access-list ACL1v4', '10 permit ip any any precedence critical log', '20 deny tcp any lt smtp host 192.0.2.64 ack fin'] + sample: + - ip access-list ACL1v4 + - 10 permit ip any any precedence critical log + - 20 deny tcp any lt smtp host 192.0.2.64 ack fin +rendered: + description: The provided configuration in the task rendered in device-native format (offline). + returned: when I(state) is C(rendered) + type: list + sample: + - ip access-list ACL1v4 + - 10 permit ip any any precedence critical log + - 20 deny tcp any lt smtp host 192.0.2.64 ack fin +gathered: + description: Facts about the network resource gathered from the remote device as structured data. + returned: when I(state) is C(gathered) + type: list + sample: > + This output will always be in the same format as the + module argspec. +parsed: + description: The device native config provided in I(running_config) option parsed into structured data as per module argspec. + returned: when I(state) is C(parsed) + type: list + sample: > + This output will always be in the same format as the + module argspec. """ from ansible.module_utils.basic import AnsibleModule diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp.py deleted file mode 100644 index 2c56f412e..000000000 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp.py +++ /dev/null @@ -1,761 +0,0 @@ -#!/usr/bin/python -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see <http://www.gnu.org/licenses/>. -# -from __future__ import absolute_import, division, print_function - - -__metaclass__ = type - - -DOCUMENTATION = """ -module: nxos_bgp -extends_documentation_fragment: -- cisco.nxos.nxos -short_description: (deprecated, removed after 2023-01-27) Manages BGP configuration. -description: -- Manages BGP configurations on NX-OS switches. -version_added: 1.0.0 -author: -- Jason Edelman (@jedelman8) -- Gabriele Gerbino (@GGabriele) -deprecated: - alternative: nxos_bgp_global - why: Updated module released with more functionality. - removed_at_date: '2023-01-27' -notes: -- Tested against NXOSv 7.3.(0)D1(1) on VIRL -- Unsupported for Cisco MDS -- C(state=absent) removes the whole BGP ASN configuration when C(vrf=default) or the - whole VRF instance within the BGP process when using a different VRF. -- Default when supported restores params default value. -- Configuring global params is only permitted if C(vrf=default). -options: - asn: - description: - - BGP autonomous system number. Valid values are String, Integer in ASPLAIN or - ASDOT notation. - required: true - type: str - vrf: - description: - - Name of the VRF. The name 'default' is a valid VRF representing the global BGP. - default: 'default' - type: str - bestpath_always_compare_med: - description: - - Enable/Disable MED comparison on paths from different autonomous systems. - type: bool - bestpath_aspath_multipath_relax: - description: - - Enable/Disable load sharing across the providers with different (but equal-length) - AS paths. - type: bool - bestpath_compare_routerid: - description: - - Enable/Disable comparison of router IDs for identical eBGP paths. - type: bool - bestpath_compare_neighborid: - description: - - Enable/Disable neighborid. Use this when more paths available than max path - config. - type: bool - bestpath_cost_community_ignore: - description: - - Enable/Disable Ignores the cost community for BGP best-path calculations. - type: bool - bestpath_med_confed: - description: - - Enable/Disable enforcement of bestpath to do a MED comparison only between paths - originated within a confederation. - type: bool - bestpath_med_missing_as_worst: - description: - - Enable/Disable assigns the value of infinity to received routes that do not - carry the MED attribute, making these routes the least desirable. - type: bool - bestpath_med_non_deterministic: - description: - - Enable/Disable deterministic selection of the best MED pat from among the paths - from the same autonomous system. - type: bool - cluster_id: - description: - - Route Reflector Cluster-ID. - type: str - confederation_id: - description: - - Routing domain confederation AS. - type: str - confederation_peers: - description: - - AS confederation parameters. - type: list - elements: str - disable_policy_batching: - description: - - Enable/Disable the batching evaluation of prefix advertisement to all peers. - type: bool - disable_policy_batching_ipv4_prefix_list: - description: - - Enable/Disable the batching evaluation of prefix advertisements to all peers - with prefix list. - type: str - disable_policy_batching_ipv6_prefix_list: - description: - - Enable/Disable the batching evaluation of prefix advertisements to all peers - with prefix list. - type: str - enforce_first_as: - description: - - Enable/Disable enforces the neighbor autonomous system to be the first AS number - listed in the AS path attribute for eBGP. On NX-OS, this property is only supported - in the global BGP context. - type: bool - event_history_cli: - description: - - Enable/Disable cli event history buffer. - choices: - - size_small - - size_medium - - size_large - - size_disable - - default - - 'true' - - 'false' - type: str - event_history_detail: - description: - - Enable/Disable detail event history buffer. - choices: - - size_small - - size_medium - - size_large - - size_disable - - default - - 'true' - - 'false' - type: str - event_history_events: - description: - - Enable/Disable event history buffer. - choices: - - size_small - - size_medium - - size_large - - size_disable - - default - - 'true' - - 'false' - type: str - event_history_periodic: - description: - - Enable/Disable periodic event history buffer. - choices: - - size_small - - size_medium - - size_large - - size_disable - - default - - 'true' - - 'false' - type: str - fast_external_fallover: - description: - - Enable/Disable immediately reset the session if the link to a directly connected - BGP peer goes down. Only supported in the global BGP context. - type: bool - flush_routes: - description: - - Enable/Disable flush routes in RIB upon controlled restart. On NX-OS, this property - is only supported in the global BGP context. - type: bool - graceful_restart: - description: - - Enable/Disable graceful restart. - type: bool - graceful_restart_helper: - description: - - Enable/Disable graceful restart helper mode. - type: bool - graceful_restart_timers_restart: - description: - - Set maximum time for a restart sent to the BGP peer. - type: str - graceful_restart_timers_stalepath_time: - description: - - Set maximum time that BGP keeps the stale routes from the restarting BGP peer. - type: str - isolate: - description: - - Enable/Disable isolate this router from BGP perspective. - type: bool - local_as: - description: - - Local AS number to be used within a VRF instance. - type: str - log_neighbor_changes: - description: - - Enable/Disable message logging for neighbor up/down event. - type: bool - maxas_limit: - description: - - Specify Maximum number of AS numbers allowed in the AS-path attribute. Valid - values are between 1 and 512. - type: str - neighbor_down_fib_accelerate: - description: - - Enable/Disable handle BGP neighbor down event, due to various reasons. - type: bool - reconnect_interval: - description: - - The BGP reconnection interval for dropped sessions. Valid values are between - 1 and 60. - type: str - router_id: - description: - - Router Identifier (ID) of the BGP router VRF instance. - type: str - shutdown: - description: - - Administratively shutdown the BGP protocol. - type: bool - suppress_fib_pending: - description: - - Enable/Disable advertise only routes programmed in hardware to peers. - type: bool - timer_bestpath_limit: - description: - - Specify timeout for the first best path after a restart, in seconds. - type: str - timer_bgp_hold: - description: - - Set BGP hold timer. - type: str - timer_bgp_keepalive: - description: - - Set BGP keepalive timer. - type: str - state: - description: - - Determines whether the config should be present or not on the device. - default: present - choices: - - present - - absent - type: str -""" - - -EXAMPLES = """ -- name: Configure a simple ASN - cisco.nxos.nxos_bgp: - asn: 65535 - vrf: test - router_id: 192.0.2.1 - state: present -""" - -RETURN = """ -commands: - description: commands sent to the device - returned: always - type: list - sample: ["router bgp 65535", "vrf test", "router-id 192.0.2.1"] -""" - -import re - -from ansible.module_utils.basic import AnsibleModule -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.config import ( - CustomNetworkConfig, -) - -from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.nxos import ( - get_config, - load_config, -) - - -BOOL_PARAMS = [ - "bestpath_always_compare_med", - "bestpath_aspath_multipath_relax", - "bestpath_compare_neighborid", - "bestpath_compare_routerid", - "bestpath_cost_community_ignore", - "bestpath_med_confed", - "bestpath_med_missing_as_worst", - "bestpath_med_non_deterministic", - "disable_policy_batching", - "enforce_first_as", - "fast_external_fallover", - "flush_routes", - "graceful_restart", - "graceful_restart_helper", - "isolate", - "log_neighbor_changes", - "neighbor_down_fib_accelerate", - "shutdown", - "suppress_fib_pending", -] -GLOBAL_PARAMS = [ - "disable_policy_batching", - "disable_policy_batching_ipv4_prefix_list", - "disable_policy_batching_ipv6_prefix_list", - "enforce_first_as", - "event_history_cli", - "event_history_detail", - "event_history_events", - "event_history_periodic", - "fast_external_fallover", - "flush_routes", - "isolate", - "suppress_fib_pending", - "shutdown", -] -PARAM_TO_DEFAULT_KEYMAP = { - "timer_bgp_keepalive": "60", - "timer_bgp_hold": "180", - "timer_bestpath_limit": "300", - "graceful_restart": True, - "graceful_restart_timers_restart": "120", - "graceful_restart_timers_stalepath_time": "300", - "reconnect_interval": "60", - "suppress_fib_pending": True, - "fast_external_fallover": True, - "enforce_first_as": True, - "event_history_cli": True, - "event_history_detail": False, - "event_history_events": True, - "event_history_periodic": True, - "maxas_limit": "", - "router_id": "", - "cluster_id": "", - "disable_policy_batching_ipv4_prefix_list": "", - "disable_policy_batching_ipv6_prefix_list": "", - "local_as": "", - "confederation_id": "", -} -PARAM_TO_COMMAND_KEYMAP = { - "asn": "router bgp", - "bestpath_always_compare_med": "bestpath always-compare-med", - "bestpath_aspath_multipath_relax": "bestpath as-path multipath-relax", - "bestpath_compare_neighborid": "bestpath compare-neighborid", - "bestpath_compare_routerid": "bestpath compare-routerid", - "bestpath_cost_community_ignore": "bestpath cost-community ignore", - "bestpath_med_confed": "bestpath med confed", - "bestpath_med_missing_as_worst": "bestpath med missing-as-worst", - "bestpath_med_non_deterministic": "bestpath med non-deterministic", - "cluster_id": "cluster-id", - "confederation_id": "confederation identifier", - "confederation_peers": "confederation peers", - "disable_policy_batching": "disable-policy-batching", - "disable_policy_batching_ipv4_prefix_list": "disable-policy-batching ipv4 prefix-list", - "disable_policy_batching_ipv6_prefix_list": "disable-policy-batching ipv6 prefix-list", - "enforce_first_as": "enforce-first-as", - "event_history_cli": "event-history cli", - "event_history_detail": "event-history detail", - "event_history_events": "event-history events", - "event_history_periodic": "event-history periodic", - "fast_external_fallover": "fast-external-fallover", - "flush_routes": "flush-routes", - "graceful_restart": "graceful-restart", - "graceful_restart_helper": "graceful-restart-helper", - "graceful_restart_timers_restart": "graceful-restart restart-time", - "graceful_restart_timers_stalepath_time": "graceful-restart stalepath-time", - "isolate": "isolate", - "local_as": "local-as", - "log_neighbor_changes": "log-neighbor-changes", - "maxas_limit": "maxas-limit", - "neighbor_down_fib_accelerate": "neighbor-down fib-accelerate", - "reconnect_interval": "reconnect-interval", - "router_id": "router-id", - "shutdown": "shutdown", - "suppress_fib_pending": "suppress-fib-pending", - "timer_bestpath_limit": "timers bestpath-limit", - "timer_bgp_hold": "timers bgp", - "timer_bgp_keepalive": "timers bgp", - "vrf": "vrf", -} - - -def get_value(arg, config): - command = PARAM_TO_COMMAND_KEYMAP.get(arg) - - if command.split()[0] == "event-history": - has_size = re.search(r"^\s+{0} size\s(?P<value>.*)$".format(command), config, re.M) - - if command == "event-history detail": - value = False - else: - value = "size_small" - - if has_size: - value = "size_%s" % has_size.group("value") - - elif arg in ["enforce_first_as", "fast_external_fallover"]: - no_command_re = re.compile(r"no\s+{0}\s*".format(command), re.M) - value = True - - if no_command_re.search(config): - value = False - - elif arg in BOOL_PARAMS: - has_command = re.search(r"^\s+{0}\s*$".format(command), config, re.M) - value = False - - if has_command: - value = True - else: - command_val_re = re.compile(r"(?:{0}\s)(?P<value>.*)".format(command), re.M) - value = "" - - has_command = command_val_re.search(config) - if has_command: - found_value = has_command.group("value") - - if arg == "confederation_peers": - value = found_value.split() - elif arg == "timer_bgp_keepalive": - value = found_value.split()[0] - elif arg == "timer_bgp_hold": - split_values = found_value.split() - if len(split_values) == 2: - value = split_values[1] - elif found_value: - value = found_value - - return value - - -def get_existing(module, args, warnings): - existing = {} - netcfg = CustomNetworkConfig(indent=2, contents=get_config(module, flags=["bgp all"])) - - asn_re = re.compile(r".*router\sbgp\s(?P<existing_asn>\d+(\.\d+)?).*", re.S) - asn_match = asn_re.match(str(netcfg)) - - if asn_match: - existing_asn = asn_match.group("existing_asn") - bgp_parent = "router bgp {0}".format(existing_asn) - - if module.params["vrf"] != "default": - parents = [bgp_parent, "vrf {0}".format(module.params["vrf"])] - else: - parents = [bgp_parent] - - config = netcfg.get_section(parents) - if config: - for arg in args: - if arg != "asn" and (module.params["vrf"] == "default" or arg not in GLOBAL_PARAMS): - existing[arg] = get_value(arg, config) - - existing["asn"] = existing_asn - if module.params["vrf"] == "default": - existing["vrf"] = "default" - - if not existing and module.params["vrf"] != "default" and module.params["state"] == "present": - msg = "VRF {0} doesn't exist.".format(module.params["vrf"]) - warnings.append(msg) - - return existing - - -def apply_key_map(key_map, table): - new_dict = {} - for key in table: - new_key = key_map.get(key) - if new_key: - new_dict[new_key] = table.get(key) - - return new_dict - - -def state_present(module, existing, proposed, candidate): - commands = list() - proposed_commands = apply_key_map(PARAM_TO_COMMAND_KEYMAP, proposed) - existing_commands = apply_key_map(PARAM_TO_COMMAND_KEYMAP, existing) - - for key, value in proposed_commands.items(): - if value is True: - commands.append(key) - elif value is False: - commands.append("no {0}".format(key)) - elif value == "default": - default_value = PARAM_TO_DEFAULT_KEYMAP.get(key) - existing_value = existing_commands.get(key) - - if default_value: - commands.append("{0} {1}".format(key, default_value)) - elif existing_value: - if key == "confederation peers": - existing_value = " ".join(existing_value) - commands.append("no {0} {1}".format(key, existing_value)) - elif not value: - existing_value = existing_commands.get(key) - if existing_value: - commands.append("no {0} {1}".format(key, existing_value)) - elif key == "confederation peers": - commands.append("{0} {1}".format(key, value)) - elif key.startswith("timers bgp"): - command = "timers bgp {0} {1}".format( - proposed["timer_bgp_keepalive"], - proposed["timer_bgp_hold"], - ) - if command not in commands: - commands.append(command) - else: - if value.startswith("size"): - value = value.replace("_", " ") - command = "{0} {1}".format(key, value) - commands.append(command) - - parents = [] - if commands: - commands = fix_commands(commands) - parents = ["router bgp {0}".format(module.params["asn"])] - if module.params["vrf"] != "default": - parents.append("vrf {0}".format(module.params["vrf"])) - elif proposed: - if module.params["vrf"] != "default": - commands.append("vrf {0}".format(module.params["vrf"])) - parents = ["router bgp {0}".format(module.params["asn"])] - else: - commands.append("router bgp {0}".format(module.params["asn"])) - - candidate.add(commands, parents=parents) - - -def state_absent(module, existing, candidate): - commands = [] - parents = [] - if module.params["vrf"] == "default": - commands.append("no router bgp {0}".format(module.params["asn"])) - elif existing.get("vrf") == module.params["vrf"]: - commands.append("no vrf {0}".format(module.params["vrf"])) - parents = ["router bgp {0}".format(module.params["asn"])] - - candidate.add(commands, parents=parents) - - -def fix_commands(commands): - local_as_command = "" - confederation_id_command = "" - confederation_peers_command = "" - - for command in commands: - if "local-as" in command: - local_as_command = command - elif "confederation identifier" in command: - confederation_id_command = command - elif "confederation peers" in command: - confederation_peers_command = command - - if local_as_command and confederation_id_command: - if "no" in confederation_id_command: - commands.pop(commands.index(local_as_command)) - commands.pop(commands.index(confederation_id_command)) - commands.append(confederation_id_command) - commands.append(local_as_command) - else: - commands.pop(commands.index(local_as_command)) - commands.pop(commands.index(confederation_id_command)) - commands.append(local_as_command) - commands.append(confederation_id_command) - - if confederation_peers_command and confederation_id_command: - if local_as_command: - if "no" in local_as_command: - commands.pop(commands.index(local_as_command)) - commands.pop(commands.index(confederation_id_command)) - commands.pop(commands.index(confederation_peers_command)) - commands.append(confederation_id_command) - commands.append(confederation_peers_command) - commands.append(local_as_command) - else: - commands.pop(commands.index(local_as_command)) - commands.pop(commands.index(confederation_id_command)) - commands.pop(commands.index(confederation_peers_command)) - commands.append(local_as_command) - commands.append(confederation_id_command) - commands.append(confederation_peers_command) - else: - commands.pop(commands.index(confederation_peers_command)) - commands.pop(commands.index(confederation_id_command)) - commands.append(confederation_id_command) - commands.append(confederation_peers_command) - - return commands - - -def main(): - argument_spec = dict( - asn=dict(required=True, type="str"), - vrf=dict(required=False, type="str", default="default"), - bestpath_always_compare_med=dict(required=False, type="bool"), - bestpath_aspath_multipath_relax=dict(required=False, type="bool"), - bestpath_compare_neighborid=dict(required=False, type="bool"), - bestpath_compare_routerid=dict(required=False, type="bool"), - bestpath_cost_community_ignore=dict(required=False, type="bool"), - bestpath_med_confed=dict(required=False, type="bool"), - bestpath_med_missing_as_worst=dict(required=False, type="bool"), - bestpath_med_non_deterministic=dict(required=False, type="bool"), - cluster_id=dict(required=False, type="str"), - confederation_id=dict(required=False, type="str"), - confederation_peers=dict(required=False, type="list", elements="str"), - disable_policy_batching=dict(required=False, type="bool"), - disable_policy_batching_ipv4_prefix_list=dict(required=False, type="str"), - disable_policy_batching_ipv6_prefix_list=dict(required=False, type="str"), - enforce_first_as=dict(required=False, type="bool"), - event_history_cli=dict( - required=False, - choices=[ - "true", - "false", - "default", - "size_small", - "size_medium", - "size_large", - "size_disable", - ], - ), - event_history_detail=dict( - required=False, - choices=[ - "true", - "false", - "default", - "size_small", - "size_medium", - "size_large", - "size_disable", - ], - ), - event_history_events=dict( - required=False, - choices=[ - "true", - "false", - "default", - "size_small", - "size_medium", - "size_large", - "size_disable", - ], - ), - event_history_periodic=dict( - required=False, - choices=[ - "true", - "false", - "default", - "size_small", - "size_medium", - "size_large", - "size_disable", - ], - ), - fast_external_fallover=dict(required=False, type="bool"), - flush_routes=dict(required=False, type="bool"), - graceful_restart=dict(required=False, type="bool"), - graceful_restart_helper=dict(required=False, type="bool"), - graceful_restart_timers_restart=dict(required=False, type="str"), - graceful_restart_timers_stalepath_time=dict(required=False, type="str"), - isolate=dict(required=False, type="bool"), - local_as=dict(required=False, type="str"), - log_neighbor_changes=dict(required=False, type="bool"), - maxas_limit=dict(required=False, type="str"), - neighbor_down_fib_accelerate=dict(required=False, type="bool"), - reconnect_interval=dict(required=False, type="str"), - router_id=dict(required=False, type="str"), - shutdown=dict(required=False, type="bool"), - suppress_fib_pending=dict(required=False, type="bool"), - timer_bestpath_limit=dict(required=False, type="str"), - timer_bgp_hold=dict(required=False, type="str"), - timer_bgp_keepalive=dict(required=False, type="str"), - state=dict(choices=["present", "absent"], default="present", required=False), - ) - - module = AnsibleModule( - argument_spec=argument_spec, - required_together=[["timer_bgp_hold", "timer_bgp_keepalive"]], - supports_check_mode=True, - ) - - warnings = list() - result = dict(changed=False, warnings=warnings) - - state = module.params["state"] - - if module.params["vrf"] != "default": - for param in GLOBAL_PARAMS: - if module.params[param]: - module.fail_json( - msg='Global params can be modified only under "default" VRF.', - vrf=module.params["vrf"], - global_param=param, - ) - - args = PARAM_TO_COMMAND_KEYMAP.keys() - existing = get_existing(module, args, warnings) - - if existing.get("asn") and state == "present": - if existing.get("asn") != module.params["asn"]: - module.fail_json( - msg="Another BGP ASN already exists.", - proposed_asn=module.params["asn"], - existing_asn=existing.get("asn"), - ) - - proposed_args = dict((k, v) for k, v in module.params.items() if v is not None and k in args) - proposed = {} - for key, value in proposed_args.items(): - if key not in ["asn", "vrf"]: - if str(value).lower() == "default": - value = PARAM_TO_DEFAULT_KEYMAP.get(key, "default") - if key == "confederation_peers": - if value[0] == "default": - if existing.get(key): - proposed[key] = "default" - else: - v = set([int(i) for i in value]) - ex = set([int(i) for i in existing.get(key)]) - if v != ex: - proposed[key] = " ".join(str(s) for s in v) - else: - if existing.get(key) != value: - proposed[key] = value - - candidate = CustomNetworkConfig(indent=3) - if state == "present": - state_present(module, existing, proposed, candidate) - elif existing.get("asn") == module.params["asn"]: - state_absent(module, existing, candidate) - - if candidate: - candidate = candidate.items_text() - if not module.check_mode: - load_config(module, candidate) - result["changed"] = True - result["commands"] = candidate - else: - result["commands"] = [] - - module.exit_json(**result) - - -if __name__ == "__main__": - main() diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_address_family.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_address_family.py index c838d25fa..ef6e9012c 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_address_family.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_address_family.py @@ -383,8 +383,8 @@ EXAMPLES = """ id: 101 route_map: rmap-eigrp-1 -# Task output -# ------------- +# Task output: +# ------------ # before: {} # # commands: @@ -437,7 +437,7 @@ EXAMPLES = """ # route_map: rmap-eigrp-1 # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # address-family ipv4 multicast @@ -497,8 +497,8 @@ EXAMPLES = """ vrf: site-1 state: replaced -# Task output -# ------------- +# Task output: +# ------------ # before: # as_number: "65536" # address_family: @@ -577,7 +577,7 @@ EXAMPLES = """ # route_map: rmap-eigrp-1 # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # address-family ipv4 multicast @@ -629,8 +629,8 @@ EXAMPLES = """ vrf: site-1 state: overridden -# Task output -# ------------- +# Task output: +# ------------ # before: # as_number: "65536" # address_family: @@ -698,7 +698,7 @@ EXAMPLES = """ # # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # address-family ipv4 multicast @@ -739,8 +739,8 @@ EXAMPLES = """ safi: multicast state: deleted -# Task output -# ------------- +# Task output: +# ------------ # before: # as_number: "65536" # address_family: @@ -795,7 +795,7 @@ EXAMPLES = """ # summary_only: True # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # vrf site-1 @@ -826,8 +826,8 @@ EXAMPLES = """ cisco.nxos.nxos_bgp_address_family: state: deleted -# Task output -# ------------- +# Task output: +# ------------ # before: # as_number: "65536" # address_family: @@ -873,7 +873,7 @@ EXAMPLES = """ # as_number: "65536" # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # Nexus9000v# @@ -917,8 +917,8 @@ EXAMPLES = """ route_map: rmap-eigrp-1 state: rendered -# Task Output (redacted) -# ----------------------- +# Task Output: +# ------------ # rendered: # - router bgp 65536 # - address-family ipv4 multicast @@ -957,8 +957,8 @@ EXAMPLES = """ running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed -# Task output (redacted) -# ----------------------- +# Task output: +# ------------ # parsed: # as_number: "65536" # address_family: @@ -993,6 +993,52 @@ EXAMPLES = """ # protocol: eigrp # route_map: rmap-eigrp-1 """ +RETURN = """ +before: + description: The configuration prior to the module execution. + returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) + type: dict + sample: > + This output will always be in the same format as the + module argspec. +after: + description: The resulting configuration after module execution. + returned: when changed + type: dict + sample: > + This output will always be in the same format as the + module argspec. +commands: + description: The set of commands pushed to the remote device. + returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) + type: list + sample: + - router bgp 65536 + - address-family ipv4 multicast + - nexthop route-map rmap2 +rendered: + description: The provided configuration in the task rendered in device-native format (offline). + returned: when I(state) is C(rendered) + type: list + sample: + - router bgp 65536 + - address-family ipv4 multicast + - nexthop route-map rmap2 +gathered: + description: Facts about the network resource gathered from the remote device as structured data. + returned: when I(state) is C(gathered) + type: dict + sample: > + This output will always be in the same format as the + module argspec. +parsed: + description: The device native config provided in I(running_config) option parsed into structured data as per module argspec. + returned: when I(state) is C(parsed) + type: dict + sample: > + This output will always be in the same format as the + module argspec. +""" from ansible.module_utils.basic import AnsibleModule diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_af.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_af.py deleted file mode 100644 index 290f241dc..000000000 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_af.py +++ /dev/null @@ -1,877 +0,0 @@ -#!/usr/bin/python -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see <http://www.gnu.org/licenses/>. -# -from __future__ import absolute_import, division, print_function - - -__metaclass__ = type - - -DOCUMENTATION = """ -module: nxos_bgp_af -extends_documentation_fragment: -- cisco.nxos.nxos -short_description: (deprecated, removed after 2023-02-24) Manages BGP Address-family configuration. -description: -- Manages BGP Address-family configurations on NX-OS switches. -version_added: 1.0.0 -author: Gabriele Gerbino (@GGabriele) -deprecated: - alternative: nxos_bgp_address_family - why: Updated module released with more functionality. - removed_at_date: '2023-02-24' -notes: -- Tested against NXOSv 7.3.(0)D1(1) on VIRL -- Unsupported for Cisco MDS -- C(state=absent) removes the whole BGP ASN configuration -- Default, where supported, restores params default value. -options: - asn: - description: - - BGP autonomous system number. Valid values are String, Integer in ASPLAIN or - ASDOT notation. - required: true - type: str - vrf: - description: - - Name of the VRF. The name 'default' is a valid VRF representing the global bgp. - default: 'default' - type: str - afi: - description: - - Address Family Identifier. - required: true - choices: - - ipv4 - - ipv6 - - vpnv4 - - vpnv6 - - l2vpn - type: str - safi: - description: - - Sub Address Family Identifier. - required: true - choices: - - unicast - - multicast - - evpn - type: str - additional_paths_install: - description: - - Install a backup path into the forwarding table and provide prefix independent - convergence (PIC) in case of a PE-CE link failure. - type: bool - additional_paths_receive: - description: - - Enables the receive capability of additional paths for all of the neighbors - under this address family for which the capability has not been disabled. - type: bool - additional_paths_selection: - description: - - Configures the capability of selecting additional paths for a prefix. Valid - values are a string defining the name of the route-map. - type: str - additional_paths_send: - description: - - Enables the send capability of additional paths for all of the neighbors under - this address family for which the capability has not been disabled. - type: bool - advertise_l2vpn_evpn: - description: - - Advertise evpn routes. - type: bool - client_to_client: - description: - - Configure client-to-client route reflection. - type: bool - dampen_igp_metric: - description: - - Specify dampen value for IGP metric-related changes, in seconds. Valid values - are integer and keyword 'default'. - type: str - dampening_state: - description: - - Enable/disable route-flap dampening. - type: bool - dampening_half_time: - description: - - Specify decay half-life in minutes for route-flap dampening. Valid values are - integer and keyword 'default'. - type: str - dampening_max_suppress_time: - description: - - Specify max suppress time for route-flap dampening stable route. Valid values - are integer and keyword 'default'. - type: str - dampening_reuse_time: - description: - - Specify route reuse time for route-flap dampening. Valid values are integer - and keyword 'default'. - type: str - dampening_routemap: - description: - - Specify route-map for route-flap dampening. Valid values are a string defining - the name of the route-map. - type: str - dampening_suppress_time: - description: - - Specify route suppress time for route-flap dampening. Valid values are integer - and keyword 'default'. - type: str - default_information_originate: - description: - - Default information originate. - type: bool - default_metric: - description: - - Sets default metrics for routes redistributed into BGP. Valid values are Integer - or keyword 'default' - type: str - distance_ebgp: - description: - - Sets the administrative distance for eBGP routes. Valid values are Integer or - keyword 'default'. - type: str - distance_ibgp: - description: - - Sets the administrative distance for iBGP routes. Valid values are Integer or - keyword 'default'. - type: str - distance_local: - description: - - Sets the administrative distance for local BGP routes. Valid values are Integer - or keyword 'default'. - type: str - inject_map: - description: - - An array of route-map names which will specify prefixes to inject. Each array - entry must first specify the inject-map name, secondly an exist-map name, and - optionally the copy-attributes keyword which indicates that attributes should - be copied from the aggregate. For example [['lax_inject_map', 'lax_exist_map'], - ['nyc_inject_map', 'nyc_exist_map', 'copy-attributes'], ['fsd_inject_map', 'fsd_exist_map']]. - type: list - elements: list - maximum_paths: - description: - - Configures the maximum number of equal-cost paths for load sharing. Valid value - is an integer in the range 1-64. - type: str - maximum_paths_ibgp: - description: - - Configures the maximum number of ibgp equal-cost paths for load sharing. Valid - value is an integer in the range 1-64. - type: str - networks: - description: - - Networks to configure. Valid value is a list of network prefixes to advertise. - The list must be in the form of an array. Each entry in the array must include - a prefix address and an optional route-map. For example [['10.0.0.0/16', 'routemap_LA'], - ['192.168.1.1', 'Chicago'], ['192.168.2.0/24'], ['192.168.3.0/24', 'routemap_NYC']]. - type: list - elements: list - next_hop_route_map: - description: - - Configure a route-map for valid nexthops. Valid values are a string defining - the name of the route-map. - type: str - redistribute: - description: - - A list of redistribute directives. Multiple redistribute entries are allowed. - The list must be in the form of a nested array. the first entry of each array - defines the source-protocol to redistribute from; the second entry defines a - route-map name. A route-map is highly advised but may be optional on some platforms, - in which case it may be omitted from the array list. For example [['direct', - 'rm_direct'], ['lisp', 'rm_lisp']]. - type: list - elements: list - suppress_inactive: - description: - - Advertises only active routes to peers. - type: bool - table_map: - description: - - Apply table-map to filter routes downloaded into URIB. Valid values are a string. - type: str - table_map_filter: - description: - - Filters routes rejected by the route-map and does not download them to the RIB. - type: bool - state: - description: - - Determines whether the config should be present or not on the device. - default: present - choices: - - present - - absent - type: str - retain_route_target: - description: - - Retains all of the routes or the routes which are part of configured route-map. - Valid values are route-map names or keyword C(all) or keyword C(default). C(all) - retains all the routes regardless of Target-VPN community. C(default) will disable - the retain route target option. If you are using route-map name please ensure - that the name is not same as C(all) and C(default). - type: str - version_added: 1.1.0 -""" -EXAMPLES = """ -# configure a simple address-family -- cisco.nxos.nxos_bgp_af: - asn: 65535 - vrf: TESTING - afi: ipv4 - safi: unicast - advertise_l2vpn_evpn: true - state: present - retain_route_target: all -""" - -RETURN = """ -commands: - description: commands sent to the device - returned: always - type: list - sample: ["router bgp 65535", "vrf TESTING", - "address-family ipv4 unicast", "advertise l2vpn evpn", - "retain route-target all"] -""" - -import re - -from ansible.module_utils.basic import AnsibleModule -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.config import ( - CustomNetworkConfig, -) - -from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.nxos import ( - get_config, - load_config, -) - - -BOOL_PARAMS = [ - "additional_paths_install", - "additional_paths_receive", - "additional_paths_send", - "advertise_l2vpn_evpn", - "dampening_state", - "default_information_originate", - "suppress_inactive", -] -PARAM_TO_DEFAULT_KEYMAP = { - "maximum_paths": "1", - "maximum_paths_ibgp": "1", - "client_to_client": True, - "distance_ebgp": "20", - "distance_ibgp": "200", - "distance_local": "220", - "dampen_igp_metric": "600", -} -PARAM_TO_COMMAND_KEYMAP = { - "asn": "router bgp", - "afi": "address-family", - "safi": "address-family", - "additional_paths_install": "additional-paths install backup", - "additional_paths_receive": "additional-paths receive", - "additional_paths_selection": "additional-paths selection route-map", - "additional_paths_send": "additional-paths send", - "advertise_l2vpn_evpn": "advertise l2vpn evpn", - "client_to_client": "client-to-client reflection", - "dampen_igp_metric": "dampen-igp-metric", - "dampening_state": "dampening", - "dampening_half_time": "dampening", - "dampening_max_suppress_time": "dampening", - "dampening_reuse_time": "dampening", - "dampening_routemap": "dampening route-map", - "dampening_suppress_time": "dampening", - "default_information_originate": "default-information originate", - "default_metric": "default-metric", - "distance_ebgp": "distance", - "distance_ibgp": "distance", - "distance_local": "distance", - "inject_map": "inject-map", - "maximum_paths": "maximum-paths", - "maximum_paths_ibgp": "maximum-paths ibgp", - "networks": "network", - "redistribute": "redistribute", - "next_hop_route_map": "nexthop route-map", - "suppress_inactive": "suppress-inactive", - "table_map": "table-map", - "table_map_filter": "table-map-filter", - "vrf": "vrf", - "retain_route_target": "retain route-target", -} -DAMPENING_PARAMS = [ - "dampening_half_time", - "dampening_suppress_time", - "dampening_reuse_time", - "dampening_max_suppress_time", -] - - -def get_value(arg, config, module): - command = PARAM_TO_COMMAND_KEYMAP[arg] - command_val_re = re.compile(r"(?:{0}\s)(?P<value>.*)$".format(command), re.M) - has_command_val = command_val_re.search(config) - - if arg in ["networks", "redistribute", "inject_map"]: - value = [] - for ele in command_val_re.findall(config): - tl = ele.split() - if "exist-map" in tl: - tl.remove("exist-map") - elif "route-map" in tl: - tl.remove("route-map") - value.append(tl) - - elif command == "distance": - distance_re = r".*distance\s(?P<d_ebgp>\w+)\s(?P<d_ibgp>\w+)\s(?P<d_local>\w+)" - match_distance = re.match(distance_re, config, re.DOTALL) - - value = "" - if match_distance: - distance_group = match_distance.groupdict() - - if arg == "distance_ebgp": - value = distance_group["d_ebgp"] - elif arg == "distance_ibgp": - value = distance_group["d_ibgp"] - elif arg == "distance_local": - value = distance_group["d_local"] - - elif command.split()[0] == "dampening": - value = "" - if arg == "dampen_igp_metric" or arg == "dampening_routemap": - if command in config: - value = has_command_val.group("value") - else: - dampening_re = r".*dampening\s(?P<half>\w+)\s(?P<reuse>\w+)\s(?P<suppress>\w+)\s(?P<max_suppress>\w+)" - match_dampening = re.match(dampening_re, config, re.DOTALL) - if match_dampening: - dampening_group = match_dampening.groupdict() - - if arg == "dampening_half_time": - value = dampening_group["half"] - elif arg == "dampening_reuse_time": - value = dampening_group["reuse"] - elif arg == "dampening_suppress_time": - value = dampening_group["suppress"] - elif arg == "dampening_max_suppress_time": - value = dampening_group["max_suppress"] - else: - if arg == "dampening_state": - value = True if "dampening" in config else False - elif arg == "table_map_filter": - tmf_regex = re.compile(r"\s+table-map.*filter$", re.M) - value = False - if tmf_regex.search(config): - value = True - - elif arg == "table_map": - tm_regex = re.compile(r"(?:table-map\s)(?P<value>\S+)(\sfilter)?$", re.M) - has_tablemap = tm_regex.search(config) - value = "" - if has_tablemap: - value = has_tablemap.group("value") - - elif arg == "client_to_client": - no_command_re = re.compile(r"^\s+no\s{0}\s*$".format(command), re.M) - value = True - - if no_command_re.search(config): - value = False - - elif arg == "retain_route_target": - value = "" - if command in config: - route_target = has_command_val.group("value") - if route_target: - if route_target == "all": - value = "all" - elif "route-map" in route_target: - value = route_target.replace("route-map ", "") - - elif arg in BOOL_PARAMS: - command_re = re.compile(r"^\s+{0}\s*$".format(command), re.M) - value = False - - if command_re.search(config): - value = True - - else: - value = "" - - if has_command_val: - value = has_command_val.group("value") - - return value - - -def get_existing(module, args, warnings): - existing = {} - netcfg = CustomNetworkConfig(indent=2, contents=get_config(module)) - - asn_regex = re.compile(r".*router\sbgp\s(?P<existing_asn>\d+(\.\d+)?).*", re.DOTALL) - match_asn = asn_regex.match(str(netcfg)) - - if match_asn: - existing_asn = match_asn.group("existing_asn") - parents = ["router bgp {0}".format(existing_asn)] - if module.params["vrf"] != "default": - parents.append("vrf {0}".format(module.params["vrf"])) - - parents.append("address-family {0} {1}".format(module.params["afi"], module.params["safi"])) - config = netcfg.get_section(parents) - - if config: - for arg in args: - if arg not in ["asn", "afi", "safi", "vrf"]: - gv = get_value(arg, config, module) - if gv: - existing[arg] = gv - else: - if arg != "client_to_client" and arg in PARAM_TO_DEFAULT_KEYMAP.keys(): - existing[arg] = PARAM_TO_DEFAULT_KEYMAP.get(arg) - else: - existing[arg] = gv - - existing["asn"] = existing_asn - existing["afi"] = module.params["afi"] - existing["safi"] = module.params["safi"] - existing["vrf"] = module.params["vrf"] - else: - warnings.append( - "The BGP process {0} didn't exist but the task just created it.".format( - module.params["asn"], - ), - ) - - return existing - - -def apply_key_map(key_map, table): - new_dict = {} - for key, value in table.items(): - new_key = key_map.get(key) - if new_key: - new_dict[new_key] = value - - return new_dict - - -def fix_proposed(module, proposed, existing): - commands = list() - command = "" - fixed_proposed = {} - for key, value in proposed.items(): - if key in DAMPENING_PARAMS: - if value != "default": - command = "dampening {0} {1} {2} {3}".format( - proposed.get("dampening_half_time"), - proposed.get("dampening_reuse_time"), - proposed.get("dampening_suppress_time"), - proposed.get("dampening_max_suppress_time"), - ) - else: - if existing.get(key): - command = "no dampening {0} {1} {2} {3}".format( - existing["dampening_half_time"], - existing["dampening_reuse_time"], - existing["dampening_suppress_time"], - existing["dampening_max_suppress_time"], - ) - if "default" in command: - command = "" - elif key.startswith("distance"): - command = "distance {0} {1} {2}".format( - proposed.get("distance_ebgp"), - proposed.get("distance_ibgp"), - proposed.get("distance_local"), - ) - else: - fixed_proposed[key] = value - - if command: - if command not in commands: - commands.append(command) - - return fixed_proposed, commands - - -def default_existing(existing_value, key, value): - commands = [] - if key == "network": - for network in existing_value: - if len(network) == 2: - commands.append("no network {0} route-map {1}".format(network[0], network[1])) - elif len(network) == 1: - commands.append("no network {0}".format(network[0])) - - elif key == "inject-map": - for maps in existing_value: - if len(maps) == 2: - commands.append("no inject-map {0} exist-map {1}".format(maps[0], maps[1])) - elif len(maps) == 3: - commands.append( - "no inject-map {0} exist-map {1} " "copy-attributes".format(maps[0], maps[1]), - ) - - elif key == "redistribute": - for maps in existing_value: - commands.append("no redistribute {0} route-map {1}".format(maps[0], maps[1])) - - elif key == "retain route-target": - if existing_value == "all": - commands.append("no {0} {1}".format(key, existing_value)) - elif existing_value != "default": - commands.append("no {0} route-map {1}".format(key, existing_value)) - - else: - commands.append("no {0} {1}".format(key, existing_value)) - return commands - - -def get_network_command(existing, key, value): - commands = [] - existing_networks = existing.get("networks", []) - for inet in value: - if not isinstance(inet, list): - inet = [inet] - if inet not in existing_networks: - if len(inet) == 1: - command = "{0} {1}".format(key, inet[0]) - elif len(inet) == 2: - command = "{0} {1} route-map {2}".format(key, inet[0], inet[1]) - if command: - commands.append(command) - for enet in existing_networks: - if enet not in value: - if len(enet) == 1: - command = "no {0} {1}".format(key, enet[0]) - elif len(enet) == 2: - command = "no {0} {1} route-map {2}".format(key, enet[0], enet[1]) - if command: - commands.append(command) - return commands - - -def get_inject_map_command(existing, key, value): - commands = [] - existing_maps = existing.get("inject_map", []) - for maps in value: - if not isinstance(maps, list): - maps = [maps] - if maps not in existing_maps: - if len(maps) == 2: - command = "inject-map {0} exist-map {1}".format(maps[0], maps[1]) - elif len(maps) == 3: - command = "inject-map {0} exist-map {1} " "copy-attributes".format(maps[0], maps[1]) - if command: - commands.append(command) - for emaps in existing_maps: - if emaps not in value: - if len(emaps) == 2: - command = "no inject-map {0} exist-map {1}".format(emaps[0], emaps[1]) - elif len(emaps) == 3: - command = "no inject-map {0} exist-map {1} " "copy-attributes".format( - emaps[0], - emaps[1], - ) - if command: - commands.append(command) - return commands - - -def get_redistribute_command(existing, key, value): - commands = [] - existing_rules = existing.get("redistribute", []) - for rule in value: - if not isinstance(rule, list): - rule = [rule] - if rule not in existing_rules: - command = "redistribute {0} route-map {1}".format(rule[0], rule[1]) - commands.append(command) - for erule in existing_rules: - if erule not in value: - command = "no redistribute {0} route-map {1}".format(erule[0], erule[1]) - commands.append(command) - return commands - - -def get_table_map_command(module, existing, key, value): - commands = [] - if key == "table-map": - if value != "default": - command = "{0} {1}".format(key, module.params["table_map"]) - if ( - module.params["table_map_filter"] is not None - and module.params["table_map_filter"] != "default" - ): - command += " filter" - commands.append(command) - else: - if existing.get("table_map"): - command = "no {0} {1}".format(key, existing.get("table_map")) - commands.append(command) - return commands - - -def get_retain_route_target_command(existing, key, value): - commands = [] - if key == "retain route-target": - if value != "default": - if value == "all": - command = "{0} {1}".format(key, value) - else: - command = "{0} route-map {1}".format(key, value) - else: - existing_value = existing.get("retain_route_target") - if existing_value == "all": - command = "no {0} {1}".format(key, existing_value) - else: - command = "no {0} route-map {1}".format(key, existing_value) - commands.append(command) - return commands - - -def get_default_table_map_filter(existing): - commands = [] - existing_table_map_filter = existing.get("table_map_filter") - if existing_table_map_filter: - existing_table_map = existing.get("table_map") - if existing_table_map: - command = "table-map {0}".format(existing_table_map) - commands.append(command) - return commands - - -def state_present(module, existing, proposed, candidate): - fixed_proposed, commands = fix_proposed(module, proposed, existing) - proposed_commands = apply_key_map(PARAM_TO_COMMAND_KEYMAP, fixed_proposed) - existing_commands = apply_key_map(PARAM_TO_COMMAND_KEYMAP, existing) - for key, value in proposed_commands.items(): - if key == "address-family": - addr_family_command = "address-family {0} {1}".format( - module.params["afi"], - module.params["safi"], - ) - if addr_family_command not in commands: - commands.append(addr_family_command) - - elif key.startswith("table-map"): - table_map_commands = get_table_map_command(module, existing, key, value) - if table_map_commands: - commands.extend(table_map_commands) - - elif value is True: - commands.append(key) - - elif value is False: - commands.append("no {0}".format(key)) - - elif value == "default": - if key in PARAM_TO_DEFAULT_KEYMAP: - commands.append("{0} {1}".format(key, PARAM_TO_DEFAULT_KEYMAP[key])) - - elif existing_commands.get(key): - if key == "table-map-filter": - default_tmf_command = get_default_table_map_filter(existing) - - if default_tmf_command: - commands.extend(default_tmf_command) - else: - existing_value = existing_commands.get(key) - default_command = default_existing(existing_value, key, value) - if default_command: - commands.extend(default_command) - else: - if key == "network": - network_commands = get_network_command(existing, key, value) - if network_commands: - commands.extend(network_commands) - - elif key == "inject-map": - inject_map_commands = get_inject_map_command(existing, key, value) - if inject_map_commands: - commands.extend(inject_map_commands) - - elif key == "redistribute": - redistribute_commands = get_redistribute_command(existing, key, value) - if redistribute_commands: - commands.extend(redistribute_commands) - - elif key == "retain route-target": - retain_route_target_commands = get_retain_route_target_command(existing, key, value) - if retain_route_target_commands: - commands.extend(retain_route_target_commands) - - else: - command = "{0} {1}".format(key, value) - commands.append(command) - - if commands: - parents = ["router bgp {0}".format(module.params["asn"])] - if module.params["vrf"] != "default": - parents.append("vrf {0}".format(module.params["vrf"])) - - addr_family_command = "address-family {0} {1}".format( - module.params["afi"], - module.params["safi"], - ) - parents.append(addr_family_command) - if addr_family_command in commands: - commands.remove(addr_family_command) - candidate.add(commands, parents=parents) - - -def state_absent(module, candidate): - commands = [] - parents = ["router bgp {0}".format(module.params["asn"])] - if module.params["vrf"] != "default": - parents.append("vrf {0}".format(module.params["vrf"])) - - commands.append("no address-family {0} {1}".format(module.params["afi"], module.params["safi"])) - candidate.add(commands, parents=parents) - - -def main(): - argument_spec = dict( - asn=dict(required=True, type="str"), - vrf=dict(required=False, type="str", default="default"), - safi=dict(required=True, type="str", choices=["unicast", "multicast", "evpn"]), - afi=dict( - required=True, - type="str", - choices=["ipv4", "ipv6", "vpnv4", "vpnv6", "l2vpn"], - ), - additional_paths_install=dict(required=False, type="bool"), - additional_paths_receive=dict(required=False, type="bool"), - additional_paths_selection=dict(required=False, type="str"), - additional_paths_send=dict(required=False, type="bool"), - advertise_l2vpn_evpn=dict(required=False, type="bool"), - client_to_client=dict(required=False, type="bool"), - dampen_igp_metric=dict(required=False, type="str"), - dampening_state=dict(required=False, type="bool"), - dampening_half_time=dict(required=False, type="str"), - dampening_max_suppress_time=dict(required=False, type="str"), - dampening_reuse_time=dict(required=False, type="str"), - dampening_routemap=dict(required=False, type="str"), - dampening_suppress_time=dict(required=False, type="str"), - default_information_originate=dict(required=False, type="bool"), - default_metric=dict(required=False, type="str"), - distance_ebgp=dict(required=False, type="str"), - distance_ibgp=dict(required=False, type="str"), - distance_local=dict(required=False, type="str"), - inject_map=dict(required=False, type="list", elements="list"), - maximum_paths=dict(required=False, type="str"), - maximum_paths_ibgp=dict(required=False, type="str"), - networks=dict(required=False, type="list", elements="list"), - next_hop_route_map=dict(required=False, type="str"), - redistribute=dict(required=False, type="list", elements="list"), - suppress_inactive=dict(required=False, type="bool"), - table_map=dict(required=False, type="str"), - table_map_filter=dict(required=False, type="bool"), - state=dict(choices=["present", "absent"], default="present", required=False), - retain_route_target=dict(required=False, type="str"), - ) - - mutually_exclusive = [ - ("dampening_state", "dampening_routemap"), - ("dampening_state", "dampening_half_time"), - ("dampening_state", "dampening_suppress_time"), - ("dampening_state", "dampening_reuse_time"), - ("dampening_state", "dampening_max_suppress_time"), - ("dampening_routemap", "dampening_half_time"), - ("dampening_routemap", "dampening_suppress_time"), - ("dampening_routemap", "dampening_reuse_time"), - ("dampening_routemap", "dampening_max_suppress_time"), - ] - - module = AnsibleModule( - argument_spec=argument_spec, - mutually_exclusive=mutually_exclusive, - required_together=[ - DAMPENING_PARAMS, - ["distance_ibgp", "distance_ebgp", "distance_local"], - ], - supports_check_mode=True, - ) - - warnings = list() - result = dict(changed=False, warnings=warnings) - - state = module.params["state"] - - if module.params["advertise_l2vpn_evpn"]: - if module.params["vrf"] == "default": - module.fail_json( - msg="It is not possible to advertise L2VPN " - "EVPN in the default VRF. Please specify " - "another one.", - vrf=module.params["vrf"], - ) - - if module.params["table_map_filter"] and not module.params["table_map"]: - module.fail_json(msg="table_map param is needed when using" " table_map_filter filter.") - - args = PARAM_TO_COMMAND_KEYMAP.keys() - existing = get_existing(module, args, warnings) - - if existing.get("asn") and state == "present": - if existing.get("asn") != module.params["asn"]: - module.fail_json( - msg="Another BGP ASN already exists.", - proposed_asn=module.params["asn"], - existing_asn=existing.get("asn"), - ) - - proposed_args = dict((k, v) for k, v in module.params.items() if v is not None and k in args) - - for arg in ["networks", "inject_map", "redistribute"]: - if proposed_args.get(arg): - if proposed_args[arg][0] == "default": - proposed_args[arg] = "default" - - proposed = {} - for key, value in proposed_args.items(): - if key not in ["asn", "vrf"]: - if str(value).lower() == "default": - value = PARAM_TO_DEFAULT_KEYMAP.get(key, "default") - if existing.get(key) != value: - proposed[key] = value - - candidate = CustomNetworkConfig(indent=3) - if state == "present": - state_present(module, existing, proposed, candidate) - elif state == "absent" and existing: - state_absent(module, candidate) - - if candidate: - candidate = candidate.items_text() - if not module.check_mode: - load_config(module, candidate) - result["changed"] = True - result["commands"] = candidate - else: - result["commands"] = [] - - module.exit_json(**result) - - -if __name__ == "__main__": - main() diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_global.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_global.py index b3072d66e..29e016181 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_global.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_global.py @@ -357,6 +357,9 @@ options: remote_as: description: Specify Autonomous System Number of the neighbor. type: str + remote_as_route_map: + description: Route-map to match prefix peer AS number. + type: str remove_private_as: description: Remove private AS number from outbound updates. type: dict @@ -508,14 +511,16 @@ options: or a vrf context that is to be removed. Please use the M(cisco.nxos.nxos_bgp_af) or M(cisco.nxos.nxos_bgp_neighbor_af) modules for prior cleanup. - - States I(merged) and I(replaced) will result in a failure if BGP is already configured + - States C(merged) and C(replaced) will result in a failure if BGP is already configured with a different ASN than what is provided in the task. In such cases, please use - state I(purged) to remove the existing BGP process and proceed further. + state C(purged) to remove the existing BGP process and proceed further. + - States C(replaced) and C(overridden) have the same behaviour for this module. - Refer to examples for more details. type: str choices: - merged - replaced + - overridden - deleted - purged - parsed @@ -593,8 +598,8 @@ EXAMPLES = """ neighbor_down: fib_accelerate: True -# Task output -# ------------- +# Task output: +# ------------ # before: {} # # commands: @@ -699,7 +704,7 @@ EXAMPLES = """ # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65563 # router-id 192.168.1.1 @@ -823,8 +828,8 @@ EXAMPLES = """ fib_accelerate: True state: replaced -# Task output -# ------------- +# Task output: +# ------------ # before: # as_number: '65563' # bestpath: @@ -937,7 +942,7 @@ EXAMPLES = """ # vrf: site-2 # # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65563 # router-id 192.168.1.1 @@ -1018,8 +1023,8 @@ EXAMPLES = """ cisco.nxos.nxos_bgp_global: state: deleted -# Task output -# ------------- +# Task output: +# ------------ # before: # as_number: '65563' @@ -1101,7 +1106,7 @@ EXAMPLES = """ # as_number: '65563' # # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65563 # address-family ipv4 unicast @@ -1171,8 +1176,8 @@ EXAMPLES = """ cisco.nxos.nxos_bgp_global: state: purged -# Task output -# ------------- +# Task output: +# ------------ # before: # as_number: '65563' @@ -1240,7 +1245,7 @@ EXAMPLES = """ # after: {} # # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # Nexus9000v# @@ -1308,8 +1313,8 @@ EXAMPLES = """ neighbor_down: fib_accelerate: True -# Task Output (redacted) -# ----------------------- +# Task output: +# ------------ # rendered: # - router bgp 65563 # - bestpath as-path multipath-relax @@ -1398,8 +1403,8 @@ EXAMPLES = """ running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed -# Task output (redacted) -# ----------------------- +# Task output: +# ------------ # parsed: # as_number: '65563' # bestpath: @@ -1491,8 +1496,8 @@ EXAMPLES = """ cisco.nxos.nxos_bgp_global: state: gathered -# Task output (redacted) -# ----------------------- +# Task output: +# ------------ # gathered: # as_number: '65563' # bestpath: @@ -1565,8 +1570,8 @@ EXAMPLES = """ key: 12090404011C03162E state: replaced -# Task output (redacted) -# ----------------------- +# Task output: +# ------------ # fatal: [Nexus9000v]: FAILED! => changed=false # msg: Neighbor 203.0.113.2 has address-family configurations. # Please use the nxos_bgp_neighbor_af module to remove those first. @@ -1613,8 +1618,8 @@ EXAMPLES = """ fib_accelerate: True state: replaced -# Task output (redacted) -# ----------------------- +# Task output: +# ------------ # fatal: [Nexus9000v]: FAILED! => changed=false # msg: VRF site-1 has address-family configurations. # Please use the nxos_bgp_af module to remove those first. @@ -1656,6 +1661,28 @@ commands: - remote-as 65562 - description site-1-nbr-1 - password 3 13D4D3549493D2877B1DC116EE27A6BE +rendered: + description: The provided configuration in the task rendered in device-native format (offline). + returned: when I(state) is C(rendered) + type: list + sample: + - router bgp 65563 + - maxas-limit 20 + - router-id 192.168.1.1 +gathered: + description: Facts about the network resource gathered from the remote device as structured data. + returned: when I(state) is C(gathered) + type: dict + sample: > + This output will always be in the same format as the + module argspec. +parsed: + description: The device native config provided in I(running_config) option parsed into structured data as per module argspec. + returned: when I(state) is C(parsed) + type: dict + sample: > + This output will always be in the same format as the + module argspec. """ from ansible.module_utils.basic import AnsibleModule diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_neighbor.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_neighbor.py deleted file mode 100644 index 2c5283caa..000000000 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_neighbor.py +++ /dev/null @@ -1,569 +0,0 @@ -#!/usr/bin/python -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see <http://www.gnu.org/licenses/>. -# -from __future__ import absolute_import, division, print_function - - -__metaclass__ = type - - -DOCUMENTATION = """ -module: nxos_bgp_neighbor -extends_documentation_fragment: -- cisco.nxos.nxos -short_description: (deprecated, removed after 2023-01-27) Manages BGP neighbors configurations. -description: -- Manages BGP neighbors configurations on NX-OS switches. -version_added: 1.0.0 -author: Gabriele Gerbino (@GGabriele) -deprecated: - alternative: nxos_bgp_global - why: Updated module released with more functionality. - removed_at_date: '2023-01-27' -notes: -- Tested against NXOSv 7.3.(0)D1(1) on VIRL -- Unsupported for Cisco MDS -- C(state=absent) removes the whole BGP neighbor configuration. -- Default, where supported, restores params default value. -options: - asn: - description: - - BGP autonomous system number. Valid values are string, Integer in ASPLAIN or - ASDOT notation. - required: true - type: str - vrf: - description: - - Name of the VRF. The name 'default' is a valid VRF representing the global bgp. - default: default - type: str - neighbor: - description: - - Neighbor Identifier. Valid values are string. Neighbors may use IPv4 or IPv6 - notation, with or without prefix length. - required: true - type: str - description: - description: - - Description of the neighbor. - type: str - bfd: - description: - - Enables/Disables BFD for a given neighbor. - - "Dependency: ''feature bfd''" - type: str - choices: - - enable - - disable - connected_check: - description: - - Configure whether or not to check for directly connected peer. - type: bool - capability_negotiation: - description: - - Configure whether or not to negotiate capability with this neighbor. - type: bool - dynamic_capability: - description: - - Configure whether or not to enable dynamic capability. - type: bool - ebgp_multihop: - description: - - Specify multihop TTL for a remote peer. Valid values are integers between 2 - and 255, or keyword 'default' to disable this property. - type: str - local_as: - description: - - Specify the local-as number for the eBGP neighbor. Valid values are String or - Integer in ASPLAIN or ASDOT notation, or 'default', which means not to configure - it. - type: str - log_neighbor_changes: - description: - - Specify whether or not to enable log messages for neighbor up/down event. - choices: - - enable - - disable - - inherit - type: str - low_memory_exempt: - description: - - Specify whether or not to shut down this neighbor under memory pressure. - type: bool - maximum_peers: - description: - - Specify Maximum number of peers for this neighbor prefix Valid values are between - 1 and 1000, or 'default', which does not impose the limit. Note that this parameter - is accepted only on neighbors with address/prefix. - type: str - pwd: - description: - - Specify the password for neighbor. Valid value is string. - type: str - pwd_type: - description: - - Specify the encryption type the password will use. Valid values are '3des' or - 'cisco_type_7' encryption or keyword 'default'. - choices: - - 3des - - cisco_type_7 - - default - type: str - remote_as: - description: - - Specify Autonomous System Number of the neighbor. Valid values are String or - Integer in ASPLAIN or ASDOT notation, or 'default', which means not to configure - it. - type: str - remove_private_as: - description: - - Specify the config to remove private AS number from outbound updates. Valid - values are 'enable' to enable this config, 'disable' to disable this config, - 'all' to remove all private AS number, or 'replace-as', to replace the private - AS number. - choices: - - enable - - disable - - all - - replace-as - type: str - shutdown: - description: - - Configure to administratively shutdown this neighbor. - type: bool - suppress_4_byte_as: - description: - - Configure to suppress 4-byte AS Capability. - type: bool - timers_keepalive: - description: - - Specify keepalive timer value. Valid values are integers between 0 and 3600 - in terms of seconds, or 'default', which is 60. - type: str - timers_holdtime: - description: - - Specify holdtime timer value. Valid values are integers between 0 and 3600 in - terms of seconds, or 'default', which is 180. - type: str - transport_passive_only: - description: - - Specify whether or not to only allow passive connection setup. Valid values - are 'true', 'false', and 'default', which defaults to 'false'. This property - can only be configured when the neighbor is in 'ip' address format without prefix - length. - type: bool - update_source: - description: - - Specify source interface of BGP session and updates. - type: str - state: - description: - - Determines whether the config should be present or not on the device. - default: present - choices: - - present - - absent - type: str - peer_type: - description: - - Specify the peer type for BGP session. - choices: - - fabric_border_leaf - - fabric_external - - disable - type: str - version_added: 1.1.0 -""" -EXAMPLES = """ -# create a new neighbor -- cisco.nxos.nxos_bgp_neighbor: - asn: 65535 - neighbor: 192.0.2.3 - local_as: 20 - remote_as: 30 - bfd: enable - description: just a description - update_source: Ethernet1/3 - state: present - peer_type: fabric_external -""" - -RETURN = """ -commands: - description: commands sent to the device - returned: always - type: list - sample: ["router bgp 65535", "neighbor 192.0.2.3", - "remote-as 30", "update-source Ethernet1/3", - "description just a description", "local-as 20", "peer-type fabric-external"] -""" - -import re - -from ansible.module_utils.basic import AnsibleModule -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.config import ( - CustomNetworkConfig, -) - -from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.nxos import ( - get_config, - load_config, -) - - -BOOL_PARAMS = [ - "capability_negotiation", - "shutdown", - "connected_check", - "dynamic_capability", - "low_memory_exempt", - "suppress_4_byte_as", - "transport_passive_only", -] -PARAM_TO_COMMAND_KEYMAP = { - "asn": "router bgp", - "bfd": "bfd", - "capability_negotiation": "dont-capability-negotiate", - "connected_check": "disable-connected-check", - "description": "description", - "dynamic_capability": "dynamic-capability", - "ebgp_multihop": "ebgp-multihop", - "local_as": "local-as", - "log_neighbor_changes": "log-neighbor-changes", - "low_memory_exempt": "low-memory exempt", - "maximum_peers": "maximum-peers", - "neighbor": "neighbor", - "pwd": "password", - "pwd_type": "password", - "remote_as": "remote-as", - "remove_private_as": "remove-private-as", - "shutdown": "shutdown", - "suppress_4_byte_as": "capability suppress 4-byte-as", - "timers_keepalive": "timers", - "timers_holdtime": "timers", - "transport_passive_only": "transport connection-mode passive", - "update_source": "update-source", - "vrf": "vrf", - "peer_type": "peer-type", -} -PARAM_TO_DEFAULT_KEYMAP = { - "bfd": "disable", - "shutdown": False, - "dynamic_capability": True, - "timers_keepalive": 60, - "timers_holdtime": 180, - "peer_type": "disable", -} - - -def get_value(arg, config): - command = PARAM_TO_COMMAND_KEYMAP[arg] - has_command = re.search(r"^\s+{0}$".format(command), config, re.M) - has_command_val = re.search(r"(?:\s+{0}\s*)(?P<value>.*)$".format(command), config, re.M) - - if arg == "dynamic_capability": - has_no_command = re.search(r"\s+no\s{0}\s*$".format(command), config, re.M) - value = True - if has_no_command: - value = False - elif arg in BOOL_PARAMS: - value = False - if has_command: - value = True - elif arg == "log_neighbor_changes": - value = "" - if has_command: - value = "enable" - elif has_command_val: - value = "disable" - - elif arg == "remove_private_as": - value = "disable" - if has_command: - value = "enable" - elif has_command_val: - value = has_command_val.group("value") - elif arg == "bfd": - value = "enable" if has_command else "disable" - - elif arg == "peer_type": - value = "disable" - if has_command_val: - value = has_command_val.group("value").replace("-", "_") - else: - value = "" - - if has_command_val: - value = has_command_val.group("value") - - if command in ["timers", "password"]: - split_value = value.split() - value = "" - - if arg in ["timers_keepalive", "pwd_type"]: - value = split_value[0] - elif arg in ["timers_holdtime", "pwd"] and len(split_value) == 2: - value = split_value[1] - - return value - - -def get_existing(module, args, warnings): - existing = {} - netcfg = CustomNetworkConfig(indent=2, contents=get_config(module)) - - asn_regex = re.compile(r".*router\sbgp\s(?P<existing_asn>\d+(\.\d+)?).*", re.S) - match_asn = asn_regex.match(str(netcfg)) - - if match_asn: - existing_asn = match_asn.group("existing_asn") - parents = ["router bgp {0}".format(existing_asn)] - - if module.params["vrf"] != "default": - parents.append("vrf {0}".format(module.params["vrf"])) - - parents.append("neighbor {0}".format(module.params["neighbor"])) - config = netcfg.get_section(parents) - if config: - for arg in args: - if arg not in ["asn", "vrf", "neighbor"]: - existing[arg] = get_value(arg, config) - - existing["asn"] = existing_asn - existing["neighbor"] = module.params["neighbor"] - existing["vrf"] = module.params["vrf"] - else: - warnings.append("The BGP process didn't exist but the task just created it.") - return existing - - -def apply_key_map(key_map, table): - new_dict = {} - for key in table: - new_key = key_map.get(key) - if new_key: - new_dict[new_key] = table.get(key) - - return new_dict - - -def state_present(module, existing, proposed, candidate): - commands = list() - proposed_commands = apply_key_map(PARAM_TO_COMMAND_KEYMAP, proposed) - existing_commands = apply_key_map(PARAM_TO_COMMAND_KEYMAP, existing) - - for key, value in proposed_commands.items(): - if value is True: - commands.append(key) - elif value is False: - commands.append("no {0}".format(key)) - elif value == "default": - if existing_commands.get(key): - if key == "password": - commands.append("no password") - else: - existing_value = existing_commands.get(key) - commands.append("no {0} {1}".format(key, existing_value)) - else: - if key == "log-neighbor-changes": - if value == "enable": - commands.append("{0}".format(key)) - elif value == "disable": - commands.append("{0} {1}".format(key, value)) - elif value == "inherit": - if existing_commands.get(key): - commands.append("no {0}".format(key)) - elif key == "password": - pwd_type = module.params["pwd_type"] - if pwd_type == "3des": - pwd_type = 3 - else: - pwd_type = 7 - command = "{0} {1} {2}".format(key, pwd_type, value) - if command not in commands: - commands.append(command) - elif key == "remove-private-as": - if value == "enable": - command = "{0}".format(key) - commands.append(command) - elif value == "disable": - if existing_commands.get(key) != "disable": - command = "no {0}".format(key) - commands.append(command) - else: - command = "{0} {1}".format(key, value) - commands.append(command) - elif key == "timers": - if proposed["timers_keepalive"] != PARAM_TO_DEFAULT_KEYMAP.get( - "timers_keepalive", - ) or proposed["timers_holdtime"] != PARAM_TO_DEFAULT_KEYMAP.get("timers_holdtime"): - command = "timers {0} {1}".format( - proposed["timers_keepalive"], - proposed["timers_holdtime"], - ) - if command not in commands: - commands.append(command) - elif key == "bfd": - no_cmd = "no " if value == "disable" else "" - commands.append(no_cmd + key) - elif key == "peer-type": - if value == "disable": - if existing_commands.get(key) != "disable": - command = "no {0}".format(key) - commands.append(command) - elif value == "fabric_external": - ptype = "fabric-external" - command = "{0} {1}".format(key, ptype) - commands.append(command) - elif value == "fabric_border_leaf": - ptype = "fabric-border-leaf" - command = "{0} {1}".format(key, ptype) - commands.append(command) - else: - command = "{0} {1}".format(key, value) - commands.append(command) - - if commands: - parents = ["router bgp {0}".format(module.params["asn"])] - if module.params["vrf"] != "default": - parents.append("vrf {0}".format(module.params["vrf"])) - - parents.append("neighbor {0}".format(module.params["neighbor"])) - - # make sure that local-as is the last command in the list. - local_as_command = "local-as {0}".format(module.params["local_as"]) - if local_as_command in commands: - commands.remove(local_as_command) - commands.append(local_as_command) - candidate.add(commands, parents=parents) - - -def state_absent(module, existing, proposed, candidate): - commands = [] - parents = ["router bgp {0}".format(module.params["asn"])] - if module.params["vrf"] != "default": - parents.append("vrf {0}".format(module.params["vrf"])) - - commands.append("no neighbor {0}".format(module.params["neighbor"])) - candidate.add(commands, parents=parents) - - -def main(): - argument_spec = dict( - asn=dict(required=True, type="str"), - vrf=dict(required=False, type="str", default="default"), - neighbor=dict(required=True, type="str"), - description=dict(required=False, type="str"), - bfd=dict(required=False, type="str", choices=["enable", "disable"]), - capability_negotiation=dict(required=False, type="bool"), - connected_check=dict(required=False, type="bool"), - dynamic_capability=dict(required=False, type="bool"), - ebgp_multihop=dict(required=False, type="str"), - local_as=dict(required=False, type="str"), - log_neighbor_changes=dict( - required=False, - type="str", - choices=["enable", "disable", "inherit"], - ), - low_memory_exempt=dict(required=False, type="bool"), - maximum_peers=dict(required=False, type="str"), - pwd=dict(required=False, type="str"), - pwd_type=dict( - required=False, - type="str", - choices=["3des", "cisco_type_7", "default"], - ), - remote_as=dict(required=False, type="str"), - remove_private_as=dict( - required=False, - type="str", - choices=["enable", "disable", "all", "replace-as"], - ), - shutdown=dict(required=False, type="bool"), - suppress_4_byte_as=dict(required=False, type="bool"), - timers_keepalive=dict(required=False, type="str"), - timers_holdtime=dict(required=False, type="str"), - transport_passive_only=dict(required=False, type="bool"), - update_source=dict(required=False, type="str"), - state=dict(choices=["present", "absent"], default="present", required=False), - peer_type=dict( - required=False, - type="str", - choices=["disable", "fabric_border_leaf", "fabric_external"], - ), - ) - - module = AnsibleModule( - argument_spec=argument_spec, - required_together=[ - ["timers_holdtime", "timers_keepalive"], - ["pwd", "pwd_type"], - ], - supports_check_mode=True, - ) - - warnings = list() - result = dict(changed=False, warnings=warnings) - - state = module.params["state"] - - if module.params["pwd_type"] == "default": - module.params["pwd_type"] = "0" - - args = PARAM_TO_COMMAND_KEYMAP.keys() - existing = get_existing(module, args, warnings) - - if existing.get("asn") and state == "present": - if existing["asn"] != module.params["asn"]: - module.fail_json( - msg="Another BGP ASN already exists.", - proposed_asn=module.params["asn"], - existing_asn=existing.get("asn"), - ) - - proposed_args = dict((k, v) for k, v in module.params.items() if v is not None and k in args) - proposed = {} - for key, value in proposed_args.items(): - if key not in ["asn", "vrf", "neighbor", "pwd_type"]: - if str(value).lower() == "default": - value = PARAM_TO_DEFAULT_KEYMAP.get(key, "default") - if key == "bfd": - if existing.get("bfd", "disable") != value: - proposed[key] = value - elif existing.get(key) != value: - proposed[key] = value - - candidate = CustomNetworkConfig(indent=3) - if state == "present": - state_present(module, existing, proposed, candidate) - elif state == "absent" and existing: - state_absent(module, existing, proposed, candidate) - - if candidate: - candidate = candidate.items_text() - if not module.check_mode: - load_config(module, candidate) - result["changed"] = True - result["commands"] = candidate - else: - result["commands"] = [] - - module.exit_json(**result) - - -if __name__ == "__main__": - main() diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_neighbor_address_family.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_neighbor_address_family.py index 967f8ee4e..e2b72ace3 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_neighbor_address_family.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_neighbor_address_family.py @@ -187,6 +187,9 @@ options: rewrite_evpn_rt_asn: description: Auto generate RTs for EBGP neighbor. type: bool + rewrite_rt_asn: + description: Auto generate RTs for EBGP neighbor. + type: bool route_map: description: Apply route-map to neighbor. type: dict @@ -316,8 +319,8 @@ EXAMPLES = """ send_community: set: True -# Task output -# ------------- +# Task output: +# ------------ # before: {} # # commands: @@ -385,7 +388,7 @@ EXAMPLES = """ # safi: unicast # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # neighbor 192.0.2.32 @@ -472,8 +475,8 @@ EXAMPLES = """ set: True state: replaced -# Task output -# ------------- +# Task output: +# ------------ # before: # as_number: "65536" # neighbors: @@ -564,7 +567,7 @@ EXAMPLES = """ # safi: unicast # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # neighbor 192.0.2.32 @@ -631,8 +634,8 @@ EXAMPLES = """ set: True state: overridden -# Task output -# ------------- +# Task output: +# ------------ # before: # as_number: "65536" # neighbors: @@ -710,7 +713,7 @@ EXAMPLES = """ # set: True # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # neighbor 192.0.2.32 @@ -766,8 +769,8 @@ EXAMPLES = """ safi: unicast state: deleted -# Task output -# ------------- +# Task output: +# ------------ # before: # as_number: "65536" # neighbors: @@ -850,7 +853,7 @@ EXAMPLES = """ # set: True # # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # neighbor 192.0.2.32 @@ -899,8 +902,8 @@ EXAMPLES = """ cisco.nxos.nxos_bgp_neighbor_address_family: state: deleted -# Task output -# ------------- +# Task output: +# ------------ # before: # as_number: "65536" # neighbors: @@ -961,7 +964,7 @@ EXAMPLES = """ # as_number: "65536" # # After state: -# ------------- +# ------------ # Nexus9000v# show running-config | section "^router bgp" # router bgp 65536 # neighbor 192.0.2.32 @@ -1018,8 +1021,8 @@ EXAMPLES = """ set: True state: rendered -# Task Output (redacted) -# ----------------------- +# Task output: +# ------------ # rendered: # - router bgp 65536 # - neighbor 192.0.2.32 @@ -1073,8 +1076,8 @@ EXAMPLES = """ running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed -# Task output (redacted) -# ----------------------- +# Task output: +# ------------ # parsed: # as_number: "65536" # neighbors: @@ -1117,6 +1120,52 @@ EXAMPLES = """ # - afi: ipv6 # safi: unicast """ +RETURN = """ +before: + description: The configuration prior to the module execution. + returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) + type: dict + sample: > + This output will always be in the same format as the + module argspec. +after: + description: The resulting configuration after module execution. + returned: when changed + type: dict + sample: > + This output will always be in the same format as the + module argspec. +commands: + description: The set of commands pushed to the remote device. + returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) + type: list + sample: + - router bgp 65536 + - neighbor 192.0.2.32 + - address-family ipv4 unicast +rendered: + description: The provided configuration in the task rendered in device-native format (offline). + returned: when I(state) is C(rendered) + type: list + sample: + - router bgp 65536 + - neighbor 192.0.2.32 + - address-family ipv4 unicast +gathered: + description: Facts about the network resource gathered from the remote device as structured data. + returned: when I(state) is C(gathered) + type: dict + sample: > + This output will always be in the same format as the + module argspec. +parsed: + description: The device native config provided in I(running_config) option parsed into structured data as per module argspec. + returned: when I(state) is C(parsed) + type: dict + sample: > + This output will always be in the same format as the + module argspec. +""" from ansible.module_utils.basic import AnsibleModule diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_neighbor_af.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_neighbor_af.py deleted file mode 100644 index cc5624eef..000000000 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_neighbor_af.py +++ /dev/null @@ -1,781 +0,0 @@ -#!/usr/bin/python -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see <http://www.gnu.org/licenses/>. -# -from __future__ import absolute_import, division, print_function - - -__metaclass__ = type - - -DOCUMENTATION = """ -module: nxos_bgp_neighbor_af -extends_documentation_fragment: -- cisco.nxos.nxos -short_description: (deprecated, removed after 2023-02-24) Manages BGP address-family's neighbors configuration. -description: -- Manages BGP address-family's neighbors configurations on NX-OS switches. -version_added: 1.0.0 -author: Gabriele Gerbino (@GGabriele) -deprecated: - alternative: nxos_bgp_neighbor_address_family - why: Updated module released with more functionality. - removed_at_date: '2023-02-24' -notes: -- Tested against NXOSv 7.3.(0)D1(1) on VIRL -- Unsupported for Cisco MDS -- C(state=absent) removes the whole BGP address-family's neighbor configuration. -- Default, when supported, removes properties -- In order to default maximum-prefix configuration, only C(max_prefix_limit=default) - is needed. -options: - asn: - description: - - BGP autonomous system number. Valid values are String, Integer in ASPLAIN or - ASDOT notation. - required: true - type: str - vrf: - description: - - Name of the VRF. The name 'default' is a valid VRF representing the global bgp. - default: default - type: str - neighbor: - description: - - Neighbor Identifier. Valid values are string. Neighbors may use IPv4 or IPv6 - notation, with or without prefix length. - required: true - type: str - afi: - description: - - Address Family Identifier. - required: true - choices: - - ipv4 - - ipv6 - - vpnv4 - - vpnv6 - - l2vpn - type: str - safi: - description: - - Sub Address Family Identifier. - required: true - choices: - - unicast - - multicast - - evpn - type: str - additional_paths_receive: - description: - - Valid values are enable for basic command enablement; disable for disabling - the command at the neighbor af level (it adds the disable keyword to the basic - command); and inherit to remove the command at this level (the command value - is inherited from a higher BGP layer). - choices: - - enable - - disable - - inherit - type: str - additional_paths_send: - description: - - Valid values are enable for basic command enablement; disable for disabling - the command at the neighbor af level (it adds the disable keyword to the basic - command); and inherit to remove the command at this level (the command value - is inherited from a higher BGP layer). - choices: - - enable - - disable - - inherit - type: str - advertise_map_exist: - description: - - Conditional route advertisement. This property requires two route maps, an advertise-map - and an exist-map. Valid values are an array specifying both the advertise-map - name and the exist-map name, or simply 'default' e.g. ['my_advertise_map', 'my_exist_map']. - This command is mutually exclusive with the advertise_map_non_exist property. - type: list - elements: str - advertise_map_non_exist: - description: - - Conditional route advertisement. This property requires two route maps, an advertise-map - and an exist-map. Valid values are an array specifying both the advertise-map - name and the non-exist-map name, or simply 'default' e.g. ['my_advertise_map', - 'my_non_exist_map']. This command is mutually exclusive with the advertise_map_exist - property. - type: list - elements: str - allowas_in: - description: - - Activate allowas-in property - type: bool - allowas_in_max: - description: - - Max-occurrences value for allowas_in. Valid values are an integer value or 'default'. - This is mutually exclusive with allowas_in. - type: str - as_override: - description: - - Activate the as-override feature. - type: bool - default_originate: - description: - - Activate the default-originate feature. - type: bool - default_originate_route_map: - description: - - Route-map for the default_originate property. Valid values are a string defining - a route-map name, or 'default'. This is mutually exclusive with default_originate. - type: str - disable_peer_as_check: - description: - - Disable checking of peer AS-number while advertising - type: bool - filter_list_in: - description: - - Valid values are a string defining a filter-list name, or 'default'. - type: str - filter_list_out: - description: - - Valid values are a string defining a filter-list name, or 'default'. - type: str - max_prefix_limit: - description: - - maximum-prefix limit value. Valid values are an integer value or 'default'. - type: str - max_prefix_interval: - description: - - Optional restart interval. Valid values are an integer. Requires max_prefix_limit. - May not be combined with max_prefix_warning. - type: str - max_prefix_threshold: - description: - - Optional threshold percentage at which to generate a warning. Valid values are - an integer value. Requires max_prefix_limit. - type: str - max_prefix_warning: - description: - - Optional warning-only keyword. Requires max_prefix_limit. May not be combined - with max_prefix_interval. - type: bool - next_hop_self: - description: - - Activate the next-hop-self feature. - type: bool - next_hop_third_party: - description: - - Activate the next-hop-third-party feature. - type: bool - prefix_list_in: - description: - - Valid values are a string defining a prefix-list name, or 'default'. - type: str - prefix_list_out: - description: - - Valid values are a string defining a prefix-list name, or 'default'. - type: str - route_map_in: - description: - - Valid values are a string defining a route-map name, or 'default'. - type: str - route_map_out: - description: - - Valid values are a string defining a route-map name, or 'default'. - type: str - route_reflector_client: - description: - - Router reflector client. - type: bool - send_community: - description: - - send-community attribute. - choices: - - none - - both - - extended - - standard - - default - type: str - soft_reconfiguration_in: - description: - - Valid values are 'enable' for basic command enablement; 'always' to add the - always keyword to the basic command; and 'inherit' to remove the command at - this level (the command value is inherited from a higher BGP layer). - choices: - - enable - - always - - inherit - type: str - soo: - description: - - Site-of-origin. Valid values are a string defining a VPN extcommunity or 'default'. - type: str - suppress_inactive: - description: - - suppress-inactive feature. - type: bool - unsuppress_map: - description: - - unsuppress-map. Valid values are a string defining a route-map name or 'default'. - type: str - weight: - description: - - Weight value. Valid values are an integer value or 'default'. - type: str - state: - description: - - Determines whether the config should be present or not on the device. - default: present - choices: - - present - - absent - type: str - rewrite_evpn_rt_asn: - description: - - Auto generate route targets for EBGP neighbor. - type: bool - version_added: 1.1.0 -""" -EXAMPLES = """ -- name: configure RR client - cisco.nxos.nxos_bgp_neighbor_af: - asn: 65535 - neighbor: 192.0.2.3 - afi: ipv4 - safi: unicast - route_reflector_client: true - state: present - rewrite_evpn_rt_asn: true -""" - -RETURN = """ -commands: - description: commands sent to the device - returned: always - type: list - sample: ["router bgp 65535", "neighbor 192.0.2.3", - "address-family ipv4 unicast", "route-reflector-client", - "rewrite-evpn-rt-asn"] -""" - -import re - -from ansible.module_utils.basic import AnsibleModule -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.config import ( - CustomNetworkConfig, -) - -from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.nxos import ( - get_config, - load_config, -) - - -BOOL_PARAMS = [ - "allowas_in", - "as_override", - "default_originate", - "disable_peer_as_check", - "next_hop_self", - "next_hop_third_party", - "route_reflector_client", - "suppress_inactive", - "rewrite_evpn_rt_asn", -] -PARAM_TO_COMMAND_KEYMAP = { - "afi": "address-family", - "asn": "router bgp", - "neighbor": "neighbor", - "additional_paths_receive": "capability additional-paths receive", - "additional_paths_send": "capability additional-paths send", - "advertise_map_exist": "advertise-map exist-map", - "advertise_map_non_exist": "advertise-map non-exist-map", - "allowas_in": "allowas-in", - "allowas_in_max": "allowas-in", - "as_override": "as-override", - "default_originate": "default-originate", - "default_originate_route_map": "default-originate route-map", - "disable_peer_as_check": "disable-peer-as-check", - "filter_list_in": "filter-list in", - "filter_list_out": "filter-list out", - "max_prefix_limit": "maximum-prefix", - "max_prefix_interval": "maximum-prefix interval", - "max_prefix_threshold": "maximum-prefix threshold", - "max_prefix_warning": "maximum-prefix warning", - "next_hop_self": "next-hop-self", - "next_hop_third_party": "next-hop-third-party", - "prefix_list_in": "prefix-list in", - "prefix_list_out": "prefix-list out", - "route_map_in": "route-map in", - "route_map_out": "route-map out", - "route_reflector_client": "route-reflector-client", - "safi": "address-family", - "send_community": "send-community", - "soft_reconfiguration_in": "soft-reconfiguration inbound", - "soo": "soo", - "suppress_inactive": "suppress-inactive", - "unsuppress_map": "unsuppress-map", - "weight": "weight", - "vrf": "vrf", - "rewrite_evpn_rt_asn": "rewrite-evpn-rt-asn", -} - - -def get_value(arg, config, module): - custom = [ - "additional_paths_send", - "additional_paths_receive", - "max_prefix_limit", - "max_prefix_interval", - "max_prefix_threshold", - "max_prefix_warning", - "send_community", - "soft_reconfiguration_in", - ] - command = PARAM_TO_COMMAND_KEYMAP[arg] - has_command = re.search(r"^\s+{0}\s*".format(command), config, re.M) - has_command_val = re.search(r"(?:{0}\s)(?P<value>.*)$".format(command), config, re.M) - value = "" - - if arg in custom: - value = get_custom_value(arg, config, module) - - elif arg == "next_hop_third_party": - has_no_command = re.search(r"^\s+no\s+{0}\s*$".format(command), config, re.M) - value = False - if not has_no_command: - value = True - - elif arg in BOOL_PARAMS: - value = False - if has_command: - value = True - - elif command.startswith("advertise-map"): - value = [] - has_adv_map = re.search( - r"{0}\s(?P<value1>.*)\s{1}\s(?P<value2>.*)$".format(*command.split()), - config, - re.M, - ) - if has_adv_map: - value = list(has_adv_map.groups()) - - elif command.split()[0] in ["filter-list", "prefix-list", "route-map"]: - has_cmd_direction_val = re.search( - r"{0}\s(?P<value>.*)\s{1}$".format(*command.split()), - config, - re.M, - ) - if has_cmd_direction_val: - value = has_cmd_direction_val.group("value") - - elif has_command_val: - value = has_command_val.group("value") - - return value - - -def get_custom_value(arg, config, module): - command = PARAM_TO_COMMAND_KEYMAP.get(arg) - splitted_config = config.splitlines() - value = "" - - if arg.startswith("additional_paths"): - value = "inherit" - for line in splitted_config: - if command in line: - if "disable" in line: - value = "disable" - else: - value = "enable" - elif arg.startswith("max_prefix"): - for line in splitted_config: - if "maximum-prefix" in line: - splitted_line = line.split() - if arg == "max_prefix_limit": - value = splitted_line[1] - elif arg == "max_prefix_interval" and "restart" in line: - value = splitted_line[-1] - elif arg == "max_prefix_threshold" and len(splitted_line) > 2: - try: - int(splitted_line[2]) - value = splitted_line[2] - except ValueError: - value = "" - elif arg == "max_prefix_warning": - value = "warning-only" in line - elif arg == "soft_reconfiguration_in": - value = "inherit" - for line in splitted_config: - if command in line: - if "always" in line: - value = "always" - else: - value = "enable" - - elif arg == "send_community": - value = "none" - for line in splitted_config: - if command in line: - if "extended" in line: - if value == "standard": - value = "both" - else: - value = "extended" - elif "both" in line: - value = "both" - else: - value = "standard" - - return value - - -def get_existing(module, args, warnings): - existing = {} - netcfg = CustomNetworkConfig(indent=2, contents=get_config(module)) - - asn_regex = re.compile(r".*router\sbgp\s(?P<existing_asn>\d+(\.\d+)?).*", re.S) - match_asn = asn_regex.match(str(netcfg)) - - if match_asn: - existing_asn = match_asn.group("existing_asn") - parents = ["router bgp {0}".format(existing_asn)] - - if module.params["vrf"] != "default": - parents.append("vrf {0}".format(module.params["vrf"])) - - parents.append("neighbor {0}".format(module.params["neighbor"])) - parents.append("address-family {0} {1}".format(module.params["afi"], module.params["safi"])) - config = netcfg.get_section(parents) - - if config: - for arg in args: - if arg not in ["asn", "vrf", "neighbor", "afi", "safi"]: - existing[arg] = get_value(arg, config, module) - - existing["asn"] = existing_asn - existing["neighbor"] = module.params["neighbor"] - existing["vrf"] = module.params["vrf"] - existing["afi"] = module.params["afi"] - existing["safi"] = module.params["safi"] - else: - warnings.append("The BGP process didn't exist but the task just created it.") - - return existing - - -def apply_key_map(key_map, table): - new_dict = {} - for key in table: - new_key = key_map.get(key) - if new_key: - new_dict[new_key] = table.get(key) - - return new_dict - - -def get_default_command(key, value, existing_commands): - command = "" - if existing_commands.get(key): - existing_value = existing_commands.get(key) - if value == "inherit": - if existing_value != "inherit": - command = "no {0}".format(key) - else: - if key == "advertise-map exist-map": - command = "no advertise-map {0} exist-map {1}".format( - existing_value[0], - existing_value[1], - ) - elif key == "advertise-map non-exist-map": - command = "no advertise-map {0} non-exist-map {1}".format( - existing_value[0], - existing_value[1], - ) - elif key == "filter-list in": - command = "no filter-list {0} in".format(existing_value) - elif key == "filter-list out": - command = "no filter-list {0} out".format(existing_value) - elif key == "prefix-list in": - command = "no prefix-list {0} in".format(existing_value) - elif key == "prefix-list out": - command = "no prefix-list {0} out".format(existing_value) - elif key == "route-map in": - command = "no route-map {0} in".format(existing_value) - elif key == "route-map out": - command = "no route-map {0} out".format(existing_value) - elif key.startswith("maximum-prefix"): - command = "no maximum-prefix" - elif key == "allowas-in max": - command = ["no allowas-in {0}".format(existing_value)] - command.append("allowas-in") - else: - command = "no {0} {1}".format(key, existing_value) - else: - if key.replace(" ", "_").replace("-", "_") in BOOL_PARAMS: - command = "no {0}".format(key) - return command - - -def fix_proposed(module, existing, proposed): - allowas_in = proposed.get("allowas_in") - allowas_in_max = proposed.get("allowas_in_max") - - if allowas_in_max and not allowas_in: - proposed.pop("allowas_in_max") - elif allowas_in and allowas_in_max: - proposed.pop("allowas_in") - - if existing.get("send_community") == "none" and proposed.get("send_community") == "default": - proposed.pop("send_community") - return proposed - - -def state_present(module, existing, proposed, candidate): - commands = list() - proposed = fix_proposed(module, existing, proposed) - - proposed_commands = apply_key_map(PARAM_TO_COMMAND_KEYMAP, proposed) - existing_commands = apply_key_map(PARAM_TO_COMMAND_KEYMAP, existing) - for key, value in proposed_commands.items(): - if value in ["inherit", "default"]: - command = get_default_command(key, value, existing_commands) - - if isinstance(command, str): - if command and command not in commands: - commands.append(command) - elif isinstance(command, list): - for cmd in command: - if cmd not in commands: - commands.append(cmd) - - elif key.startswith("maximum-prefix"): - if module.params["max_prefix_limit"] != "default": - command = "maximum-prefix {0}".format(module.params["max_prefix_limit"]) - if module.params["max_prefix_threshold"]: - command += " {0}".format(module.params["max_prefix_threshold"]) - if module.params["max_prefix_interval"]: - command += " restart {0}".format(module.params["max_prefix_interval"]) - elif module.params["max_prefix_warning"]: - command += " warning-only" - commands.append(command) - - elif value is True: - commands.append(key) - elif value is False: - commands.append("no {0}".format(key)) - elif key == "address-family": - commands.append( - "address-family {0} {1}".format(module.params["afi"], module.params["safi"]), - ) - elif key.startswith("capability additional-paths"): - command = key - if value == "disable": - command += " disable" - commands.append(command) - elif key.startswith("advertise-map"): - direction = key.split()[1] - commands.append("advertise-map {1} {0} {2}".format(direction, *value)) - elif key.split()[0] in ["filter-list", "prefix-list", "route-map"]: - commands.append("{1} {0} {2}".format(value, *key.split())) - - elif key == "soft-reconfiguration inbound": - command = "" - if value == "enable": - command = key - elif value == "always": - command = "{0} {1}".format(key, value) - commands.append(command) - elif key == "send-community": - command = key - if value in ["standard", "extended"]: - commands.append("no " + key + " both") - command += " {0}".format(value) - commands.append(command) - else: - command = "{0} {1}".format(key, value) - commands.append(command) - - if commands: - parents = ["router bgp {0}".format(module.params["asn"])] - if module.params["vrf"] != "default": - parents.append("vrf {0}".format(module.params["vrf"])) - - parents.append("neighbor {0}".format(module.params["neighbor"])) - - af_command = "address-family {0} {1}".format(module.params["afi"], module.params["safi"]) - parents.append(af_command) - if af_command in commands: - commands.remove(af_command) - candidate.add(commands, parents=parents) - - -def state_absent(module, existing, candidate): - commands = [] - parents = ["router bgp {0}".format(module.params["asn"])] - if module.params["vrf"] != "default": - parents.append("vrf {0}".format(module.params["vrf"])) - - parents.append("neighbor {0}".format(module.params["neighbor"])) - commands.append("no address-family {0} {1}".format(module.params["afi"], module.params["safi"])) - candidate.add(commands, parents=parents) - - -def main(): - argument_spec = dict( - asn=dict(required=True, type="str"), - vrf=dict(required=False, type="str", default="default"), - neighbor=dict(required=True, type="str"), - afi=dict( - required=True, - type="str", - choices=["ipv4", "ipv6", "vpnv4", "vpnv6", "l2vpn"], - ), - safi=dict(required=True, type="str", choices=["unicast", "multicast", "evpn"]), - additional_paths_receive=dict( - required=False, - type="str", - choices=["enable", "disable", "inherit"], - ), - additional_paths_send=dict( - required=False, - type="str", - choices=["enable", "disable", "inherit"], - ), - advertise_map_exist=dict(required=False, type="list", elements="str"), - advertise_map_non_exist=dict(required=False, type="list", elements="str"), - allowas_in=dict(required=False, type="bool"), - allowas_in_max=dict(required=False, type="str"), - as_override=dict(required=False, type="bool"), - default_originate=dict(required=False, type="bool"), - default_originate_route_map=dict(required=False, type="str"), - disable_peer_as_check=dict(required=False, type="bool"), - filter_list_in=dict(required=False, type="str"), - filter_list_out=dict(required=False, type="str"), - max_prefix_limit=dict(required=False, type="str"), - max_prefix_interval=dict(required=False, type="str"), - max_prefix_threshold=dict(required=False, type="str"), - max_prefix_warning=dict(required=False, type="bool"), - next_hop_self=dict(required=False, type="bool"), - next_hop_third_party=dict(required=False, type="bool"), - prefix_list_in=dict(required=False, type="str"), - prefix_list_out=dict(required=False, type="str"), - route_map_in=dict(required=False, type="str"), - route_map_out=dict(required=False, type="str"), - route_reflector_client=dict(required=False, type="bool"), - send_community=dict( - required=False, - choices=["none", "both", "extended", "standard", "default"], - ), - soft_reconfiguration_in=dict( - required=False, - type="str", - choices=["enable", "always", "inherit"], - ), - soo=dict(required=False, type="str"), - suppress_inactive=dict(required=False, type="bool"), - unsuppress_map=dict(required=False, type="str"), - weight=dict(required=False, type="str"), - state=dict(choices=["present", "absent"], default="present", required=False), - rewrite_evpn_rt_asn=dict(required=False, type="bool"), - ) - - module = AnsibleModule( - argument_spec=argument_spec, - mutually_exclusive=[ - ["advertise_map_exist", "advertise_map_non_exist"], - ["max_prefix_interval", "max_prefix_warning"], - ["default_originate", "default_originate_route_map"], - ["allowas_in", "allowas_in_max"], - ], - supports_check_mode=True, - ) - - warnings = list() - result = dict(changed=False, warnings=warnings) - - state = module.params["state"] - for key in [ - "max_prefix_interval", - "max_prefix_warning", - "max_prefix_threshold", - ]: - if module.params[key] and not module.params["max_prefix_limit"]: - module.fail_json(msg="max_prefix_limit is required when using %s" % key) - if module.params["vrf"] == "default" and module.params["soo"]: - module.fail_json(msg="SOO is only allowed in non-default VRF") - - args = PARAM_TO_COMMAND_KEYMAP.keys() - existing = get_existing(module, args, warnings) - - if existing.get("asn") and state == "present": - if existing.get("asn") != module.params["asn"]: - module.fail_json( - msg="Another BGP ASN already exists.", - proposed_asn=module.params["asn"], - existing_asn=existing.get("asn"), - ) - - for param in ["advertise_map_exist", "advertise_map_non_exist"]: - if module.params[param] == ["default"]: - module.params[param] = "default" - - proposed_args = dict((k, v) for k, v in module.params.items() if v is not None and k in args) - - proposed = {} - for key, value in proposed_args.items(): - if key not in ["asn", "vrf", "neighbor"]: - if not isinstance(value, list): - if str(value).lower() == "true": - value = True - elif str(value).lower() == "false": - value = False - elif str(value).lower() == "default": - if key in BOOL_PARAMS: - value = False - else: - value = "default" - elif key == "send_community" and str(value).lower() == "none": - value = "default" - if existing.get(key) != value: - proposed[key] = value - - candidate = CustomNetworkConfig(indent=3) - if state == "present": - state_present(module, existing, proposed, candidate) - elif state == "absent" and existing: - state_absent(module, existing, candidate) - - if candidate: - candidate = candidate.items_text() - if not module.check_mode: - responses = load_config(module, candidate) - if responses: - for resp in responses: - if resp: - if resp.endswith("is valid only for EBGP peers"): - module.fail_json(msg=resp) - result["changed"] = True - result["commands"] = candidate - else: - result["commands"] = [] - - module.exit_json(**result) - - -if __name__ == "__main__": - main() diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_templates.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_templates.py new file mode 100644 index 000000000..9ad53e348 --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_bgp_templates.py @@ -0,0 +1,1015 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Copyright 2023 Red Hat +# GNU General Public License v3.0+ +# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +""" +The module file for nxos_bgp_templates +""" + +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +DOCUMENTATION = """ +module: nxos_bgp_templates +short_description: BGP Templates resource module. +description: +- This module manages BGP templates on devices running Cisco NX-OS. +version_added: 4.2.0 +notes: +- Tested against NX-OS 9.3.6. +- Unsupported for Cisco MDS +- This module works with connection C(network_cli) and C(httpapi). +author: Nilashish Chakraborty (@NilashishC) +options: + running_config: + description: + - This option is used only with state I(parsed). + - The value of this option should be the output received from the NX-OS device + by executing the command B(show running-config bgp | section 'template'). + - The state I(parsed) reads the configuration from C(running_config) option and + transforms it into Ansible structured data as per the resource module's argspec + and the value is then returned in the I(parsed) key within the result. + type: str + config: + description: A list of BGP templates. + type: dict + suboptions: + as_number: + description: Autonomous System Number of the router. + type: str + neighbor: + description: Configure BGP peer templates. + type: list + elements: dict + suboptions: + name: + description: Name of the BGP peer template. + type: str + address_family: + description: Configure an address-family for peer. + type: list + elements: dict + suboptions: + afi: + description: Address Family indicator. + type: str + choices: ["ipv4", "ipv6", "link-state", "l2vpn"] + required: True + safi: + description: Sub Address Family indicator. + type: str + choices: ["unicast", "multicast", "mvpn", "evpn"] + advertise_map: + description: Specify route-map for conditional advertisement. + type: dict + suboptions: + route_map: + description: Route-map name. + type: str + required: True + exist_map: + description: Condition route-map to advertise only when prefix in condition exists. + type: str + non_exist_map: + description: Condition route-map to advertise only when prefix in condition does not exist. + type: str + advertisement_interval: + description: Minimum interval between sending BGP routing updates. + type: int + allowas_in: + description: Accept as-path with my AS present in it. + type: dict + suboptions: + set: + description: Activate allowas-in property. + type: bool + max_occurences: + description: Number of occurrences of AS number, default is 3. + type: int + as_override: + description: Override matching AS-number while sending update. + type: bool + capability: + description: Advertise capability to the peer. + type: dict + suboptions: + additional_paths: + description: Additional paths capability. + type: dict + suboptions: + receive: + description: Additional paths Receive capability. + type: str + choices: ["enable", "disable"] + send: + description: Additional paths Send capability. + type: str + choices: ["enable", "disable"] + default_originate: + description: Originate a default toward this peer. + type: dict + suboptions: + set: + description: Set default-originate attribute. + type: bool + route_map: + description: Route-map to specify criteria for originating default. + type: str + disable_peer_as_check: + description: Disable checking of peer AS-number while advertising. + type: bool + filter_list: + description: Name of filter-list. + type: dict + suboptions: + inbound: + description: Apply policy to incoming routes. + type: str + outbound: + description: Apply policy to outgoing routes. + type: str + inherit: + description: Inherit a peer-policy template. + type: dict + suboptions: + peer_policy: + description: Peer-policy template to inherit. + type: str + maximum_prefix: + description: Maximum number of prefixes from this neighbor. + type: dict + suboptions: + max_prefix_limit: + description: Maximum prefix limit. + type: int + generate_warning_threshold: + description: Threshold percentage at which to generate a warning. + type: int + restart_interval: + description: Restart bgp connection after limit is exceeded. + type: int + warning_only: + description: Only give a warning message when limit is exceeded. + type: bool + next_hop_self: + description: Set our address as nexthop (non-reflected). + type: dict + suboptions: + set: + description: Set next-hop-self attribute. + type: bool + all_routes: + description: Set our address as nexthop for all routes. + type: bool + next_hop_third_party: + description: Compute a third-party nexthop if possible. + type: bool + prefix_list: + description: Apply prefix-list. + type: dict + suboptions: + inbound: + description: Apply policy to incoming routes. + type: str + outbound: + description: Apply policy to outgoing routes. + type: str + route_map: + description: Apply route-map to neighbor. + type: dict + suboptions: + inbound: + description: Name of policy to apply to incoming routes. + type: str + outbound: + description: Name of policy to apply to outgoing routes. + type: str + route_reflector_client: + description: Configure a neighbor as Route reflector client. + type: bool + send_community: + description: Send Community attribute to this neighbor. + type: str + choices: ["standard", "extended", "both"] + soft_reconfiguration_inbound: + description: Soft reconfiguration. + type: dict + suboptions: + set: + description: Set soft-reconfiguration inbound attribute. + type: bool + always: + description: Always perform inbound soft reconfiguration. + type: bool + soo: + description: Specify Site-of-origin extcommunity. + type: str + suppress_inactive: + description: Advertise only active routes to peer. + type: bool + unsuppress_map: + description: Route-map to selectively unsuppress suppressed routes. + type: str + weight: + description: Set default weight for routes from this neighbor. + type: int + bfd: + description: Bidirectional Fast Detection for the neighbor. + type: dict + suboptions: + set: + description: Set BFD for this neighbor. + type: bool + singlehop: + description: Single-hop session. + type: bool + multihop: + description: Multihop session. + type: dict + suboptions: + set: + description: Set BFD multihop. + type: bool + interval: + description: Configure BFD session interval parameters. + type: dict + suboptions: + tx_interval: + description: TX interval in milliseconds. + type: int + required: true + min_rx_interval: + description: Minimum RX interval. + type: int + required: true + multiplier: + description: Detect Multiplier. + type: int + required: true + bmp_activate_server: + description: Specify server ID for activating BMP monitoring for the peer. + type: int + capability: + description: Capability. + type: dict + suboptions: + suppress_4_byte_as: + description: Suppress 4-byte AS Capability. + type: bool + description: + description: Neighbor specific descripion. + type: str + disable_connected_check: + description: Disable check for directly connected peer. + type: bool + dont_capability_negotiate: + description: Don't negotiate capability with this neighbor. + type: bool + dscp: + description: Set dscp value for tcp transport. + type: str + dynamic_capability: + description: Dynamic Capability + type: bool + ebgp_multihop: + description: Specify multihop TTL for remote peer. + type: int + graceful_shutdown: + description: Graceful-shutdown for this neighbor. + type: dict + suboptions: + activate: + description: Send graceful-shutdown community. + type: dict + suboptions: + set: + description: Set activate. + type: bool + route_map: + description: Apply route-map to modify attributes for outbound. + type: str + inherit: + description: Inherit a template. + type: dict + suboptions: + peer_session: + description: Peer-session template to inherit. + type: str + local_as: + description: Specify the local-as number for the eBGP neighbor. + type: str + log_neighbor_changes: + description: Log message for neighbor up/down event. + type: dict + suboptions: + set: + description: + - Set log-neighbor-changes. + type: bool + disable: + description: + - Disable logging of neighbor up/down event. + type: bool + low_memory: + description: Behaviour in low memory situations. + type: dict + suboptions: + exempt: + description: Do not shutdown this peer when under memory pressure. + type: bool + password: + description: Configure a password for neighbor. + type: dict + suboptions: + encryption: + description: + - 0 specifies an UNENCRYPTED neighbor password. + - 3 specifies an 3DES ENCRYPTED neighbor password will follow. + - 7 specifies a Cisco type 7 ENCRYPTED neighbor password will follow. + type: int + key: + description: Authentication password. + type: str + path_attribute: + description: BGP path attribute optional filtering. + type: list + elements: dict + suboptions: + action: + description: Action. + type: str + choices: ["discard", "treat-as-withdraw"] + type: + description: Path attribute type + type: int + range: + description: Path attribute range. + type: dict + suboptions: + start: + description: Path attribute range start value. + type: int + end: + description: Path attribute range end value. + type: int + remote_as: + description: Specify Autonomous System Number of the neighbor. + type: str + remove_private_as: + description: Remove private AS number from outbound updates. + type: dict + suboptions: + set: + description: Remove private AS. + type: bool + replace_as: + description: Replace. + type: bool + all: + description: All. + type: bool + shutdown: + description: Administratively shutdown this neighbor. + type: bool + timers: + description: Configure keepalive and hold timers. + type: dict + suboptions: + keepalive: + description: Keepalive interval (seconds). + type: int + holdtime: + description: Holdtime (seconds). + type: int + transport: + description: BGP transport connection. + type: dict + suboptions: + connection_mode: + description: Specify type of connection. + type: dict + suboptions: + passive: + description: Allow passive connection setup only. + type: bool + ttl_security: + description: Enable TTL Security Mechanism. + type: dict + suboptions: + hops: + description: Specify hop count for remote peer. + type: int + update_source: + description: Specify source of BGP session and updates. + type: str + state: + description: + - The state the configuration should be left in. + - Refer to examples for more details. + type: str + choices: + - merged + - replaced + - overridden + - deleted + - parsed + - gathered + - rendered + default: merged +""" + +EXAMPLES = """ +# Using merged + +# Before state: +# -------------- +# +# nxos9k# show running-config | section "^router bgp" +# nxos9k# + +- name: Merge the provided configuration with the existing running configuration + cisco.nxos.nxos_bgp_templates: + config: + as_number: 65536 + neighbor: + - name: neighbor_tmplt_1 + address_family: + - afi: ipv4 + safi: unicast + advertise_map: + route_map: rmap1 + non_exist_map: nemap1 + advertisement_interval: 60 + disable_peer_as_check: true + bmp_activate_server: 2 + capability: + suppress_4_byte_as: true + description: Test_BGP_PEER_TEMPLATE_1 + local_as: 65536 + remote_as: 65001 + + - name: neighbor_tmplt_2 + description: Test_BGP_PEER_TEMPLATE_2 + address_family: + - afi: ipv4 + safi: multicast + advertise_map: + route_map: rmap1 + exist_map: emap1 + as_override: true + filter_list: + inbound: flist1 + outbound: flist2 + inherit: + peer_session: psession1 + timers: + holdtime: 100 + keepalive: 45 +# Task Output: +# ------------ +# before: {} +# +# commands: +# - router bgp 65536 +# - template peer neighbor_tmplt_1 +# - bmp-activate-server 2 +# - capability suppress 4-byte-as +# - description Test_BGP_PEER_TEMPLATE_1 +# - local-as 65536 +# - remote-as 65001 +# - address-family ipv4 unicast +# - advertise-map rmap1 non-exist-map nemap1 +# - advertisement-interval 60 +# - disable-peer-as-check +# - template peer neighbor_tmplt_2 +# - description Test_BGP_PEER_TEMPLATE_2 +# - inherit peer-session psession1 +# - timers 45 100 +# - address-family ipv4 multicast +# - advertise-map rmap1 exist-map emap1 +# - as-override +# - filter-list flist1 in +# - filter-list flist2 out +# +# after: +# as_number: "65536" +# neighbor: +# - name: neighbor_tmplt_1 +# address_family: +# - afi: ipv4 +# safi: unicast +# advertise_map: +# non_exist_map: nemap1 +# route_map: rmap1 +# advertisement_interval: 60 +# disable_peer_as_check: true +# bmp_activate_server: 2 +# capability: +# suppress_4_byte_as: true +# description: Test_BGP_PEER_TEMPLATE_1 +# local_as: "65536" +# remote_as: "65001" +# +# - name: neighbor_tmplt_2 +# description: Test_BGP_PEER_TEMPLATE_2 +# address_family: +# - afi: ipv4 +# safi: multicast +# advertise_map: +# exist_map: emap1 +# route_map: rmap1 +# as_override: true +# filter_list: +# inbound: flist1 +# outbound: flist2 +# inherit: +# peer_session: psession1 +# timers: +# holdtime: 100 +# keepalive: 45 + +# After state: +# -------------- +# +# nxos9k# show running-config | section "^router bgp" +# router bgp 65536 +# template peer neighbor_tmplt_1 +# capability suppress 4-byte-as +# bmp-activate-server 2 +# description Test_BGP_PEER_TEMPLATE_1 +# local-as 65536 +# remote-as 65001 +# address-family ipv4 unicast +# advertise-map rmap1 non-exist-map nemap1 +# advertisement-interval 60 +# disable-peer-as-check +# template peer neighbor_tmplt_2 +# description Test_BGP_PEER_TEMPLATE_2 +# inherit peer-session psession1 +# timers 45 100 +# address-family ipv4 multicast +# advertise-map rmap1 exist-map emap1 +# as-override +# filter-list flist1 in +# filter-list flist2 out + +# Using replaced + +# Before state: +# ------------- +# +# nxos9k# show running-config | section "^router bgp" +# router bgp 65536 +# template peer neighbor_tmplt_1 +# capability suppress 4-byte-as +# description Test_BGP_PEER_TEMPLATE_1 +# bmp-activate-server 2 +# local-as 65536 +# remote-as 65001 +# address-family ipv4 unicast +# advertise-map rmap1 non-exist-map nemap1 +# advertisement-interval 60 +# disable-peer-as-check +# template peer neighbor_tmplt_2 +# description Test_BGP_PEER_TEMPLATE_2 +# inherit peer-session psession1 +# timers 45 100 +# address-family ipv4 multicast +# advertise-map rmap1 exist-map emap1 +# as-override +# filter-list flist1 in +# filter-list flist2 out + +- name: Replace BGP templates configuration with provided configuration + cisco.nxos.nxos_bgp_templates: + config: + as_number: 65536 + neighbor: + - name: neighbor_tmplt_1 + address_family: + - afi: ipv4 + safi: unicast + advertise_map: + route_map: rmap1 + non_exist_map: nemap1 + advertisement_interval: 60 + disable_peer_as_check: true + inherit: + peer_session: psession1 + description: Test_BGP_PEER_TEMPLATE_1 + local_as: 65537 + state: replaced + +# Task output: +# ------------ +# +# before: +# as_number: "65536" +# neighbor: +# - name: neighbor_tmplt_1 +# address_family: +# - afi: ipv4 +# safi: unicast +# advertise_map: +# non_exist_map: nemap1 +# route_map: rmap1 +# advertisement_interval: 60 +# disable_peer_as_check: true +# bmp_activate_server: 2 +# capability: +# suppress_4_byte_as: true +# description: Test_BGP_PEER_TEMPLATE_1 +# local_as: "65536" +# remote_as: "65001" +# +# - name: neighbor_tmplt_2 +# description: Test_BGP_PEER_TEMPLATE_2 +# address_family: +# - afi: ipv4 +# safi: multicast +# advertise_map: +# exist_map: emap1 +# route_map: rmap1 +# as_override: true +# filter_list: +# inbound: flist1 +# outbound: flist2 +# inherit: +# peer_session: psession1 +# timers: +# holdtime: 100 +# keepalive: 45 +# +# commands: +# - router bgp 65536 +# - template peer neighbor_tmplt_1 +# - no bmp-activate-server 2 +# - no capability suppress 4-byte-as +# - inherit peer-session psession1 +# - local-as 65537 +# - no remote-as 65001 +# +# after: +# as_number: "65536" +# neighbor: +# - name: neighbor_tmplt_1 +# address_family: +# - afi: ipv4 +# safi: unicast +# advertise_map: +# non_exist_map: nemap1 +# route_map: rmap1 +# advertisement_interval: 60 +# disable_peer_as_check: true +# description: Test_BGP_PEER_TEMPLATE_1 +# inherit: +# peer_session: psession1 +# local_as: "65537" +# +# - name: neighbor_tmplt_2 +# description: Test_BGP_PEER_TEMPLATE_2 +# address_family: +# - afi: ipv4 +# safi: multicast +# advertise_map: +# exist_map: emap1 +# route_map: rmap1 +# as_override: true +# filter_list: +# inbound: flist1 +# outbound: flist2 +# inherit: +# peer_session: psession1 +# timers: +# holdtime: 100 +# keepalive: 45 + +# After state: +# ------------ +# +# nxos9k# show running-config | section "^router bgp" +# router bgp 65536 +# template peer neighbor_tmplt_1 +# inherit peer-session psession1 +# description Test_BGP_PEER_TEMPLATE_1 +# local-as 65537 +# address-family ipv4 unicast +# advertise-map rmap1 non-exist-map nemap1 +# advertisement-interval 60 +# disable-peer-as-check +# template peer neighbor_tmplt_2 +# description Test_BGP_PEER_TEMPLATE_2 +# inherit peer-session psession1 +# bmp-activate-server 2 +# timers 45 100 +# address-family ipv4 multicast +# advertise-map rmap1 exist-map emap1 +# as-override +# filter-list flist1 in +# filter-list flist2 out + +# Using overridden +# +# Before state: +# ------------- +# +# nxos9k# show running-config | section "^router bgp" +# router bgp 65536 +# template peer neighbor_tmplt_1 +# capability suppress 4-byte-as +# description Test_BGP_PEER_TEMPLATE_1 +# bmp-activate-server 2 +# local-as 65536 +# remote-as 65001 +# address-family ipv4 unicast +# advertise-map rmap1 non-exist-map nemap1 +# advertisement-interval 60 +# disable-peer-as-check +# template peer neighbor_tmplt_2 +# description Test_BGP_PEER_TEMPLATE_2 +# inherit peer-session psession1 +# timers 45 100 +# address-family ipv4 multicast +# advertise-map rmap1 exist-map emap1 +# as-override +# filter-list flist1 in +# filter-list flist2 out + +- name: Override BGP templates configuration with provided configuration + cisco.nxos.nxos_bgp_templates: + config: + as_number: 65536 + neighbor: + - name: neighbor_tmplt_1 + address_family: + - afi: ipv4 + safi: unicast + advertise_map: + route_map: rmap1 + non_exist_map: nemap1 + advertisement_interval: 60 + disable_peer_as_check: true + inherit: + peer_session: psession1 + description: Test_BGP_PEER_TEMPLATE_1 + local_as: 65537 + state: overridden + +# Task output: +# ------------ +# +# before: +# as_number: "65536" +# neighbor: +# - name: neighbor_tmplt_1 +# address_family: +# - afi: ipv4 +# safi: unicast +# advertise_map: +# non_exist_map: nemap1 +# route_map: rmap1 +# advertisement_interval: 60 +# disable_peer_as_check: true +# bmp_activate_server: 2 +# capability: +# suppress_4_byte_as: true +# description: Test_BGP_PEER_TEMPLATE_1 +# local_as: "65536" +# remote_as: "65001" +# +# - name: neighbor_tmplt_2 +# description: Test_BGP_PEER_TEMPLATE_2 +# address_family: +# - afi: ipv4 +# safi: multicast +# advertise_map: +# exist_map: emap1 +# route_map: rmap1 +# as_override: true +# filter_list: +# inbound: flist1 +# outbound: flist2 +# inherit: +# peer_session: psession1 +# timers: +# holdtime: 100 +# keepalive: 45 +# +# commands: +# - router bgp 65536 +# - template peer neighbor_tmplt_1 +# - no bmp-activate-server 2 +# - no capability suppress 4-byte-as +# - inherit peer-session psession1 +# - local-as 65537 +# - no remote-as 65001 +# - no template peer neighbor_tmplt_2 +# +# after: +# as_number: "65536" +# neighbor: +# - name: neighbor_tmplt_1 +# address_family: +# - afi: ipv4 +# safi: unicast +# advertise_map: +# non_exist_map: nemap1 +# route_map: rmap1 +# advertisement_interval: 60 +# disable_peer_as_check: true +# description: Test_BGP_PEER_TEMPLATE_1 +# inherit: +# peer_session: psession1 +# local_as: "65537" + +# After state: +# ------------ +# +# nxos9k# show running-config | section "^router bgp" +# router bgp 65536 +# template peer neighbor_tmplt_1 +# inherit peer-session psession1 +# description Test_BGP_PEER_TEMPLATE_1 +# local-as 65537 +# address-family ipv4 unicast +# advertise-map rmap1 non-exist-map nemap1 +# advertisement-interval 60 +# disable-peer-as-check + +# Using deleted + +# Before state: +# -------------- +# +# nxos9k# show running-config | section "^router bgp" +# router bgp 65536 +# template peer neighbor_tmplt_1 +# capability suppress 4-byte-as +# description Test_BGP_PEER_TEMPLATE_1 +# bmp-activate-server 2 +# local-as 65536 +# remote-as 65001 +# address-family ipv4 unicast +# advertise-map rmap1 non-exist-map nemap1 +# advertisement-interval 60 +# disable-peer-as-check +# template peer neighbor_tmplt_2 +# description Test_BGP_PEER_TEMPLATE_2 +# inherit peer-session psession1 +# timers 45 100 +# address-family ipv4 multicast +# advertise-map rmap1 exist-map emap1 +# as-override +# filter-list flist1 in +# filter-list flist2 out + +- name: Delete BGP configs handled by this module + cisco.nxos.nxos_bgp_templates: + state: deleted + +# Task output: +# ------------ +# +# before: +# as_number: "65536" +# neighbor: +# - name: neighbor_tmplt_1 +# address_family: +# - afi: ipv4 +# safi: unicast +# advertise_map: +# non_exist_map: nemap1 +# route_map: rmap1 +# advertisement_interval: 60 +# disable_peer_as_check: true +# bmp_activate_server: 2 +# capability: +# suppress_4_byte_as: true +# description: Test_BGP_PEER_TEMPLATE_1 +# local_as: "65536" +# remote_as: "65001" +# +# - name: neighbor_tmplt_2 +# description: Test_BGP_PEER_TEMPLATE_2 +# address_family: +# - afi: ipv4 +# safi: multicast +# advertise_map: +# exist_map: emap1 +# route_map: rmap1 +# as_override: true +# filter_list: +# inbound: flist1 +# outbound: flist2 +# inherit: +# peer_session: psession1 +# timers: +# holdtime: 100 +# keepalive: 45 +# +# commands: +# - router bgp 65536 +# - no template peer neighbor_tmplt_1 +# - no template peer neighbor_tmplt_2 +# +# after: {} + +# After state: +# ------------- +# nxos9k# show running-config | section "^router bgp" +# nxos9k# +""" + +RETURN = """ +before: + description: The configuration prior to the module execution. + returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) + type: dict + sample: > + This output will always be in the same format as the + module argspec. +after: + description: The resulting configuration after module execution. + returned: when changed + type: dict + sample: > + This output will always be in the same format as the + module argspec. +commands: + description: The set of commands pushed to the remote device. + returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) + type: list + sample: + - router bgp 65536 + - template peer neighbor_tmplt_1 + - no bmp-activate-server 2 + - no capability suppress 4-byte-as + - inherit peer-session psession1 + - local-as 65537 + - no remote-as 65001 + - no template peer neighbor_tmplt_2 +rendered: + description: The provided configuration in the task rendered in device-native format (offline). + returned: when I(state) is C(rendered) + type: list + sample: + - router bgp 65536 + - template peer neighbor_tmplt_1 + - bmp-activate-server 2 + - no capability suppress 4-byte-as + - no template peer neighbor_tmplt_2 +gathered: + description: Facts about the network resource gathered from the remote device as structured data. + returned: when I(state) is C(gathered) + type: dict + sample: > + This output will always be in the same format as the + module argspec. +parsed: + description: The device native config provided in I(running_config) option parsed into structured data as per module argspec. + returned: when I(state) is C(parsed) + type: dict + sample: > + This output will always be in the same format as the + module argspec. +""" + +from ansible.module_utils.basic import AnsibleModule + +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.argspec.bgp_templates.bgp_templates import ( + Bgp_templatesArgs, +) +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.config.bgp_templates.bgp_templates import ( + Bgp_templates, +) + + +def main(): + """ + Main entry point for module execution + + :returns: the result form module invocation + """ + module = AnsibleModule( + argument_spec=Bgp_templatesArgs.argument_spec, + mutually_exclusive=[["config", "running_config"]], + required_if=[ + ["state", "merged", ["config"]], + ["state", "replaced", ["config"]], + ["state", "overridden", ["config"]], + ["state", "rendered", ["config"]], + ["state", "parsed", ["running_config"]], + ], + supports_check_mode=True, + ) + + result = Bgp_templates(module).execute_module() + module.exit_json(**result) + + +if __name__ == "__main__": + main() diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_config.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_config.py index 8cccae68f..132a62d28 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_config.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_config.py @@ -415,9 +415,9 @@ def main(): mutually_exclusive = [("lines", "src", "replace_src"), ("parents", "src")] required_if = [ - ("match", "strict", ["lines"]), - ("match", "exact", ["lines"]), - ("replace", "block", ["lines"]), + ("match", "strict", ["lines", "src"], True), + ("match", "exact", ["lines", "src"], True), + ("replace", "block", ["lines", "src"], True), ("replace", "config", ["replace_src"]), ("diff_against", "intended", ["intended_config"]), ] diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_fc_interfaces.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_fc_interfaces.py new file mode 100644 index 000000000..b0c58a5e3 --- /dev/null +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_fc_interfaces.py @@ -0,0 +1,590 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Copyright 2023 Red Hat +# GNU General Public License v3.0+ +# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +""" +The module file for nxos_fc_interfaces +""" + +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +DOCUMENTATION = """ +--- +module: nxos_fc_interfaces +short_description: Fc Interfaces resource module +description: This module manages the interface attributes of NX-OS fc interfaces. +version_added: 5.2.0 +author: Suhas Bharadwaj (@srbharadwaj) +notes: + - Tested against NXOS 9.3(2) on Cisco MDS Switches +options: + running_config: + description: + - This option is used only with state I(parsed). + - The value of this option should be the output received from the NX-OS + device by executing the command B(show running-config interface) + - The state I(parsed) reads the configuration from C(running_config) + option and transforms it into Ansible structured data as per the + resource module's argspec and the value is then returned in the + I(parsed) key within the result. + type: str + config: + description: A dictionary of interface options + type: list + elements: dict + suboptions: + name: + description: + - Full name of interface, e.g. fc1/1, fc18/48 + type: str + required: true + description: + description: + - Interface description. + type: str + enabled: + description: + - Administrative state of the interface. Set the value to C(true) to + administratively enable the interface or C(false) to disable it + type: bool + speed: + description: + - Interface link speed. + choices: + - 'auto' + - '1000' + - '2000' + - '4000' + - '8000' + - '10000' + - '16000' + - '32000' + - '64000' + - 'auto max 2000' + - 'auto max 4000' + - 'auto max 8000' + - 'auto max 16000' + - 'auto max 32000' + - 'auto max 64000' + type: str + mode: + description: + - Port mode of the fc interface + choices: + - 'auto' + - 'E' + - 'F' + - 'Fx' + - 'NP' + - 'SD' + type: str + trunk_mode: + description: + - Trunk mode of the fc interface + choices: + - 'auto' + - 'on' + - 'off' + type: str + analytics: + description: + - Analytics type on the fc interface + choices: + - 'fc-scsi' + - 'fc-nvme' + - 'fc-all' + type: str + state: + description: + - The state of the configuration after module completion + type: str + choices: + - merged + - replaced + - overridden + - deleted + - gathered + - rendered + - parsed + default: merged +""" +EXAMPLES = """ +# Using merged + +# Before state: +# ------------- +# +# switch# show running-config interface all +# interface fc18/10 +# analytics type fc-nvme +# switchport speed auto max 16000 +# switchport mode auto +# switchport description $ +# switchport trunk mode on +# shutdown + +- name: Merge provided configuration with device configuration + cisco.nxos.nxos_fc_interfaces: + config: + - name: fc18/10 + analytics: fc-scsi + state: merged + +# Task Output +# ----------- +# +# before: +# - name: fc18/10 +# speed: auto max 16000 +# mode: auto +# trunk_mode: on +# enabled: False +# description: $ +# analytics: fc-nvme +# commands: +# - interface fc18/10 +# - analytics type fc-scsi +# after: +# - name: fc18/10 +# speed: auto max 16000 +# mode: auto +# trunk_mode: on +# enabled: False +# description: $ +# analytics: fc-all + +# After state: +# ------------ +# +# switch# show running-config interface all +# interface fc18/10 +# analytics type fc-scsi +# analytics type fc-nvme +# switchport speed auto max 16000 +# switchport mode auto +# switchport description $ +# switchport trunk mode on +# shutdown + +# Using replaced + +# Before state: +# ------------- +# +# switch# show running-config interface all +# interface fc18/12 +# analytics type fc-scsi +# analytics type fc-nvme +# switchport speed auto max 64000 +# switchport mode auto +# switchport description 1 +# switchport trunk mode on +# no shutdown + +- name: Replaces device configuration of listed interfaces with provided configuration + cisco.nxos.nxos_fc_interfaces: + config: + - name: fc18/12 + speed: auto max 64000 + mode: auto + trunk_mode: on + enabled: True + description: 1 + analytics: fc-scsi + state: replaced + +# Task Output +# ----------- +# +# before: +# - name: fc18/12 +# speed: auto max 64000 +# mode: auto +# trunk_mode: on +# enabled: True +# description: 1 +# analytics: fc-all +# commands: +# - interface fc18/12 +# - no analytics type fc-all +# - analytics type fc-scsi +# after: +# - name: fc18/12 +# speed: auto max 64000 +# mode: auto +# trunk_mode: on +# enabled: True +# description: 1 +# analytics: fc-scsi + +# After state: +# ------------ +# +# switch# show running-config interface all +# interface fc18/12 +# analytics type fc-scsi +# switchport speed auto max 64000 +# switchport mode auto +# switchport description 1 +# switchport trunk mode on +# no shutdown + + +# Using deleted + +# Before state: +# ------------- +# +# switch# show running-config interface all +# interface fc1/2 +# switchport speed 1000 +# switchport mode E +# no switchport description +# switchport trunk mode off +# no shutdown + +- name: Delete or return interface parameters to default settings + cisco.nxos.nxos_fc_interfaces: + config: + - name: fc1/2 + state: deleted + +# Task Output +# ----------- +# +# before: +# - name: fc1/2 +# speed: 1000 +# mode: E +# trunk_mode: off +# enabled: True +# commands: +# - interface fc1/2 +# - no switchport speed 1000 +# - no switchport mode E +# - switchport trunk mode on +# - shutdown +# after: +# - name: fc1/2 +# speed: auto +# mode: auto +# trunk_mode: on +# enabled: False + +# After state: +# ------------ +# +# switch# show running-config interface all +# interface fc1/2 +# switchport speed auto +# switchport mode auto +# no switchport description +# switchport trunk mode on +# shutdown + +# Using overridden + +# Before state: +# ------------- +# +# switch# show running-config interface all +# interface fc18/12 +# analytics type fc-scsi +# analytics type fc-nvme +# switchport speed auto max 64000 +# switchport mode auto +# switchport description 1 +# switchport trunk mode on +# no shutdown +# interface fc18/13 +# analytics type fc-scsi +# analytics type fc-nvme +# switchport speed auto max 64000 +# switchport mode auto +# switchport description 1 +# switchport trunk mode on +# no shutdown + +- name: Replaces device configuration of listed interfaces with provided configuration + cisco.nxos.nxos_fc_interfaces: + config: + - name: fc18/12 + speed: auto max 64000 + mode: auto + trunk_mode: on + enabled: True + description: 1 + analytics: fc-scsi + state: overridden + +# Task Output +# ----------- +# +# before: +# - name: fc18/12 +# speed: auto max 64000 +# mode: auto +# trunk_mode: on +# enabled: True +# description: 1 +# analytics: fc-all +# - name: fc18/13 +# speed: auto max 64000 +# mode: auto +# trunk_mode: on +# enabled: True +# description: 1 +# analytics: fc-all +# commands: +# - interface fc18/12 +# no analytics type fc-all +# analytics type fc-scsi +# - interface fc18/13 +# no switchport description +# no switchport speed auto max 64000 +# no switchport mode auto +# switchport trunk mode on +# shutdown +# after: +# - name: fc18/12 +# speed: auto max 64000 +# mode: auto +# trunk_mode: on +# enabled: True +# description: 1 +# analytics: fc-scsi +# - name: fc18/13 +# speed: auto max 64000 +# mode: auto +# trunk_mode: on +# enabled: False + +# After state: +# ------------ +# +# switch# show running-config interface all +# interface fc18/12 +# analytics type fc-scsi +# switchport speed auto max 64000 +# switchport mode auto +# switchport description 1 +# switchport trunk mode on +# no shutdown +# interface fc18/13 +# switchport mode auto +# switchport trunk mode on +# shutdown + + + + + + + +# Using rendered + +- name: Use rendered state to convert task input to device specific commands + cisco.nxos.nxos_fc_interfaces: + config: + - name: fc1/1 + speed: auto + mode: auto + trunk_mode: on + enabled: True + description: This is a sample line + - name: fc1/2 + speed: 1000 + mode: E + trunk_mode: off + enabled: True + state: rendered + +# Task Output +# ----------- +# +# rendered: +# interface fc1/1 +# switchport speed auto +# switchport mode auto +# switchport description This is a sample line +# switchport trunk mode on +# no shutdown +# +# interface fc1/2 +# switchport speed 1000 +# switchport mode E +# no switchport description +# switchport trunk mode off +# no shutdown + +# Using parsed + +# parsed.cfg +# ------------ +# +# interface fc1/1 +# switchport speed auto +# switchport mode auto +# switchport description This is a sample line +# switchport trunk mode on +# no shutdown +# +# interface fc1/2 +# switchport speed 1000 +# switchport mode E +# no switchport description +# switchport trunk mode off +# no shutdown + +- name: Use parsed state to convert externally supplied config to structured format + cisco.nxos.nxos_fc_interfaces: + running_config: "{{ lookup('file', 'parsed.cfg') }}" + state: parsed + +# Task output +# ----------- +# +# parsed: +# - name: fc1/1 +# speed: auto +# mode: auto +# trunk_mode: on +# enabled: True +# description: This is a sample line +# - name: fc1/2 +# speed: 1000 +# mode: E +# trunk_mode: off +# enabled: True + +# Using gathered + +# Before state: +# ------------- +# +# switch# show running-config | section interface +# interface fc1/1 +# switchport speed auto +# switchport mode auto +# switchport description This is a sample line +# switchport trunk mode on +# no shutdown +# +# interface fc1/2 +# switchport speed 1000 +# switchport mode E +# no switchport description +# switchport trunk mode off +# no shutdown +# +- name: Gather interfaces facts from the device using nxos_fc_interfaces + cisco.nxos.nxos_fc_interfaces: + state: gathered +# +# Task output +# ----------- +# +# - name: fc1/1 +# speed: auto +# mode: auto +# trunk_mode: on +# enabled: True +# description: This is a sample line +# - name: fc1/2 +# speed: 1000 +# mode: E +# trunk_mode: off +# enabled: True + + + + +""" + +RETURN = """ +before: + description: The configuration prior to the module execution. + returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) + type: dict + sample: > + This output will always be in the same format as the + module argspec. +after: + description: The resulting configuration after module execution. + returned: when changed + type: dict + sample: > + This output will always be in the same format as the + module argspec. +commands: + description: The set of commands pushed to the remote device. + returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) + type: list + sample: + - interface fc1/1 + - description sample description + - shutdown +rendered: + description: The provided configuration in the task rendered in device-native format (offline). + returned: when I(state) is C(rendered) + type: list + sample: + - interface fc1/1 + - description sample description + - shutdown +gathered: + description: Facts about the network resource gathered from the remote device as structured data. + returned: when I(state) is C(gathered) + type: list + sample: > + This output will always be in the same format as the + module argspec. +parsed: + description: The device native config provided in I(running_config) option parsed into structured data as per module argspec. + returned: when I(state) is C(parsed) + type: list + sample: > + This output will always be in the same format as the + module argspec. +""" + +from ansible.module_utils.basic import AnsibleModule + +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.argspec.fc_interfaces.fc_interfaces import ( + Fc_interfacesArgs, +) +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.config.fc_interfaces.fc_interfaces import ( + Fc_interfaces, +) + + +def main(): + """ + Main entry point for module execution + + :returns: the result form module invocation + """ + module = AnsibleModule( + argument_spec=Fc_interfacesArgs.argument_spec, + mutually_exclusive=[["config", "running_config"]], + required_if=[ + ["state", "merged", ["config"]], + ["state", "replaced", ["config"]], + ["state", "overridden", ["config"]], + ["state", "rendered", ["config"]], + ["state", "parsed", ["running_config"]], + ], + supports_check_mode=True, + ) + + result = Fc_interfaces(module).execute_module() + module.exit_json(**result) + + +if __name__ == "__main__": + main() diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_lacp.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_lacp.py index 233491138..257c1384e 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_lacp.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_lacp.py @@ -85,10 +85,12 @@ options: state: description: - The state of the configuration after module completion. + - States C(replaced) and C(overridden) have the same behaviour for this module. type: str choices: - merged - replaced + - overridden - deleted - gathered - rendered diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_lldp_global.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_lldp_global.py index d238213bc..56b7a04eb 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_lldp_global.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_lldp_global.py @@ -134,11 +134,13 @@ options: type: bool state: description: - - The state of the configuration after module completion + - The state of the configuration after module completion. + - States C(replaced) and C(overridden) have the same behaviour for this module. type: str choices: - merged - replaced + - overridden - deleted - gathered - rendered diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_ospf_interfaces.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_ospf_interfaces.py index c0a754c76..81c4ad45b 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_ospf_interfaces.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_ospf_interfaces.py @@ -278,122 +278,77 @@ EXAMPLES = """ key: 12090404011C03162E state: merged -# Task output -# ------------- -# "before": [ -# { -# "name": "Ethernet1/1" -# }, -# { -# "name": "Ethernet1/2" -# }, -# { -# "name": "Ethernet1/3" -# }, -# ] +# Task output: +# ------------ +# before: +# - name: Ethernet1/1 +# - name: Ethernet1/2 +# - name: Ethernet1/3 # -# "commands": [ -# "interface Ethernet1/1", -# "ip router ospf multi-area 11.11.11.11", -# "ip router ospf 100 area 1.1.1.1 secondaries none", -# "ipv6 router ospfv3 multi-area 16.10.10.10", -# "ipv6 router ospfv3 200 area 2.2.2.2", -# "ipv6 router ospfv3 200 multi-area 21.0.0.0", -# "ipv6 router ospfv3 300 multi-area 50.50.50.50", -# "interface Ethernet1/2", -# "ip ospf authentication key-chain test-1", -# "ip ospf authentication", -# "ip ospf message-digest-key 10 md5 3 abc01d272be25d29", -# "ip ospf cost 100", -# "ospfv3 network broadcast", -# "ospfv3 shutdown", -# "interface Ethernet1/3", -# "ip ospf authentication-key 7 12090404011C03162E" -# ] +# commands: +# - interface Ethernet1/1 +# - ip router ospf multi-area 11.11.11.11 +# - ip router ospf 100 area 1.1.1.1 secondaries none +# - ipv6 router ospfv3 multi-area 16.10.10.10 +# - ipv6 router ospfv3 200 area 2.2.2.2 +# - ipv6 router ospfv3 200 multi-area 21.0.0.0 +# - ipv6 router ospfv3 300 multi-area 50.50.50.50 +# - interface Ethernet1/2 +# - ip ospf authentication key-chain test-1 +# - ip ospf authentication +# - ip ospf message-digest-key 10 md5 3 abc01d272be25d29 +# - ip ospf cost 100 +# - ospfv3 network broadcast +# - ospfv3 shutdown +# - interface Ethernet1/3 +# - ip ospf authentication-key 7 12090404011C03162E # -# "after": [ -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "multi_areas": [ -# "11.11.11.11" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "1.1.1.1", -# "secondaries": false -# }, -# "process_id": "100" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "multi_areas": [ -# "16.10.10.10" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "2.2.2.2" -# }, -# "multi_areas": [ -# "21.0.0.0" -# ], -# "process_id": "200" -# }, -# { -# "multi_areas": [ -# "50.50.50.50" -# ], -# "process_id": "300" -# } -# ] -# } -# ], -# "name": "Ethernet1/1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication": { -# "enable": true, -# "key_chain": "test-1" -# }, -# "cost": 100, -# "message_digest_key": { -# "encryption": 3, -# "key": "abc01d272be25d29", -# "key_id": 10 -# } -# }, -# { -# "afi": "ipv6", -# "network": "broadcast", -# "shutdown": true -# } -# ], -# "name": "Ethernet1/2" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication_key": { -# "encryption": 7, -# "key": "12090404011C03162E" -# } -# } -# ], -# "name": "Ethernet1/3" -# }, -# ] +# after: +# - address_family: +# - afi: ipv4 +# multi_areas: +# - 11.11.11.11 +# processes: +# - area: +# area_id: 1.1.1.1 +# secondaries: false +# process_id: '100' +# - afi: ipv6 +# multi_areas: +# - 16.10.10.10 +# processes: +# - area: +# area_id: 2.2.2.2 +# multi_areas: +# - 21.0.0.0 +# process_id: '200' +# - multi_areas: +# - 50.50.50.50 +# process_id: '300' +# name: Ethernet1/1 +# - address_family: +# - afi: ipv4 +# authentication: +# enable: true +# key_chain: test-1 +# cost: 100 +# message_digest_key: +# encryption: 3 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# key_id: 10 +# - afi: ipv6 +# network: broadcast +# shutdown: true +# name: Ethernet1/2 +# - address_family: +# - afi: ipv4 +# authentication_key: +# encryption: 7 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# name: Ethernet1/3 # After state: -# ------------- +# ------------ # NXOS# show running-config | section ^interface # interface Ethernet1/1 # no switchport @@ -419,7 +374,7 @@ EXAMPLES = """ # Using replaced # Before state: -# ------------ +# ------------- # NXOS# show running-config | section ^interface # interface Ethernet1/1 # no switchport @@ -457,151 +412,92 @@ EXAMPLES = """ - name: Ethernet1/3 state: replaced -# Task output -# ------------- -# "before": [ -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "multi_areas": [ -# "11.11.11.11" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "1.1.1.1", -# "secondaries": false -# }, -# "process_id": "100" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "multi_areas": [ -# "16.10.10.10" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "2.2.2.2" -# }, -# "multi_areas": [ -# "21.0.0.0" -# ], -# "process_id": "200" -# }, -# { -# "multi_areas": [ -# "50.50.50.50" -# ], -# "process_id": "300" -# } -# ] -# } -# ], -# "name": "Ethernet1/1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication": { -# "enable": true, -# "key_chain": "test-1" -# }, -# "cost": 100, -# "message_digest_key": { -# "encryption": 3, -# "key": "abc01d272be25d29", -# "key_id": 10 -# } -# }, -# { -# "afi": "ipv6", -# "network": "broadcast", -# "shutdown": true -# } -# ], -# "name": "Ethernet1/2" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication_key": { -# "encryption": 7, -# "key": "12090404011C03162E" -# } -# } -# ], -# "name": "Ethernet1/3" -# }, -# ] +# Task output: +# ------------ +# before: +# - address_family: +# - afi: ipv4 +# multi_areas: +# - 11.11.11.11 +# processes: +# - area: +# area_id: 1.1.1.1 +# secondaries: false +# process_id: '100' +# - afi: ipv6 +# multi_areas: +# - 16.10.10.10 +# processes: +# - area: +# area_id: 2.2.2.2 +# multi_areas: +# - 21.0.0.0 +# process_id: '200' +# - multi_areas: +# - 50.50.50.50 +# process_id: '300' +# name: Ethernet1/1 +# - address_family: +# - afi: ipv4 +# authentication: +# enable: true +# key_chain: test-1 +# cost: 100 +# message_digest_key: +# encryption: 3 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# key_id: 10 +# - afi: ipv6 +# network: broadcast +# shutdown: true +# name: Ethernet1/2 +# - address_family: +# - afi: ipv4 +# authentication_key: +# encryption: 7 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# name: Ethernet1/3 # -# "commands": [ -# "interface Ethernet1/1", -# "ip router ospf multi-area 11.11.11.12", -# "no ip router ospf multi-area 11.11.11.11", -# "no ipv6 router ospfv3 multi-area 16.10.10.10", -# "no ipv6 router ospfv3 200 area 2.2.2.2", -# "no ipv6 router ospfv3 200 multi-area 21.0.0.0", -# "no ipv6 router ospfv3 300 multi-area 50.50.50.50", -# "interface Ethernet1/3", -# "no ip ospf authentication-key 7 12090404011C03162E" -# ] +# commands: +# - interface Ethernet1/1 +# - ip router ospf multi-area 11.11.11.12 +# - no ip router ospf multi-area 11.11.11.11 +# - no ipv6 router ospfv3 multi-area 16.10.10.10 +# - no ipv6 router ospfv3 200 area 2.2.2.2 +# - no ipv6 router ospfv3 200 multi-area 21.0.0.0 +# - no ipv6 router ospfv3 300 multi-area 50.50.50.50 +# - interface Ethernet1/3 +# - no ip ospf authentication-key 7 12090404011C03162E # -# "after": [ -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "multi_areas": [ -# "11.11.11.12" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "1.1.1.1", -# "secondaries": false -# }, -# "process_id": "100" -# } -# ] -# } -# ], -# "name": "Ethernet1/1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication": { -# "enable": true, -# "key_chain": "test-1" -# }, -# "cost": 100, -# "message_digest_key": { -# "encryption": 3, -# "key": "abc01d272be25d29", -# "key_id": 10 -# } -# }, -# { -# "afi": "ipv6", -# "network": "broadcast", -# "shutdown": true -# } -# ], -# "name": "Ethernet1/2" -# }, -# { -# "name": "Ethernet1/3" -# }, +# after: +# - address_family: +# - afi: ipv4 +# multi_areas: +# - 11.11.11.12 +# processes: +# - area: +# area_id: 1.1.1.1 +# secondaries: false +# process_id: '100' +# name: Ethernet1/1 +# - address_family: +# - afi: ipv4 +# authentication: +# enable: true +# key_chain: test-1 +# cost: 100 +# message_digest_key: +# encryption: 3 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# key_id: 10 +# - afi: ipv6 +# network: broadcast +# shutdown: true +# name: Ethernet1/2 +# - name: Ethernet1/3 # # After state: -# ------------- +# ------------ # NXOS# show running-config | section ^interface # interface Ethernet1/1 # no switchport @@ -622,7 +518,7 @@ EXAMPLES = """ # Using overridden # Before state: -# ------------ +# ------------- # NXOS# show running-config | section ^interface # interface Ethernet1/1 # no switchport @@ -659,136 +555,83 @@ EXAMPLES = """ - 11.11.11.12 state: overridden -# Task output -# ------------- -# "before": [ -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "multi_areas": [ -# "11.11.11.11" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "1.1.1.1", -# "secondaries": false -# }, -# "process_id": "100" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "multi_areas": [ -# "16.10.10.10" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "2.2.2.2" -# }, -# "multi_areas": [ -# "21.0.0.0" -# ], -# "process_id": "200" -# }, -# { -# "multi_areas": [ -# "50.50.50.50" -# ], -# "process_id": "300" -# } -# ] -# } -# ], -# "name": "Ethernet1/1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication": { -# "enable": true, -# "key_chain": "test-1" -# }, -# "cost": 100, -# "message_digest_key": { -# "encryption": 3, -# "key": "abc01d272be25d29", -# "key_id": 10 -# } -# }, -# { -# "afi": "ipv6", -# "network": "broadcast", -# "shutdown": true -# } -# ], -# "name": "Ethernet1/2" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication_key": { -# "encryption": 7, -# "key": "12090404011C03162E" -# } -# } -# ], -# "name": "Ethernet1/3" -# }, -# ] +# Task output: +# ------------ +# before: +# - address_family: +# - afi: ipv4 +# multi_areas: +# - 11.11.11.11 +# processes: +# - area: +# area_id: 1.1.1.1 +# secondaries: false +# process_id: '100' +# - afi: ipv6 +# multi_areas: +# - 16.10.10.10 +# processes: +# - area: +# area_id: 2.2.2.2 +# multi_areas: +# - 21.0.0.0 +# process_id: '200' +# - multi_areas: +# - 50.50.50.50 +# process_id: '300' +# name: Ethernet1/1 +# - address_family: +# - afi: ipv4 +# authentication: +# enable: true +# key_chain: test-1 +# cost: 100 +# message_digest_key: +# encryption: 3 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# key_id: 10 +# - afi: ipv6 +# network: broadcast +# shutdown: true +# name: Ethernet1/2 +# - address_family: +# - afi: ipv4 +# authentication_key: +# encryption: 7 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# name: Ethernet1/3 # -# "commands": [ -# "interface Ethernet1/2", -# "no ip ospf authentication key-chain test-1", -# "no ip ospf authentication", -# "no ip ospf message-digest-key 10 md5 3 abc01d272be25d29", -# "no ip ospf cost 100", -# "no ospfv3 network broadcast", -# "no ospfv3 shutdown", -# "interface Ethernet1/3", -# "no ip ospf authentication-key 7 12090404011C03162E", -# "interface Ethernet1/1", -# "ip router ospf multi-area 11.11.11.12", -# "no ip router ospf multi-area 11.11.11.11", -# "no ipv6 router ospfv3 multi-area 16.10.10.10", -# "no ipv6 router ospfv3 200 area 2.2.2.2", -# "no ipv6 router ospfv3 200 multi-area 21.0.0.0", -# "no ipv6 router ospfv3 300 multi-area 50.50.50.50" -# ] +# commands: +# - interface Ethernet1/2 +# - no ip ospf authentication key-chain test-1 +# - no ip ospf authentication +# - no ip ospf message-digest-key 10 md5 3 abc01d272be25d29 +# - no ip ospf cost 100 +# - no ospfv3 network broadcast +# - no ospfv3 shutdown +# - interface Ethernet1/3 +# - no ip ospf authentication-key 7 12090404011C03162E +# - interface Ethernet1/1 +# - ip router ospf multi-area 11.11.11.12 +# - no ip router ospf multi-area 11.11.11.11 +# - no ipv6 router ospfv3 multi-area 16.10.10.10 +# - no ipv6 router ospfv3 200 area 2.2.2.2 +# - no ipv6 router ospfv3 200 multi-area 21.0.0.0 +# - no ipv6 router ospfv3 300 multi-area 50.50.50.50 # -# "after": [ -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "multi_areas": [ -# "11.11.11.12" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "1.1.1.1", -# "secondaries": false -# }, -# "process_id": "100" -# } -# ] -# } -# ], -# "name": "Ethernet1/1" -# }, -# { -# "name": "Ethernet1/2" -# }, -# { -# "name": "Ethernet1/3" -# }, -# ] +# after: +# - address_family: +# - afi: ipv4 +# multi_areas: +# - 11.11.11.12 +# processes: +# - area: +# area_id: 1.1.1.1 +# secondaries: false +# process_id: '100' +# name: Ethernet1/1 +# - name: Ethernet1/2 +# - name: Ethernet1/3 # After state: # ------------- @@ -805,7 +648,7 @@ EXAMPLES = """ # Using deleted to delete OSPF config of a single interface # Before state: -# ------------ +# ------------- # NXOS# show running-config | section ^interface # interface Ethernet1/1 # no switchport @@ -833,139 +676,84 @@ EXAMPLES = """ - name: Ethernet1/1 state: deleted -# Task output -# ------------- -# "before": [ -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "multi_areas": [ -# "11.11.11.11" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "1.1.1.1", -# "secondaries": false -# }, -# "process_id": "100" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "multi_areas": [ -# "16.10.10.10" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "2.2.2.2" -# }, -# "multi_areas": [ -# "21.0.0.0" -# ], -# "process_id": "200" -# }, -# { -# "multi_areas": [ -# "50.50.50.50" -# ], -# "process_id": "300" -# } -# ] -# } -# ], -# "name": "Ethernet1/1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication": { -# "enable": true, -# "key_chain": "test-1" -# }, -# "cost": 100, -# "message_digest_key": { -# "encryption": 3, -# "key": "abc01d272be25d29", -# "key_id": 10 -# } -# }, -# { -# "afi": "ipv6", -# "network": "broadcast", -# "shutdown": true -# } -# ], -# "name": "Ethernet1/2" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication_key": { -# "encryption": 7, -# "key": "12090404011C03162E" -# } -# } -# ], -# "name": "Ethernet1/3" -# }, -# ] +# Task output: +# ------------ +# before: +# - address_family: +# - afi: ipv4 +# multi_areas: +# - 11.11.11.11 +# processes: +# - area: +# area_id: 1.1.1.1 +# secondaries: false +# process_id: '100' +# - afi: ipv6 +# multi_areas: +# - 16.10.10.10 +# processes: +# - area: +# area_id: 2.2.2.2 +# multi_areas: +# - 21.0.0.0 +# process_id: '200' +# - multi_areas: +# - 50.50.50.50 +# process_id: '300' +# name: Ethernet1/1 +# - address_family: +# - afi: ipv4 +# authentication: +# enable: true +# key_chain: test-1 +# cost: 100 +# message_digest_key: +# encryption: 3 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# key_id: 10 +# - afi: ipv6 +# network: broadcast +# shutdown: true +# name: Ethernet1/2 +# - address_family: +# - afi: ipv4 +# authentication_key: +# encryption: 7 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# name: Ethernet1/3 # -# "commands": [ -# "interface Ethernet1/1", -# "no ip router ospf multi-area 11.11.11.11", -# "no ip router ospf 100 area 1.1.1.1 secondaries none", -# "no ipv6 router ospfv3 multi-area 16.10.10.10", -# "no ipv6 router ospfv3 200 area 2.2.2.2", -# "no ipv6 router ospfv3 200 multi-area 21.0.0.0", -# "no ipv6 router ospfv3 300 multi-area 50.50.50.50" -# ] +# commands: +# - interface Ethernet1/1 +# - no ip router ospf multi-area 11.11.11.11 +# - no ip router ospf 100 area 1.1.1.1 secondaries none +# - no ipv6 router ospfv3 multi-area 16.10.10.10 +# - no ipv6 router ospfv3 200 area 2.2.2.2 +# - no ipv6 router ospfv3 200 multi-area 21.0.0.0 +# - no ipv6 router ospfv3 300 multi-area 50.50.50.50 # -# "before": [ -# { -# "name": "Ethernet1/1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication": { -# "enable": true, -# "key_chain": "test-1" -# }, -# "cost": 100, -# "message_digest_key": { -# "encryption": 3, -# "key": "abc01d272be25d29", -# "key_id": 10 -# } -# }, -# { -# "afi": "ipv6", -# "network": "broadcast", -# "shutdown": true -# } -# ], -# "name": "Ethernet1/2" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication_key": { -# "encryption": 7, -# "key": "12090404011C03162E" -# } -# } -# ], -# "name": "Ethernet1/3" -# }, -# ] +# after: +# - name: Ethernet1/1 +# - address_family: +# - afi: ipv4 +# authentication: +# enable: true +# key_chain: test-1 +# cost: 100 +# message_digest_key: +# encryption: 3 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# key_id: 10 +# - afi: ipv6 +# network: broadcast +# shutdown: true +# name: Ethernet1/2 +# - address_family: +# - afi: ipv4 +# authentication_key: +# encryption: 7 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# name: Ethernet1/3 + # After state: # ------------ @@ -987,7 +775,7 @@ EXAMPLES = """ # Using deleted to delete OSPF config from all interfaces # Before state: -# ------------ +# ------------- # NXOS# show running-config | section ^interface # interface Ethernet1/1 # no switchport @@ -1013,119 +801,53 @@ EXAMPLES = """ cisco.nxos.nxos_ospf_interfaces: state: deleted -# Task output -# ------------- -# "before": [ -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "multi_areas": [ -# "11.11.11.11" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "1.1.1.1", -# "secondaries": false -# }, -# "process_id": "100" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "multi_areas": [ -# "16.10.10.10" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "2.2.2.2" -# }, -# "multi_areas": [ -# "21.0.0.0" -# ], -# "process_id": "200" -# }, -# { -# "multi_areas": [ -# "50.50.50.50" -# ], -# "process_id": "300" -# } -# ] -# } -# ], -# "name": "Ethernet1/1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication": { -# "enable": true, -# "key_chain": "test-1" -# }, -# "cost": 100, -# "message_digest_key": { -# "encryption": 3, -# "key": "abc01d272be25d29", -# "key_id": 10 -# } -# }, -# { -# "afi": "ipv6", -# "network": "broadcast", -# "shutdown": true -# } -# ], -# "name": "Ethernet1/2" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication_key": { -# "encryption": 7, -# "key": "12090404011C03162E" -# } -# } -# ], -# "name": "Ethernet1/3" -# }, -# ] +# Task output: +# ------------ +# before: +# - name: Ethernet1/1 +# - address_family: +# - afi: ipv4 +# authentication: +# enable: true +# key_chain: test-1 +# cost: 100 +# message_digest_key: +# encryption: 3 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# key_id: 10 +# - afi: ipv6 +# network: broadcast +# shutdown: true +# name: Ethernet1/2 +# - address_family: +# - afi: ipv4 +# authentication_key: +# encryption: 7 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# name: Ethernet1/3 # -# "commands": [ -# "interface Ethernet1/1", -# "no ip router ospf multi-area 11.11.11.11", -# "no ip router ospf 100 area 1.1.1.1 secondaries none", -# "no ipv6 router ospfv3 multi-area 16.10.10.10", -# "no ipv6 router ospfv3 200 area 2.2.2.2", -# "no ipv6 router ospfv3 200 multi-area 21.0.0.0", -# "no ipv6 router ospfv3 300 multi-area 50.50.50.50", -# "interface Ethernet1/2", -# "no ip ospf authentication key-chain test-1", -# "no ip ospf authentication", -# "no ip ospf message-digest-key 10 md5 3 abc01d272be25d29", -# "no ip ospf cost 100", -# "no ospfv3 network broadcast", -# "no ospfv3 shutdown", -# "interface Ethernet1/3", -# "no ip ospf authentication-key 7 12090404011C03162E" -# ] +# commands: +# - interface Ethernet1/1 +# - no ip router ospf multi-area 11.11.11.11 +# - no ip router ospf 100 area 1.1.1.1 secondaries none +# - no ipv6 router ospfv3 multi-area 16.10.10.10 +# - no ipv6 router ospfv3 200 area 2.2.2.2 +# - no ipv6 router ospfv3 200 multi-area 21.0.0.0 +# - no ipv6 router ospfv3 300 multi-area 50.50.50.50 +# - interface Ethernet1/2 +# - no ip ospf authentication key-chain test-1 +# - no ip ospf authentication +# - no ip ospf message-digest-key 10 md5 3 abc01d272be25d29 +# - no ip ospf cost 100 +# - no ospfv3 network broadcast +# - no ospfv3 shutdown +# - interface Ethernet1/3 +# - no ip ospf authentication-key 7 12090404011C03162E # -# "after": [ -# { -# "name": "Ethernet1/1" -# }, -# { -# "name": "Ethernet1/2" -# }, -# { -# "name": "Ethernet1/3" -# }, -# ] +# after: +# - name: Ethernet1/1 +# - name: Ethernet1/2 +# - name: Ethernet1/3 # After state: # ------------ @@ -1186,26 +908,25 @@ EXAMPLES = """ key: 12090404011C03162E state: rendered -# Task Output (redacted) -# ----------------------- -# "rendered": [ -# "interface Ethernet1/1", -# "ip router ospf multi-area 11.11.11.11", -# "ip router ospf 100 area 1.1.1.1 secondaries none", -# "ipv6 router ospfv3 multi-area 16.10.10.10", -# "ipv6 router ospfv3 200 area 2.2.2.2", -# "ipv6 router ospfv3 200 multi-area 21.0.0.0", -# "ipv6 router ospfv3 300 multi-area 50.50.50.50", -# "interface Ethernet1/2", -# "ip ospf authentication key-chain test-1", -# "ip ospf authentication", -# "ip ospf message-digest-key 10 md5 3 abc01d272be25d29", -# "ip ospf cost 100", -# "ospfv3 network broadcast", -# "ospfv3 shutdown", -# "interface Ethernet1/3", -# "ip ospf authentication-key 7 12090404011C03162E" -# ] +# Task Output: +# ------------ +# rendered: +# - interface Ethernet1/1 +# - ip router ospf multi-area 11.11.11.11 +# - ip router ospf 100 area 1.1.1.1 secondaries none +# - ipv6 router ospfv3 multi-area 16.10.10.10 +# - ipv6 router ospfv3 200 area 2.2.2.2 +# - ipv6 router ospfv3 200 multi-area 21.0.0.0 +# - ipv6 router ospfv3 300 multi-area 50.50.50.50 +# - interface Ethernet1/2 +# - ip ospf authentication key-chain test-1 +# - ip ospf authentication +# - ip ospf message-digest-key 10 md5 3 abc01d272be25d29 +# - ip ospf cost 100 +# - ospfv3 network broadcast +# - ospfv3 shutdown +# - interface Ethernet1/3 +# - ip ospf authentication-key 7 12090404011C03162E # Using parsed @@ -1233,88 +954,51 @@ EXAMPLES = """ running_config: "{{ lookup('file', 'ospf_interfaces.cfg') }}" state: parsed -# Task output (redacted) -# ----------------------- -# "parsed": [ -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "multi_areas": [ -# "11.11.11.11" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "1.1.1.1", -# "secondaries": false -# }, -# "process_id": "100" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "multi_areas": [ -# "16.10.10.10" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "2.2.2.2" -# }, -# "multi_areas": [ -# "21.0.0.0" -# ], -# "process_id": "200" -# }, -# { -# "multi_areas": [ -# "50.50.50.50" -# ], -# "process_id": "300" -# } -# ] -# } -# ], -# "name": "Ethernet1/1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication": { -# "enable": true, -# "key_chain": "test-1" -# }, -# "cost": 100, -# "message_digest_key": { -# "encryption": 3, -# "key": "abc01d272be25d29", -# "key_id": 10 -# } -# }, -# { -# "afi": "ipv6", -# "network": "broadcast", -# "shutdown": true -# } -# ], -# "name": "Ethernet1/2" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication_key": { -# "encryption": 7, -# "key": "12090404011C03162E" -# } -# } -# ], -# "name": "Ethernet1/3" -# }, -# ] +# Task output: +# ------------ +# parsed: +# - address_family: +# - afi: ipv4 +# multi_areas: +# - 11.11.11.11 +# processes: +# - area: +# area_id: 1.1.1.1 +# secondaries: false +# process_id: '100' +# - afi: ipv6 +# multi_areas: +# - 16.10.10.10 +# processes: +# - area: +# area_id: 2.2.2.2 +# multi_areas: +# - 21.0.0.0 +# process_id: '200' +# - multi_areas: +# - 50.50.50.50 +# process_id: '300' +# name: Ethernet1/1 +# - address_family: +# - afi: ipv4 +# authentication: +# enable: true +# key_chain: test-1 +# cost: 100 +# message_digest_key: +# encryption: 3 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# key_id: 10 +# - afi: ipv6 +# network: broadcast +# shutdown: true +# name: Ethernet1/2 +# - address_family: +# - afi: ipv4 +# authentication_key: +# encryption: 7 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# name: Ethernet1/3 # Using gathered @@ -1336,55 +1020,34 @@ EXAMPLES = """ # interface Ethernet1/3 # no switchport -# Task output (redacted) -# ----------------------- -# "gathered": [ -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "multi_areas": [ -# "11.11.11.12" -# ], -# "processes": [ -# { -# "area": { -# "area_id": "1.1.1.1", -# "secondaries": false -# }, -# "process_id": "100" -# } -# ] -# } -# ], -# "name": "Ethernet1/1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "authentication": { -# "enable": true, -# "key_chain": "test-1" -# }, -# "cost": 100, -# "message_digest_key": { -# "encryption": 3, -# "key": "abc01d272be25d29", -# "key_id": 10 -# } -# }, -# { -# "afi": "ipv6", -# "network": "broadcast", -# "shutdown": true -# } -# ], -# "name": "Ethernet1/2" -# }, -# { -# "name": "Ethernet1/3" -# }, +# Task output: +# ------------ +# gathered: +# - address_family: +# - afi: ipv4 +# multi_areas: +# - 11.11.11.12 +# processes: +# - area: +# area_id: 1.1.1.1 +# secondaries: false +# process_id: '100' +# name: Ethernet1/1 +# - address_family: +# - afi: ipv4 +# authentication: +# enable: true +# key_chain: test-1 +# cost: 100 +# message_digest_key: +# encryption: 3 +# key: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# key_id: 10 +# - afi: ipv6 +# network: broadcast +# shutdown: true +# name: Ethernet1/2 +# - name: Ethernet1/3 """ RETURN = """ before: @@ -1416,6 +1079,28 @@ commands: - interface Ethernet1/2 - no ip ospf authentication key-chain test-1 - ip ospf authentication +rendered: + description: The provided configuration in the task rendered in device-native format (offline). + returned: when I(state) is C(rendered) + type: list + sample: + - interface Ethernet1/1 + - ip router ospf multi-area 11.11.11.11 + - ip router ospf 100 area 1.1.1.1 secondaries none +gathered: + description: Facts about the network resource gathered from the remote device as structured data. + returned: when I(state) is C(gathered) + type: list + sample: > + This output will always be in the same format as the + module argspec. +parsed: + description: The device native config provided in I(running_config) option parsed into structured data as per module argspec. + returned: when I(state) is C(parsed) + type: list + sample: > + This output will always be in the same format as the + module argspec. """ from ansible.module_utils.basic import AnsibleModule diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_ospfv2.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_ospfv2.py index 174640a1e..be23724d2 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_ospfv2.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_ospfv2.py @@ -1070,8 +1070,8 @@ EXAMPLES = """ unit: Gbps state: merged -# Task output -# ------------- +# Task output: +# ------------ # before: {} # # commands: @@ -1236,8 +1236,8 @@ EXAMPLES = """ no_summary: true state: replaced -# Task output -# ------------- +# Task output: +# ------------ # before: # processes: # - process_id: "100" @@ -1396,8 +1396,8 @@ EXAMPLES = """ shutdown: true state: overridden -# Task output -# ------------- +# Task output: +# ------------ # before: # processes: # - process_id: "100" @@ -1514,8 +1514,8 @@ EXAMPLES = """ - process_id: 102 state: deleted -# Task output -# ------------- +# Task output: +# ------------ # before: # processes: # - process_id: "100" @@ -1610,8 +1610,8 @@ EXAMPLES = """ cisco.nxos.nxos_ospfv2: state: deleted -# Task output -# ------------- +# Task output: +# ------------ # before: # processes: # - process_id: "100" @@ -1730,8 +1730,8 @@ EXAMPLES = """ unit: Gbps state: rendered -# Task Output (redacted) -# ----------------------- +# Task output: +# ------------ # rendered: # - router ospf 100 # - router-id 203.0.113.20 @@ -1794,8 +1794,8 @@ EXAMPLES = """ running_config: "{{ lookup('file', 'ospfv2.cfg') }}" state: parsed -# Task output (redacted) -# ----------------------- +# Task output: +# ------------ # parsed: # processes: # - process_id: "100" @@ -1869,8 +1869,8 @@ EXAMPLES = """ cisco.nxos.nxos_ospfv2: state: gathered -# Task output (redacted) -# ----------------------- +# Task output: +# ------------ # gathered: # processes: # - process_id: "102" @@ -1944,6 +1944,28 @@ commands: - "vrf zone2" - "auto-cost reference-bandwidth 45 Gbps" - "capability vrf-lite evpn" +rendered: + description: The provided configuration in the task rendered in device-native format (offline). + returned: when I(state) is C(rendered) + type: list + sample: + - "router ospf 102" + - "router-id 198.54.100.1" + - "router ospf 100" +gathered: + description: Facts about the network resource gathered from the remote device as structured data. + returned: when I(state) is C(gathered) + type: dict + sample: > + This output will always be in the same format as the + module argspec. +parsed: + description: The device native config provided in I(running_config) option parsed into structured data as per module argspec. + returned: when I(state) is C(parsed) + type: dict + sample: > + This output will always be in the same format as the + module argspec. """ diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_ospfv3.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_ospfv3.py index 27d9ff659..357afda11 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_ospfv3.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_ospfv3.py @@ -871,8 +871,8 @@ EXAMPLES = """ unit: Gbps state: merged -# Task output -# ------------- +# Task output: +# ------------ # before: {} # # commands: @@ -967,7 +967,7 @@ EXAMPLES = """ # Using replaced # Before state: -# ------------ +# ------------- # nxos-9k-rdo# sh running-config | section "^router ospfv3" # router ospfv3 100 # router-id 203.0.113.20 @@ -1021,8 +1021,8 @@ EXAMPLES = """ no_summary: True state: replaced -# Task output -# ------------- +# Task output: +# ------------ # before: # processes: # - process_id: "100" @@ -1133,7 +1133,7 @@ EXAMPLES = """ # Using overridden # Before state: -# ------------ +# ------------- # nxos-9k-rdo# sh running-config | section "^router ospfv3" # router ospfv3 100 # router-id 203.0.113.20 @@ -1165,8 +1165,8 @@ EXAMPLES = """ shutdown: true state: overridden -# Task output -# ------------- +# Task output: +# ------------ # before: # processes: # - process_id: "100" @@ -1253,7 +1253,7 @@ EXAMPLES = """ # Using deleted to delete a single OSPF process # Before state: -# ------------ +# ------------- # nxos-9k-rdo# sh running-config | section "^router ospf .*" # router ospfv3 100 # router-id 203.0.113.20 @@ -1281,8 +1281,8 @@ EXAMPLES = """ - process_id: 102 state: deleted -# Task output -# ------------- +# Task output: +# ------------ # before: # processes: # - process_id: "100" @@ -1346,7 +1346,7 @@ EXAMPLES = """ # Using deleted all OSPFv3 processes from the device # Before state: -# ------------ +# ------------- # nxos-9k-rdo# sh running-config | section "^router ospfv3" # router ospfv3 100 # router-id 203.0.113.20 @@ -1371,8 +1371,8 @@ EXAMPLES = """ cisco.nxos.nxos_ospfv3: state: deleted -# Task output -# ------------- +# Task output: +# ------------ # before: # processes: # - process_id: "100" @@ -1481,8 +1481,8 @@ EXAMPLES = """ unit: Gbps state: rendered -# Task Output (redacted) -# ----------------------- +# Task output: +# ------------ # rendered: # - router ospfv3 100 # - router-id 203.0.113.20 @@ -1528,8 +1528,8 @@ EXAMPLES = """ running_config: "{{ lookup('file', 'ospfv2.cfg') }}" state: parsed -# Task output (redacted) -# ----------------------- +# Task output: +# ------------ # parsed: # processes: # - process_id: "100" @@ -1579,8 +1579,8 @@ EXAMPLES = """ cisco.nxos.nxos_ospfv3: state: gathered -# Task output (redacted) -# ----------------------- +# Task output: +# ------------ # gathered: # processes: # - process_id: "100" @@ -1663,6 +1663,28 @@ commands: - "router-id 192.0.100.2" - "vrf zone2" - "auto-cost reference-bandwidth 45 Gbps" +rendered: + description: The provided configuration in the task rendered in device-native format (offline). + returned: when I(state) is C(rendered) + type: list + sample: + - "router ospfv3 102" + - "router-id 198.54.100.1" + - "router ospfv3 100" +gathered: + description: Facts about the network resource gathered from the remote device as structured data. + returned: when I(state) is C(gathered) + type: dict + sample: > + This output will always be in the same format as the + module argspec. +parsed: + description: The device native config provided in I(running_config) option parsed into structured data as per module argspec. + returned: when I(state) is C(parsed) + type: dict + sample: > + This output will always be in the same format as the + module argspec. """ from ansible.module_utils.basic import AnsibleModule diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_route_maps.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_route_maps.py index 123566569..bcf7076f0 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_route_maps.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_route_maps.py @@ -312,6 +312,23 @@ options: extcomm_list: description: Set BGP extcommunity list (for deletion). type: str + extcommunity: + description: Set BGP extcommunity attribute. + type: dict + suboptions: + rt: + description: Route-Target. + type: dict + suboptions: + additive: + description: Add to existing rt extcommunity. + type: bool + extcommunity_numbers: + description: + - Extcommunity number. + - "Supported formats are ASN2:NN, ASN4:NN, IPV4:NN." + type: list + elements: str forwarding_address: description: Set the forwarding address. type: bool diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_snmp_host.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_snmp_host.py index 3c23374c8..5899472e2 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_snmp_host.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_snmp_host.py @@ -264,21 +264,27 @@ def remove_snmp_host(host, udp, existing): existing["version"] = "3" command = "no snmp-server host {0} {snmp_type} version \ {version} {v3} {community} udp-port {1}".format( - host, udp, **existing + host, + udp, + **existing, ) elif existing["version"] == "v2c": existing["version"] = "2c" command = "no snmp-server host {0} {snmp_type} version \ {version} {community} udp-port {1}".format( - host, udp, **existing + host, + udp, + **existing, ) elif existing["version"] == "v1": existing["version"] = "1" command = "no snmp-server host {0} {snmp_type} version \ {version} {community} udp-port {1}".format( - host, udp, **existing + host, + udp, + **existing, ) if command: diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_static_routes.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_static_routes.py index f8042aede..a7fdf6713 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_static_routes.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_static_routes.py @@ -1,26 +1,9 @@ #!/usr/bin/python # -*- coding: utf-8 -*- -# Copyright 2019 Red Hat +# Copyright 2023 Red Hat # GNU General Public License v3.0+ # (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) -############################################# -# WARNING # -############################################# -# -# This file is auto generated by the resource -# module builder playbook. -# -# Do not edit this file manually. -# -# Changes to this file will be over written -# by the resource module builder. -# -# Changes should be made in the model used to -# generate this file or in the resource module -# builder template. -# -############################################# """ The module file for nxos_static_routes """ @@ -30,16 +13,17 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type - DOCUMENTATION = """ module: nxos_static_routes short_description: Static routes resource module description: This module configures and manages the attributes of static routes on Cisco NX-OS platforms. version_added: 1.0.0 -author: Adharsh Srivats Rangarajan (@adharshsrivatsr) +author: + - Adharsh Srivats Rangarajan (@adharshsrivatsr) + - Sagar Paul (@KB-perByte) notes: -- Tested against NX-OS 7.3.(0)D1(1) on VIRL +- Tested against Nexus 9300v running NX-OS 9.3.6 on CML. - Unsupported for Cisco MDS - When a route is configured for a non-existent VRF, the VRF is created and the route is added to it. @@ -141,16 +125,18 @@ options: - rendered - parsed default: merged - """ + EXAMPLES = """ -# Using deleted: +# Using deleted - delete all # Before state: # ------------- # +# switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.32/28 192.0.2.12 name new_route # ip route 192.0.2.26/24 192.0.2.13 tag 12 +# switch# show running-config | section '^vrf context' - name: Delete all routes cisco.nxos.nxos_static_routes: @@ -158,6 +144,7 @@ EXAMPLES = """ # Task Output # ----------- +# # before: # - address_families: # - afi: ipv4 @@ -171,20 +158,24 @@ EXAMPLES = """ # - forward_router_address: 192.0.2.12 # route_name: new_route # commands: -# - configure terminal # - no ip route 192.0.2.0/24 192.0.2.13 tag 12 # - no ip route 192.0.2.32/28 192.0.2.12 name new_route # after: [] + # After state: # ------------ -# +# switch# show running-config | include '^ip(v6)* route' +# switch# show running-config | section '^vrf context' +# Using deleted - vrf based # Before state: # ------------ # +# switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.24 name new_route # ip route 192.0.2.80/28 192.0.2.26 tag 12 +# switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.64/28 192.0.2.22 tag 4 # ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 @@ -198,6 +189,7 @@ EXAMPLES = """ # Task Output # ----------- +# # before: # - address_families: # - afi: ipv4 @@ -248,16 +240,22 @@ EXAMPLES = """ # After state: # ----------- +# +# switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.24 name new_route # ip route 192.0.2.80/28 192.0.2.26 tag 12 +# switch# show running-config | section '^vrf context' # vrf context trial_vrf +# Using deleted - afi based # Before state: # ------------ # +# switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.24 name new_route # ip route 192.0.2.80/28 192.0.2.26 tag 12 +# switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.64/28 192.0.2.22 tag 4 # ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 @@ -273,6 +271,7 @@ EXAMPLES = """ # Task Output # ----------- +# # before: # - address_families: # - afi: ipv4 @@ -331,8 +330,11 @@ EXAMPLES = """ # After state: # ----------- +# +# switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.24 name new_route # ip route 192.0.2.80/28 192.0.2.26 tag 12 +# switch# show running-config | section '^vrf context' # vrf context trial_vrf # ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5 @@ -340,7 +342,8 @@ EXAMPLES = """ # Before state: # ------------- -# +# switch# show running-config | include '^ip(v6)* route' +# switch# show running-config | section '^vrf context' - name: Merge new static route configuration cisco.nxos.nxos_static_routes: @@ -354,7 +357,6 @@ EXAMPLES = """ - forward_router_address: 192.0.2.22 tag: 4 admin_distance: 2 - - address_families: - afi: ipv4 routes: @@ -372,11 +374,11 @@ EXAMPLES = """ # Task Output # ----------- +# # before:[] # commands: # - vrf context trial_vrf # - ip route 192.0.2.64/24 192.0.2.22 tag 4 2 -# - configure terminal # - ip route 192.0.2.16/24 192.0.2.24 name new_route # - ipv6 route 2001:db8::/64 Ethernet1/3 2001:db8::12 # after: @@ -389,7 +391,6 @@ EXAMPLES = """ # - forward_router_address: 192.0.2.22 # tag: 4 # admin_distance: 2 -# # - address_families: # - afi: ipv4 # routes: @@ -407,24 +408,27 @@ EXAMPLES = """ # After state: # ------------ # +# switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/24 192.0.2.24 name new_route # ipv6 route 2001:db8::/64 Ethernet1/3 2001:db8::12 +# switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.0/24 192.0.2.22 tag 4 2 - -# Using overridden: +# Using overridden # Before state: # ------------- # +# switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.24 name new_route # ip route 192.0.2.80/28 192.0.2.26 tag 12 +# switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.64/28 192.0.2.22 tag 4 # ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 -- name: Overriden existing static route configuration with new configuration +- name: Overridden existing static route configuration with new configuration cisco.nxos.nxos_static_routes: config: - vrf: trial_vrf @@ -436,7 +440,6 @@ EXAMPLES = """ - forward_router_address: 192.0.2.23 route_name: overridden_route1 admin_distance: 3 - - forward_router_address: 192.0.2.45 route_name: overridden_route2 dest_vrf: destinationVRF @@ -445,6 +448,7 @@ EXAMPLES = """ # Task Output # ----------- +# # before: # - address_families: # - afi: ipv4 @@ -469,7 +473,6 @@ EXAMPLES = """ # - forward_router_address: 192.0.2.26 # tag: 12 # commands: -# - configure terminal # - no ip route 192.0.2.16/28 192.0.2.24 name new_route # - no ip route 192.0.2.80/28 192.0.2.26 tag 12 # - vrf context trial_vrf @@ -495,17 +498,21 @@ EXAMPLES = """ # After state: # ------------ # +# switch# show running-config | include '^ip(v6)* route' +# switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.16/28 192.0.2.23 name overridden_route1 3 # ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name overridden_route2 - -# Using replaced: +# Using replaced # Before state: # ------------ +# +# switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.24 name new_route # ip route 192.0.2.80/28 192.0.2.26 tag 12 +# switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.64/28 192.0.2.22 tag 4 # ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 @@ -521,7 +528,6 @@ EXAMPLES = """ - forward_router_address: 192.0.2.23 route_name: replaced_route1 admin_distance: 3 - - forward_router_address: 192.0.2.45 route_name: replaced_route2 dest_vrf: destinationVRF @@ -530,6 +536,7 @@ EXAMPLES = """ # Task Output # ----------- +# # before: # - address_families: # - afi: ipv4 @@ -554,7 +561,6 @@ EXAMPLES = """ # - forward_router_address: 192.0.2.26 # tag: 12 # commands: -# - configure terminal # - no ip route 192.0.2.16/28 192.0.2.24 name new_route # - ip route 192.0.2.16/28 192.0.2.23 name replaced_route1 3 # - ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2 @@ -588,29 +594,37 @@ EXAMPLES = """ # tag: 12 # After state: -# ----------- +# ------------ +# +# switch# show running-config | include '^ip(v6)* route' # ip route 192.0.2.16/28 192.0.2.23 name replaced_route1 3 # ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2 # ip route 192.0.2.80/28 192.0.2.26 tag 12 +# switch# show running-config | section '^vrf context' # vrf context trial_vrf # ip route 192.0.2.64/28 192.0.2.22 tag 4 # ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 -# Using gathered: +# Using gathered # Before state: # ------------- +# +# switch# show running-config | include '^ip(v6)* route' # ipv6 route 2001:db8:12::/32 2001:db8::12 +# switch# show running-config | section '^vrf context' # vrf context Test # ip route 192.0.2.48/28 192.0.2.13 # ip route 192.0.2.48/28 192.0.2.14 5 -- name: Gather the exisitng condiguration +- name: Gather the existing configuration cisco.nxos.nxos_static_routes: state: gathered -# returns: +# Task Output +# ----------- +# # gathered: # - vrf: Test # address_families: @@ -631,7 +645,7 @@ EXAMPLES = """ # - forward_router_address: 2001:db8::12 -# Using rendered: +# Using rendered - name: Render required configuration to be pushed to the device cisco.nxos.nxos_static_routes: @@ -642,7 +656,6 @@ EXAMPLES = """ - dest: 192.0.2.48/28 next_hops: - forward_router_address: 192.0.2.13 - - afi: ipv6 routes: - dest: 2001:db8::/64 @@ -651,24 +664,28 @@ EXAMPLES = """ forward_router_address: 2001:db8::12 state: rendered -# returns +# Task Output +# ----------- +# # rendered: # vrf context default # ip route 192.0.2.48/28 192.0.2.13 # ipv6 route 2001:db8::/64 Ethernet1/3 2001:db8::12 - # Using parsed - name: Parse the config to structured data cisco.nxos.nxos_static_routes: + state: parsed running_config: | ipv6 route 2002:db8:12::/32 2002:db8:12::1 vrf context Test ip route 192.0.2.48/28 192.0.2.13 ip route 192.0.2.48/28 192.0.2.14 5 -# returns: +# Task Output +# ----------- +# # parsed: # - vrf: Test # address_families: @@ -677,42 +694,64 @@ EXAMPLES = """ # - dest: 192.0.2.48/28 # next_hops: # - forward_router_address: 192.0.2.13 -# # - forward_router_address: 192.0.2.14 # admin_distance: 5 -# # - address_families: # - afi: ipv6 # routes: # - dest: 2002:db8:12::/32 # next_hops: # - forward_router_address: 2002:db8:12::1 - - """ + RETURN = """ before: - description: The configuration prior to the model invocation. - returned: always + description: The configuration prior to the module execution. + returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) type: list sample: > - The configuration returned will always be in the same format - of the parameters above. + This output will always be in the same format as the + module argspec. after: - description: The resulting configuration model invocation. + description: The resulting configuration after module execution. returned: when changed type: list sample: > - The configuration returned will always be in the same format - of the parameters above. + This output will always be in the same format as the + module argspec. commands: description: The set of commands pushed to the remote device. - returned: always + returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) + type: list + sample: + - ip route 192.0.2.16/28 192.0.2.24 name new_route + - vrf context trial_vrf + - ip route 192.0.2.16/28 192.0.2.23 name overridden_route1 3 +rendered: + description: The provided configuration in the task rendered in device-native format (offline). + returned: when I(state) is C(rendered) type: list - sample: ['ip route 192.0.2.48/28 192.0.2.12 Ethernet1/2 name sample_route', - 'ipv6 route 2001:db8:3000::/36 2001:db8:200:2::2', 'vrf context test','ip route 192.0.2.48/28 192.0.2.121'] + sample: + - ip route 192.0.2.16/28 192.0.2.24 name new_route + - vrf context trial_vrf + - ip route 192.0.2.16/28 192.0.2.23 name overridden_route1 3 +gathered: + description: Facts about the network resource gathered from the remote device as structured data. + returned: when I(state) is C(gathered) + type: list + sample: > + This output will always be in the same format as the + module argspec. +parsed: + description: The device native config provided in I(running_config) option parsed into structured data as per module argspec. + returned: when I(state) is C(parsed) + type: list + sample: > + This output will always be in the same format as the + module argspec. """ + from ansible.module_utils.basic import AnsibleModule from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.argspec.static_routes.static_routes import ( @@ -729,7 +768,19 @@ def main(): :returns: the result form module invocation """ - module = AnsibleModule(argument_spec=Static_routesArgs.argument_spec, supports_check_mode=True) + + module = AnsibleModule( + argument_spec=Static_routesArgs.argument_spec, + mutually_exclusive=[["config", "running_config"]], + required_if=[ + ["state", "merged", ["config"]], + ["state", "replaced", ["config"]], + ["state", "overridden", ["config"]], + ["state", "rendered", ["config"]], + ["state", "parsed", ["running_config"]], + ], + supports_check_mode=True, + ) result = Static_routes(module).execute_module() module.exit_json(**result) diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_user.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_user.py index 92a0a5c01..2456c53ac 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_user.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_user.py @@ -225,6 +225,7 @@ BUILTIN_ROLES = [ "priv-2", "priv-1", "priv-0", + "dev-ops", ] diff --git a/ansible_collections/cisco/nxos/plugins/modules/nxos_vtp_version.py b/ansible_collections/cisco/nxos/plugins/modules/nxos_vtp_version.py index 8c5305a08..a98bff904 100644 --- a/ansible_collections/cisco/nxos/plugins/modules/nxos_vtp_version.py +++ b/ansible_collections/cisco/nxos/plugins/modules/nxos_vtp_version.py @@ -46,15 +46,13 @@ options: choices: - '1' - '2' + - '3' type: str """ EXAMPLES = """ # ENSURE VTP VERSION IS 2 - cisco.nxos.nxos_vtp_version: version: 2 - host: '{{ inventory_hostname }}' - username: '{{ un }}' - password: '{{ pwd }}' """ RETURN = """ @@ -163,7 +161,7 @@ def get_vtp_password(module): def main(): - argument_spec = dict(version=dict(type="str", choices=["1", "2"], required=True)) + argument_spec = dict(version=dict(type="str", choices=["1", "2", "3"], required=True)) module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) diff --git a/ansible_collections/cisco/nxos/plugins/modules/storage/nxos_devicealias.py b/ansible_collections/cisco/nxos/plugins/modules/storage/nxos_devicealias.py deleted file mode 100644 index 71d4ebb67..000000000 --- a/ansible_collections/cisco/nxos/plugins/modules/storage/nxos_devicealias.py +++ /dev/null @@ -1,550 +0,0 @@ -#!/usr/bin/python -# Copyright: Ansible Project -# GNU General Public License v3.0+ (see COPYING or -# https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import absolute_import, division, print_function - - -DOCUMENTATION = """ -module: nxos_devicealias -short_description: Configuration of device alias for Cisco NXOS MDS Switches. -description: -- Configuration of device alias for Cisco MDS NXOS. -version_added: 1.0.0 -author: -- Suhas Bharadwaj (@srbharadwaj) (subharad@cisco.com) -notes: -- Tested against Cisco MDS NX-OS 8.4(1) -options: - distribute: - description: - - Enable/Disable device-alias distribution - type: bool - mode: - description: - - Mode of devices-alias, basic or enhanced - choices: - - basic - - enhanced - type: str - da: - description: - - List of device-alias to be added or removed - type: list - elements: dict - suboptions: - name: - description: - - Name of the device-alias to be added or removed - required: true - type: str - pwwn: - description: - - pwwn to which the name needs to be associated with - type: str - remove: - description: - - Removes the device-alias if set to True - type: bool - default: false - rename: - description: - - List of device-alias to be renamed - type: list - elements: dict - suboptions: - old_name: - description: - - Old name of the device-alias that needs to be renamed - required: true - type: str - new_name: - description: - - New name of the device-alias - required: true - type: str -""" - -EXAMPLES = """ -- name: Test that device alias module works - cisco.nxos.nxos_devicealias: - da: - - name: test1_add - pwwn: 56:2:22:11:22:88:11:67 - - name: test2_add - pwwn: 65:22:22:11:22:22:11:d - - name: dev1 - remove: true - - name: dev2 - remove: true - distribute: true - mode: enhanced - rename: - - new_name: bcd - old_name: abc - - new_name: bcd1 - old_name: abc1 - - -""" - -RETURN = """ -commands: - description: commands sent to the device - returned: always - type: list - sample: - - terminal dont-ask - - device-alias database - - device-alias name somename pwwn 10:00:00:00:89:a1:01:03 - - device-alias name somename1 pwwn 10:00:00:00:89:a1:02:03 - - device-alias commit - - no terminal dont-ask -""" - -import string - -from ansible.module_utils.basic import AnsibleModule - -from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.nxos import ( - load_config, - run_commands, -) - - -__metaclass__ = type - -VALID_DA_CHARS = ("-", "_", "$", "^") - - -class showDeviceAliasStatus(object): - """docstring for showDeviceAliasStatus""" - - def __init__(self, module): - self.module = module - self.distribute = "" - self.mode = "" - self.locked = False - self.update() - - def execute_show_cmd(self, cmd): - output = execute_show_command(cmd, self.module)[0] - return output - - def update(self): - command = "show device-alias status" - output = self.execute_show_cmd(command).split("\n") - for o in output: - if "Fabric Distribution" in o: - self.distribute = o.split(":")[1].strip().lower() - if "Mode" in o: - self.mode = o.split("Mode:")[1].strip().lower() - if "Locked" in o: - self.locked = True - - def isLocked(self): - return self.locked - - def getDistribute(self): - return self.distribute - - def getMode(self): - return self.mode - - -class showDeviceAliasDatabase(object): - """docstring for showDeviceAliasDatabase""" - - def __init__(self, module): - self.module = module - self.da_dict = {} - self.update() - - def execute_show_cmd(self, cmd): - output = execute_show_command(cmd, self.module)[0] - return output - - def update(self): - command = "show device-alias database" - # output = execute_show_command(command, self.module)[0].split("\n") - output = self.execute_show_cmd(command) - self.da_list = output.split("\n") - for eachline in self.da_list: - if "device-alias" in eachline: - sv = eachline.strip().split() - self.da_dict[sv[2]] = sv[4] - - def isNameInDaDatabase(self, name): - return name in self.da_dict.keys() - - def isPwwnInDaDatabase(self, pwwn): - newpwwn = ":".join(["0" + str(ep) if len(ep) == 1 else ep for ep in pwwn.split(":")]) - return newpwwn in self.da_dict.values() - - def isNamePwwnPresentInDatabase(self, name, pwwn): - newpwwn = ":".join(["0" + str(ep) if len(ep) == 1 else ep for ep in pwwn.split(":")]) - if name in self.da_dict.keys(): - if newpwwn == self.da_dict[name]: - return True - return False - - def getPwwnByName(self, name): - if name in self.da_dict.keys(): - return self.da_dict[name] - else: - return None - - def getNameByPwwn(self, pwwn): - newpwwn = ":".join(["0" + str(ep) if len(ep) == 1 else ep for ep in pwwn.split(":")]) - for n, p in self.da_dict.items(): - if p == newpwwn: - return n - return None - - -def isPwwnValid(pwwn): - pwwnsplit = pwwn.split(":") - if len(pwwnsplit) != 8: - return False - for eachpwwnsplit in pwwnsplit: - if len(eachpwwnsplit) > 2 or len(eachpwwnsplit) < 1: - return False - if not all(c in string.hexdigits for c in eachpwwnsplit): - return False - return True - - -def isNameValid(name): - if not name[0].isalpha(): - # Illegal first character. Name must start with a letter - return False - if len(name) > 64: - return False - for character in name: - if not character.isalnum() and character not in VALID_DA_CHARS: - return False - return True - - -def execute_show_command(command, module, command_type="cli_show"): - output = "text" - commands = [{"command": command, "output": output}] - out = run_commands(module, commands) - return out - - -def flatten_list(command_lists): - flat_command_list = [] - for command in command_lists: - if isinstance(command, list): - flat_command_list.extend(command) - else: - flat_command_list.append(command) - return flat_command_list - - -def main(): - element_spec = dict( - name=dict(required=True, type="str"), - pwwn=dict(type="str"), - remove=dict(type="bool", default=False), - ) - - element_spec_rename = dict( - old_name=dict(required=True, type="str"), - new_name=dict(required=True, type="str"), - ) - - argument_spec = dict( - distribute=dict(type="bool"), - mode=dict(type="str", choices=["enhanced", "basic"]), - da=dict(type="list", elements="dict", options=element_spec), - rename=dict(type="list", elements="dict", options=element_spec_rename), - ) - - module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) - - warnings = list() - messages = list() - commands_to_execute = list() - result = {"changed": False} - - distribute = module.params["distribute"] - mode = module.params["mode"] - da = module.params["da"] - rename = module.params["rename"] - - # Step 0.0: Validate syntax of name and pwwn - # Also validate syntax of rename arguments - if da is not None: - for eachdict in da: - name = eachdict["name"] - pwwn = eachdict["pwwn"] - remove = eachdict["remove"] - if pwwn is not None: - pwwn = pwwn.lower() - if not remove: - if pwwn is None: - module.fail_json( - msg="This device alias name " - + str(name) - + " which needs to be added, does not have pwwn specified. Please specify a valid pwwn", - ) - if not isNameValid(name): - module.fail_json( - msg="This pwwn name is invalid : " - + str(name) - + ". Note that name cannot be more than 64 alphanumeric chars, " - + "it must start with a letter, and can only contain these characters: " - + ", ".join(["'{0}'".format(c) for c in VALID_DA_CHARS]), - ) - if not isPwwnValid(pwwn): - module.fail_json( - msg="This pwwn is invalid : " - + str(pwwn) - + ". Please check that its a valid pwwn", - ) - if rename is not None: - for eachdict in rename: - oldname = eachdict["old_name"] - newname = eachdict["new_name"] - if not isNameValid(oldname): - module.fail_json( - msg="This pwwn name is invalid : " - + str(oldname) - + ". Note that name cannot be more than 64 alphanumeric chars, " - + "it must start with a letter, and can only contain these characters: " - + ", ".join(["'{0}'".format(c) for c in VALID_DA_CHARS]), - ) - if not isNameValid(newname): - module.fail_json( - msg="This pwwn name is invalid : " - + str(newname) - + ". Note that name cannot be more than 64 alphanumeric chars, " - + "it must start with a letter, and can only contain these characters: " - + ", ".join(["'{0}'".format(c) for c in VALID_DA_CHARS]), - ) - - # Step 0.1: Check DA status - shDAStausObj = showDeviceAliasStatus(module) - d = shDAStausObj.getDistribute() - m = shDAStausObj.getMode() - if shDAStausObj.isLocked(): - module.fail_json(msg="device-alias has acquired lock on the switch. Hence cannot procced.") - - # Step 1: Process distribute - commands = [] - if distribute is not None: - if distribute: - # playbook has distribute as True(enabled) - if d == "disabled": - # but switch distribute is disabled(false), so set it to - # true(enabled) - commands.append("device-alias distribute") - messages.append("device-alias distribute changed from disabled to enabled") - else: - messages.append( - "device-alias distribute remains unchanged. current distribution mode is enabled", - ) - else: - # playbook has distribute as False(disabled) - if d == "enabled": - # but switch distribute is enabled(true), so set it to - # false(disabled) - commands.append("no device-alias distribute") - messages.append("device-alias distribute changed from enabled to disabled") - else: - messages.append( - "device-alias distribute remains unchanged. current distribution mode is disabled", - ) - - cmds = flatten_list(commands) - if cmds: - commands_to_execute = commands_to_execute + cmds - if module.check_mode: - # Check mode implemented at the da_add/da_remove stage - pass - else: - result["changed"] = True - load_config(module, cmds) - - # Step 2: Process mode - commands = [] - if mode is not None: - if mode == "basic": - # playbook has mode as basic - if m == "enhanced": - # but switch mode is enhanced, so set it to basic - commands.append("no device-alias mode enhanced") - messages.append("device-alias mode changed from enhanced to basic") - else: - messages.append("device-alias mode remains unchanged. current mode is basic") - - else: - # playbook has mode as enhanced - if m == "basic": - # but switch mode is basic, so set it to enhanced - commands.append("device-alias mode enhanced") - messages.append("device-alias mode changed from basic to enhanced") - else: - messages.append("device-alias mode remains unchanged. current mode is enhanced") - - if commands: - if distribute: - commands.append("device-alias commit") - commands = ["terminal dont-ask"] + commands + ["no terminal dont-ask"] - else: - if distribute is None and d == "enabled": - commands.append("device-alias commit") - commands = ["terminal dont-ask"] + commands + ["no terminal dont-ask"] - - cmds = flatten_list(commands) - - if cmds: - commands_to_execute = commands_to_execute + cmds - if module.check_mode: - # Check mode implemented at the end - pass - else: - result["changed"] = True - load_config(module, cmds) - - # Step 3: Process da - commands = [] - shDADatabaseObj = showDeviceAliasDatabase(module) - if da is not None: - da_remove_list = [] - da_add_list = [] - for eachdict in da: - name = eachdict["name"] - pwwn = eachdict["pwwn"] - remove = eachdict["remove"] - if pwwn is not None: - pwwn = pwwn.lower() - if remove: - if shDADatabaseObj.isNameInDaDatabase(name): - commands.append("no device-alias name " + name) - da_remove_list.append(name) - else: - messages.append( - name - + " - This device alias name is not in switch device-alias database, hence cannot be removed.", - ) - else: - if shDADatabaseObj.isNamePwwnPresentInDatabase(name, pwwn): - messages.append( - name - + " : " - + pwwn - + " - This device alias name,pwwn is already in switch device-alias database, hence nothing to configure", - ) - else: - if shDADatabaseObj.isNameInDaDatabase(name): - module.fail_json( - msg=name - + " - This device alias name is already present in switch device-alias database but assigned to another pwwn (" - + shDADatabaseObj.getPwwnByName(name) - + ") hence cannot be added", - ) - - elif shDADatabaseObj.isPwwnInDaDatabase(pwwn): - module.fail_json( - msg=pwwn - + " - This device alias pwwn is already present in switch device-alias database but assigned to another name (" - + shDADatabaseObj.getNameByPwwn(pwwn) - + ") hence cannot be added", - ) - - else: - commands.append("device-alias name " + name + " pwwn " + pwwn) - da_add_list.append(name) - - if len(da_add_list) != 0 or len(da_remove_list) != 0: - commands = ["device-alias database"] + commands - if distribute: - commands.append("device-alias commit") - commands = ["terminal dont-ask"] + commands + ["no terminal dont-ask"] - else: - if distribute is None and d == "enabled": - commands.append("device-alias commit") - commands = ["terminal dont-ask"] + commands + ["no terminal dont-ask"] - - cmds = flatten_list(commands) - if cmds: - commands_to_execute = commands_to_execute + cmds - if module.check_mode: - # Check mode implemented at the end - pass - else: - result["changed"] = True - load_config(module, cmds) - if len(da_remove_list) != 0: - messages.append( - "the required device-alias were removed. " + ",".join(da_remove_list), - ) - if len(da_add_list) != 0: - messages.append( - "the required device-alias were added. " + ",".join(da_add_list), - ) - - # Step 5: Process rename - commands = [] - if rename is not None: - for eachdict in rename: - oldname = eachdict["old_name"] - newname = eachdict["new_name"] - if shDADatabaseObj.isNameInDaDatabase(newname): - module.fail_json( - changed=False, - commands=cmds, - msg=newname - + " - this name is already present in the device-alias database, hence we cannot rename " - + oldname - + " with this one", - ) - if shDADatabaseObj.isNameInDaDatabase(oldname): - commands.append("device-alias rename " + oldname + " " + newname) - else: - module.fail_json( - changed=False, - commands=cmds, - msg=oldname - + " - this name is not present in the device-alias database, hence we cannot rename.", - ) - - if len(commands) != 0: - commands = ["device-alias database"] + commands - if distribute: - commands.append("device-alias commit") - commands = ["terminal dont-ask"] + commands + ["no terminal dont-ask"] - else: - if distribute is None and d == "enabled": - commands.append("device-alias commit") - commands = ["terminal dont-ask"] + commands + ["no terminal dont-ask"] - cmds = flatten_list(commands) - if cmds: - commands_to_execute = commands_to_execute + cmds - if module.check_mode: - # Check mode implemented at the end - pass - else: - result["changed"] = True - load_config(module, cmds) - - # Step END: check for 'check' mode - if module.check_mode: - module.exit_json( - changed=False, - commands=commands_to_execute, - msg="Check Mode: No cmds issued to the hosts", - ) - - result["messages"] = messages - result["commands"] = commands_to_execute - result["warnings"] = warnings - module.exit_json(**result) - - -if __name__ == "__main__": - main() diff --git a/ansible_collections/cisco/nxos/plugins/modules/storage/nxos_vsan.py b/ansible_collections/cisco/nxos/plugins/modules/storage/nxos_vsan.py deleted file mode 100644 index d95d95a96..000000000 --- a/ansible_collections/cisco/nxos/plugins/modules/storage/nxos_vsan.py +++ /dev/null @@ -1,354 +0,0 @@ -#!/usr/bin/python -# Copyright: Ansible Project -# GNU General Public License v3.0+ (see COPYING or -# https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import absolute_import, division, print_function - - -DOCUMENTATION = """ -module: nxos_vsan -short_description: Configuration of vsan for Cisco NXOS MDS Switches. -description: -- Configuration of vsan for Cisco MDS NXOS. -version_added: 1.0.0 -author: -- Suhas Bharadwaj (@srbharadwaj) (subharad@cisco.com) -notes: -- Tested against Cisco MDS NX-OS 8.4(1) -options: - vsan: - description: - - List of vsan details to be added or removed - type: list - elements: dict - suboptions: - id: - description: - - Vsan id - required: true - type: int - name: - description: - - Name of the vsan - type: str - suspend: - description: - - suspend the vsan if True - type: bool - remove: - description: - - Removes the vsan if True - type: bool - interface: - description: - - List of vsan's interfaces to be added - type: list - elements: str -""" - -EXAMPLES = """ -- name: Test that vsan module works - cisco.nxos.nxos_vsan: - vsan: - - id: 922 - interface: - - fc1/1 - - fc1/2 - - port-channel 1 - name: vsan-SAN-A - remove: false - suspend: false - - id: 923 - interface: - - fc1/11 - - fc1/21 - - port-channel 2 - name: vsan-SAN-B - remove: false - suspend: true - - id: 1923 - name: vsan-SAN-Old - remove: true -""" - -RETURN = """ -commands: - description: commands sent to the device - returned: always - type: list - sample: - - terminal dont-ask - - vsan database - - vsan 922 interface fc1/40 - - vsan 922 interface port-channel 155 - - no terminal dont-ask -""" - -import re - -from ansible.module_utils.basic import AnsibleModule - -from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.nxos import ( - load_config, - run_commands, -) - - -__metaclass__ = type - - -class Vsan(object): - def __init__(self, vsanid): - self.vsanid = vsanid - self.vsanname = None - self.vsanstate = None - self.vsanoperstate = None - self.vsaninterfaces = [] - - -class GetVsanInfoFromSwitch(object): - """docstring for GetVsanInfoFromSwitch""" - - def __init__(self, module): - self.module = module - self.vsaninfo = {} - self.processShowVsan() - self.processShowVsanMembership() - - def execute_show_vsan_cmd(self): - output = execute_show_command("show vsan", self.module)[0] - return output - - def execute_show_vsan_mem_cmd(self): - output = execute_show_command("show vsan membership", self.module)[0] - return output - - def processShowVsan(self): - patv = r"^vsan\s+(\d+)\s+information" - patnamestate = "name:(.*)state:(.*)" - patoperstate = "operational state:(.*)" - - output = self.execute_show_vsan_cmd().split("\n") - for o in output: - z = re.match(patv, o.strip()) - if z: - v = z.group(1).strip() - self.vsaninfo[v] = Vsan(v) - - z1 = re.match(patnamestate, o.strip()) - if z1: - n = z1.group(1).strip() - s = z1.group(2).strip() - self.vsaninfo[v].vsanname = n - self.vsaninfo[v].vsanstate = s - - z2 = re.match(patoperstate, o.strip()) - if z2: - oper = z2.group(1).strip() - self.vsaninfo[v].vsanoperstate = oper - - # 4094/4079 vsan is always present - self.vsaninfo["4079"] = Vsan("4079") - self.vsaninfo["4094"] = Vsan("4094") - - def processShowVsanMembership(self): - patv = r"^vsan\s+(\d+).*" - output = self.execute_show_vsan_mem_cmd().split("\n") - memlist = [] - v = None - for o in output: - z = re.match(patv, o.strip()) - if z: - if v is not None: - self.vsaninfo[v].vsaninterfaces = memlist - memlist = [] - v = z.group(1) - if "interfaces" not in o: - llist = o.strip().split() - memlist = memlist + llist - self.vsaninfo[v].vsaninterfaces = memlist - - def getVsanInfoObjects(self): - return self.vsaninfo - - -def execute_show_command(command, module, command_type="cli_show"): - output = "text" - commands = [{"command": command, "output": output}] - return run_commands(module, commands) - - -def flatten_list(command_lists): - flat_command_list = [] - for command in command_lists: - if isinstance(command, list): - flat_command_list.extend(command) - else: - flat_command_list.append(command) - return flat_command_list - - -def main(): - vsan_element_spec = dict( - id=dict(required=True, type="int"), - name=dict(type="str"), - remove=dict(type="bool"), - suspend=dict(type="bool"), - interface=dict(type="list", elements="str"), - ) - - argument_spec = dict(vsan=dict(type="list", elements="dict", options=vsan_element_spec)) - - module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) - warnings = list() - messages = list() - commands_executed = list() - result = {"changed": False} - - obj = GetVsanInfoFromSwitch(module) - dictSwVsanObjs = obj.getVsanInfoObjects() - - commands = [] - vsan_list = module.params["vsan"] - - for eachvsan in vsan_list: - vsanid = str(eachvsan["id"]) - vsanname = eachvsan["name"] - vsanremove = eachvsan["remove"] - vsansuspend = eachvsan["suspend"] - vsaninterface_list = eachvsan["interface"] - - if int(vsanid) < 1 or int(vsanid) >= 4095: - module.fail_json( - msg=vsanid + " - This is an invalid vsan. Supported vsan range is 1-4094", - ) - - if vsanid in dictSwVsanObjs.keys(): - sw_vsanid = vsanid - sw_vsanname = dictSwVsanObjs[vsanid].vsanname - sw_vsanstate = dictSwVsanObjs[vsanid].vsanstate - sw_vsaninterfaces = dictSwVsanObjs[vsanid].vsaninterfaces - else: - sw_vsanid = None - sw_vsanname = None - sw_vsanstate = None - sw_vsaninterfaces = [] - - if vsanremove: - # Negative case: - if vsanid == "4079" or vsanid == "4094": - messages.append(str(vsanid) + " is a reserved vsan, hence cannot be removed") - continue - if vsanid == sw_vsanid: - commands.append("no vsan " + str(vsanid)) - messages.append("deleting the vsan " + str(vsanid)) - else: - messages.append( - "There is no vsan " - + str(vsanid) - + " present in the switch. Hence there is nothing to delete", - ) - continue - else: - # Negative case: - if vsanid == "4079" or vsanid == "4094": - messages.append( - str(vsanid) + " is a reserved vsan, and always present on the switch", - ) - else: - if vsanid == sw_vsanid: - messages.append( - "There is already a vsan " - + str(vsanid) - + " present in the switch. Hence there is nothing to configure", - ) - else: - commands.append("vsan " + str(vsanid)) - messages.append("creating vsan " + str(vsanid)) - - if vsanname is not None: - # Negative case: - if vsanid == "4079" or vsanid == "4094": - messages.append(str(vsanid) + " is a reserved vsan, and cannot be renamed") - else: - if vsanname == sw_vsanname: - messages.append( - "There is already a vsan " - + str(vsanid) - + " present in the switch, which has the name " - + vsanname - + " Hence there is nothing to configure", - ) - else: - commands.append("vsan " + str(vsanid) + " name " + vsanname) - messages.append("setting vsan name to " + vsanname + " for vsan " + str(vsanid)) - - if vsansuspend: - # Negative case: - if vsanid == "4079" or vsanid == "4094": - messages.append(str(vsanid) + " is a reserved vsan, and cannot be suspended") - else: - if sw_vsanstate == "suspended": - messages.append( - "There is already a vsan " - + str(vsanid) - + " present in the switch, which is in suspended state ", - ) - else: - commands.append("vsan " + str(vsanid) + " suspend") - messages.append("suspending the vsan " + str(vsanid)) - else: - if sw_vsanstate == "active": - messages.append( - "There is already a vsan " - + str(vsanid) - + " present in the switch, which is in active state ", - ) - else: - commands.append("no vsan " + str(vsanid) + " suspend") - messages.append("no suspending the vsan " + str(vsanid)) - - if vsaninterface_list is not None: - for each_interface_name in vsaninterface_list: - # For fcip,port-channel,vfc-port-channel need to remove the - # extra space to compare - temp = re.sub(" +", "", each_interface_name) - if temp in sw_vsaninterfaces: - messages.append( - each_interface_name - + " is already present in the vsan " - + str(vsanid) - + " interface list", - ) - else: - commands.append("vsan " + str(vsanid) + " interface " + each_interface_name) - messages.append( - "adding interface " + each_interface_name + " to vsan " + str(vsanid), - ) - - if len(commands) != 0: - commands = ["terminal dont-ask"] + ["vsan database"] + commands + ["no terminal dont-ask"] - - cmds = flatten_list(commands) - commands_executed = cmds - - if commands_executed: - if module.check_mode: - module.exit_json( - changed=False, - commands=commands_executed, - msg="Check Mode: No cmds issued to the hosts", - ) - else: - result["changed"] = True - load_config(module, commands_executed) - - result["messages"] = messages - result["commands"] = commands_executed - result["warnings"] = warnings - module.exit_json(**result) - - -if __name__ == "__main__": - main() diff --git a/ansible_collections/cisco/nxos/plugins/modules/storage/nxos_zone_zoneset.py b/ansible_collections/cisco/nxos/plugins/modules/storage/nxos_zone_zoneset.py deleted file mode 100644 index 7c9fba30a..000000000 --- a/ansible_collections/cisco/nxos/plugins/modules/storage/nxos_zone_zoneset.py +++ /dev/null @@ -1,888 +0,0 @@ -#!/usr/bin/python -# Copyright: Ansible Project -# GNU General Public License v3.0+ (see COPYING or -# https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import absolute_import, division, print_function - - -DOCUMENTATION = """ -module: nxos_zone_zoneset -short_description: Configuration of zone/zoneset for Cisco NXOS MDS Switches. -description: -- Configuration of zone/zoneset for Cisco MDS NXOS. -version_added: 1.0.0 -author: -- Suhas Bharadwaj (@srbharadwaj) (subharad@cisco.com) -notes: -- Tested against Cisco MDS NX-OS 8.4(1) -options: - zone_zoneset_details: - description: - - List of zone/zoneset details to be added or removed - type: list - elements: dict - suboptions: - vsan: - description: - - vsan id - required: true - type: int - mode: - description: - - mode of the zone for the vsan - choices: - - enhanced - - basic - type: str - default_zone: - description: - - default zone behaviour for the vsan - choices: - - permit - - deny - type: str - smart_zoning: - description: - - Removes the vsan if True - type: bool - zone: - description: - - List of zone options for that vsan - type: list - elements: dict - suboptions: - name: - description: - - name of the zone - required: true - type: str - remove: - description: - - Deletes the zone if True - type: bool - default: false - members: - description: - - Members of the zone that needs to be removed or added - type: list - elements: dict - suboptions: - pwwn: - description: - - pwwn member of the zone, use alias 'device_alias' as option for - device_alias member - aliases: - - device_alias - required: true - type: str - remove: - description: - - Removes member from the zone if True - type: bool - default: false - devtype: - description: - - devtype of the zone member used along with Smart zoning config - choices: - - initiator - - target - - both - type: str - zoneset: - description: - - List of zoneset options for the vsan - type: list - elements: dict - suboptions: - name: - description: - - name of the zoneset - required: true - type: str - remove: - description: - - Removes zoneset if True - type: bool - default: false - action: - description: - - activates/de-activates the zoneset - choices: - - activate - - deactivate - type: str - members: - description: - - Members of the zoneset that needs to be removed or added - type: list - elements: dict - suboptions: - name: - description: - - name of the zone that needs to be added to the zoneset or removed - from the zoneset - required: true - type: str - remove: - description: - - Removes zone member from the zoneset - type: bool - default: false -""" - -EXAMPLES = """ -- name: Test that zone/zoneset module works - cisco.nxos.nxos_zone_zoneset: - zone_zoneset_details: - - mode: enhanced - vsan: 22 - zone: - - members: - - pwwn: 11:11:11:11:11:11:11:11 - - device_alias: test123 - - pwwn: 61:61:62:62:12:12:12:12 - remove: true - name: zoneA - - members: - - pwwn: 10:11:11:11:11:11:11:11 - - pwwn: 62:62:62:62:21:21:21:21 - name: zoneB - - name: zoneC - remove: true - zoneset: - - action: activate - members: - - name: zoneA - - name: zoneB - - name: zoneC - remove: true - name: zsetname1 - - action: deactivate - name: zsetTestExtra - remove: true - - mode: basic - smart_zoning: true - vsan: 21 - zone: - - members: - - devtype: both - pwwn: 11:11:11:11:11:11:11:11 - - pwwn: 62:62:62:62:12:12:12:12 - - devtype: both - pwwn: 92:62:62:62:12:12:1a:1a - remove: true - name: zone21A - - members: - - pwwn: 10:11:11:11:11:11:11:11 - - pwwn: 62:62:62:62:21:21:21:21 - name: zone21B - zoneset: - - action: activate - members: - - name: zone21A - - name: zone21B - name: zsetname212 - -""" - -RETURN = """ -commands: - description: commands sent to the device - returned: always - type: list - sample: - - terminal dont-ask - - zone name zoneA vsan 923 - - member pwwn 11:11:11:11:11:11:11:11 - - no member device-alias test123 - - zone commit vsan 923 - - no terminal dont-ask -messages: - description: debug messages - returned: always - type: list - sample: - - "zone mode is already enhanced ,no change in zone mode configuration for vsan 922" - - "zone member '11:11:11:11:11:11:11:11' is already present in zone 'zoneA' in vsan 922 hence nothing to add" - - "zone member 'test123' is already present in zone 'zoneA' in vsan 922 hence nothing to add" - - "zone member '61:61:62:62:12:12:12:12' is not present in zone 'zoneA' in vsan 922 hence nothing to remove" - - "zone member '10:11:11:11:11:11:11:11' is already present in zone 'zoneB' in vsan 922 hence nothing to add" - - "zone member '62:62:62:62:21:21:21:21' is already present in zone 'zoneB' in vsan 922 hence nothing to add" - - "zone 'zoneC' is not present in vsan 922 , so nothing to remove" -""" - - -import re - -from ansible.module_utils.basic import AnsibleModule - -from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.nxos import ( - load_config, - run_commands, -) - - -__metaclass__ = type - - -class ShowZonesetActive(object): - """docstring for ShowZonesetActive""" - - def __init__(self, module, vsan): - self.vsan = vsan - self.module = module - self.activeZSName = None - self.parseCmdOutput() - - def execute_show_zoneset_active_cmd(self): - command = "show zoneset active vsan " + str(self.vsan) + " | grep zoneset" - output = execute_show_command(command, self.module)[0] - return output - - def parseCmdOutput(self): - patZoneset = r"zoneset name (\S+) vsan " + str(self.vsan) - output = self.execute_show_zoneset_active_cmd().split("\n") - if len(output) == 0: - return - else: - for line in output: - line = line.strip() - mzs = re.match(patZoneset, line.strip()) - if mzs: - self.activeZSName = mzs.group(1).strip() - return - - def isZonesetActive(self, zsname): - if zsname == self.activeZSName: - return True - return False - - -class ShowZoneset(object): - """docstring for ShowZoneset""" - - def __init__(self, module, vsan): - self.vsan = vsan - self.module = module - self.zsDetails = {} - self.parseCmdOutput() - - def execute_show_zoneset_cmd(self): - command = "show zoneset vsan " + str(self.vsan) - output = execute_show_command(command, self.module)[0] - return output - - def parseCmdOutput(self): - patZoneset = r"zoneset name (\S+) vsan " + str(self.vsan) - patZone = r"zone name (\S+) vsan " + str(self.vsan) - output = self.execute_show_zoneset_cmd().split("\n") - for line in output: - line = line.strip() - mzs = re.match(patZoneset, line.strip()) - mz = re.match(patZone, line.strip()) - if mzs: - zonesetname = mzs.group(1).strip() - self.zsDetails[zonesetname] = [] - continue - elif mz: - zonename = mz.group(1).strip() - v = self.zsDetails[zonesetname] - v.append(zonename) - self.zsDetails[zonesetname] = v - - def isZonesetPresent(self, zsname): - return zsname in self.zsDetails.keys() - - def isZonePresentInZoneset(self, zsname, zname): - if zsname in self.zsDetails.keys(): - return zname in self.zsDetails[zsname] - return False - - -class ShowZone(object): - """docstring for ShowZone""" - - def __init__(self, module, vsan): - self.vsan = vsan - self.module = module - self.zDetails = {} - self.parseCmdOutput() - - def execute_show_zone_vsan_cmd(self): - command = "show zone vsan " + str(self.vsan) - output = execute_show_command(command, self.module)[0] - return output - - def parseCmdOutput(self): - patZone = r"zone name (\S+) vsan " + str(self.vsan) - output = self.execute_show_zone_vsan_cmd().split("\n") - for line in output: - line = re.sub(r"[\[].*?[\]]", "", line) - line = " ".join(line.strip().split()) - if "init" in line: - line = line.replace("init", "initiator") - m = re.match(patZone, line) - if m: - zonename = m.group(1).strip() - self.zDetails[zonename] = [] - continue - else: - # For now we support only pwwn and device-alias under zone - # Ideally should use 'supported_choices'....but maybe next - # time. - if "pwwn" in line or "device-alias" in line: - v = self.zDetails[zonename] - v.append(line) - self.zDetails[zonename] = v - - def isZonePresent(self, zname): - return zname in self.zDetails.keys() - - def isZoneMemberPresent(self, zname, cmd): - if zname in self.zDetails.keys(): - zonememlist = self.zDetails[zname] - for eachline in zonememlist: - if cmd in eachline: - return True - return False - - def get_zDetails(self): - return self.zDetails - - -class ShowZoneStatus(object): - """docstring for ShowZoneStatus""" - - def __init__(self, module, vsan): - self.vsan = vsan - self.vsanAbsent = False - self.module = module - self.default_zone = "" - self.mode = "" - self.session = "" - self.sz = "" - self.locked = False - self.update() - - def execute_show_zone_status_cmd(self): - command = "show zone status vsan " + str(self.vsan) - output = execute_show_command(command, self.module)[0] - return output - - def update(self): - output = self.execute_show_zone_status_cmd().split("\n") - - patfordefzone = "VSAN: " + str(self.vsan) + r" default-zone:\s+(\S+).*" - patformode = r".*mode:\s+(\S+).*" - patforsession = r"^session:\s+(\S+).*" - patforsz = r".*smart-zoning:\s+(\S+).*" - for line in output: - if "is not configured" in line: - self.vsanAbsent = True - break - mdefz = re.match(patfordefzone, line.strip()) - mmode = re.match(patformode, line.strip()) - msession = re.match(patforsession, line.strip()) - msz = re.match(patforsz, line.strip()) - - if mdefz: - self.default_zone = mdefz.group(1) - if mmode: - self.mode = mmode.group(1) - if msession: - self.session = msession.group(1) - if self.session != "none": - self.locked = True - if msz: - self.sz = msz.group(1) - - def isLocked(self): - return self.locked - - def getDefaultZone(self): - return self.default_zone - - def getMode(self): - return self.mode - - def getSmartZoningStatus(self): - return self.sz - - def isVsanAbsent(self): - return self.vsanAbsent - - -def execute_show_command(command, module, command_type="cli_show"): - output = "text" - commands = [{"command": command, "output": output}] - return run_commands(module, commands) - - -def flatten_list(command_lists): - flat_command_list = [] - for command in command_lists: - if isinstance(command, list): - flat_command_list.extend(command) - else: - flat_command_list.append(command) - return flat_command_list - - -def getMemType(supported_choices, allmemkeys, default="pwwn"): - for eachchoice in supported_choices: - if eachchoice in allmemkeys: - return eachchoice - return default - - -def main(): - supported_choices = ["device_alias"] - zone_member_spec = dict( - pwwn=dict(required=True, type="str", aliases=["device_alias"]), - devtype=dict(type="str", choices=["initiator", "target", "both"]), - remove=dict(type="bool", default=False), - ) - - zone_spec = dict( - name=dict(required=True, type="str"), - members=dict(type="list", elements="dict", options=zone_member_spec), - remove=dict(type="bool", default=False), - ) - - zoneset_member_spec = dict( - name=dict(required=True, type="str"), - remove=dict(type="bool", default=False), - ) - - zoneset_spec = dict( - name=dict(type="str", required=True), - members=dict(type="list", elements="dict", options=zoneset_member_spec), - remove=dict(type="bool", default=False), - action=dict(type="str", choices=["activate", "deactivate"]), - ) - - zonedetails_spec = dict( - vsan=dict(required=True, type="int"), - mode=dict(type="str", choices=["enhanced", "basic"]), - default_zone=dict(type="str", choices=["permit", "deny"]), - smart_zoning=dict(type="bool"), - zone=dict(type="list", elements="dict", options=zone_spec), - zoneset=dict(type="list", elements="dict", options=zoneset_spec), - ) - - argument_spec = dict( - zone_zoneset_details=dict(type="list", elements="dict", options=zonedetails_spec), - ) - - module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) - - warnings = list() - messages = list() - commands = list() - result = {"changed": False} - - commands_executed = [] - listOfZoneDetails = module.params["zone_zoneset_details"] - for eachZoneZonesetDetail in listOfZoneDetails: - vsan = eachZoneZonesetDetail["vsan"] - op_mode = eachZoneZonesetDetail["mode"] - op_default_zone = eachZoneZonesetDetail["default_zone"] - op_smart_zoning = eachZoneZonesetDetail["smart_zoning"] - op_zone = eachZoneZonesetDetail["zone"] - op_zoneset = eachZoneZonesetDetail["zoneset"] - - # Step1: execute show zone status and get - shZoneStatusObj = ShowZoneStatus(module, vsan) - sw_default_zone = shZoneStatusObj.getDefaultZone() - sw_mode = shZoneStatusObj.getMode() - sw_smart_zoning = shZoneStatusObj.getSmartZoningStatus() - - if sw_smart_zoning.lower() == "Enabled".lower(): - sw_smart_zoning_bool = True - else: - sw_smart_zoning_bool = False - - if shZoneStatusObj.isVsanAbsent(): - module.fail_json( - msg="Vsan " + str(vsan) + " is not present in the switch. Hence cannot procced.", - ) - - if shZoneStatusObj.isLocked(): - module.fail_json( - msg="zone has acquired lock on the switch for vsan " - + str(vsan) - + ". Hence cannot procced.", - ) - - # Process zone default zone options - if op_default_zone is not None: - if op_default_zone != sw_default_zone: - if op_default_zone == "permit": - commands_executed.append("zone default-zone permit vsan " + str(vsan)) - messages.append( - "default zone configuration changed from deny to permit for vsan " - + str(vsan), - ) - else: - commands_executed.append("no zone default-zone permit vsan " + str(vsan)) - messages.append( - "default zone configuration changed from permit to deny for vsan " - + str(vsan), - ) - else: - messages.append( - "default zone is already " - + op_default_zone - + " ,no change in default zone configuration for vsan " - + str(vsan), - ) - - # Process zone mode options - if op_mode is not None: - if op_mode != sw_mode: - if op_mode == "enhanced": - commands_executed.append("zone mode enhanced vsan " + str(vsan)) - messages.append( - "zone mode configuration changed from basic to enhanced for vsan " - + str(vsan), - ) - else: - commands_executed.append("no zone mode enhanced vsan " + str(vsan)) - messages.append( - "zone mode configuration changed from enhanced to basic for vsan " - + str(vsan), - ) - else: - messages.append( - "zone mode is already " - + op_mode - + " ,no change in zone mode configuration for vsan " - + str(vsan), - ) - - # Process zone smart-zone options - if op_smart_zoning is not None: - if op_smart_zoning != sw_smart_zoning_bool: - if op_smart_zoning: - commands_executed.append("zone smart-zoning enable vsan " + str(vsan)) - messages.append("smart-zoning enabled for vsan " + str(vsan)) - else: - commands_executed.append("no zone smart-zoning enable vsan " + str(vsan)) - messages.append("smart-zoning disabled for vsan " + str(vsan)) - else: - messages.append( - "smart-zoning is already set to " - + sw_smart_zoning - + " , no change in smart-zoning configuration for vsan " - + str(vsan), - ) - - # Process zone member options - # TODO: Obviously this needs to be cleaned up properly, as there are a lot of ifelse statements which is bad - # Will take it up later becoz of time constraints - if op_zone is not None: - shZoneObj = ShowZone(module, vsan) - for eachzone in op_zone: - zname = eachzone["name"] - zmembers = eachzone["members"] - removeflag = eachzone["remove"] - if removeflag: - if shZoneObj.isZonePresent(zname): - messages.append("zone '" + zname + "' is removed from vsan " + str(vsan)) - commands_executed.append("no zone name " + zname + " vsan " + str(vsan)) - else: - messages.append( - "zone '" - + zname - + "' is not present in vsan " - + str(vsan) - + " , so nothing to remove", - ) - else: - if zmembers is None: - if shZoneObj.isZonePresent(zname): - messages.append( - "zone '" + zname + "' is already present in vsan " + str(vsan), - ) - else: - commands_executed.append("zone name " + zname + " vsan " + str(vsan)) - messages.append("zone '" + zname + "' is created in vsan " + str(vsan)) - else: - cmdmemlist = [] - for eachmem in zmembers: - memtype = getMemType(supported_choices, eachmem.keys()) - cmd = memtype.replace("_", "-") + " " + eachmem[memtype] - if op_smart_zoning or sw_smart_zoning_bool: - if eachmem["devtype"] is not None: - cmd = cmd + " " + eachmem["devtype"] - if eachmem["remove"]: - if shZoneObj.isZonePresent(zname): - if shZoneObj.isZoneMemberPresent(zname, cmd): - cmd = "no member " + cmd - cmdmemlist.append(cmd) - if op_smart_zoning and eachmem["devtype"] is not None: - messages.append( - "removing zone member '" - + eachmem[memtype] - + " of device type '" - + eachmem["devtype"] - + "' from zone '" - + zname - + "' in vsan " - + str(vsan), - ) - else: - messages.append( - "removing zone member '" - + eachmem[memtype] - + "' from zone '" - + zname - + "' in vsan " - + str(vsan), - ) - else: - if op_smart_zoning and eachmem["devtype"] is not None: - messages.append( - "zone member '" - + eachmem[memtype] - + "' of device type '" - + eachmem["devtype"] - + "' is not present in zone '" - + zname - + "' in vsan " - + str(vsan) - + " hence nothing to remove", - ) - else: - messages.append( - "zone member '" - + eachmem[memtype] - + "' is not present in zone '" - + zname - + "' in vsan " - + str(vsan) - + " hence nothing to remove", - ) - else: - messages.append( - "zone '" - + zname - + "' is not present in vsan " - + str(vsan) - + " , hence cannot remove the members", - ) - - else: - if shZoneObj.isZoneMemberPresent(zname, cmd): - if op_smart_zoning and eachmem["devtype"] is not None: - messages.append( - "zone member '" - + eachmem[memtype] - + "' of device type '" - + eachmem["devtype"] - + "' is already present in zone '" - + zname - + "' in vsan " - + str(vsan) - + " hence nothing to add", - ) - else: - messages.append( - "zone member '" - + eachmem[memtype] - + "' is already present in zone '" - + zname - + "' in vsan " - + str(vsan) - + " hence nothing to add", - ) - else: - cmd = "member " + cmd - cmdmemlist.append(cmd) - if op_smart_zoning and eachmem["devtype"] is not None: - messages.append( - "adding zone member '" - + eachmem[memtype] - + "' of device type '" - + eachmem["devtype"] - + "' to zone '" - + zname - + "' in vsan " - + str(vsan), - ) - else: - messages.append( - "adding zone member '" - + eachmem[memtype] - + "' to zone '" - + zname - + "' in vsan " - + str(vsan), - ) - if len(cmdmemlist) != 0: - commands_executed.append("zone name " + zname + " vsan " + str(vsan)) - commands_executed = commands_executed + cmdmemlist - - # Process zoneset member options - if op_zoneset is not None: - dactcmd = [] - actcmd = [] - shZonesetObj = ShowZoneset(module, vsan) - shZonesetActiveObj = ShowZonesetActive(module, vsan) - for eachzoneset in op_zoneset: - zsetname = eachzoneset["name"] - zsetmembers = eachzoneset["members"] - removeflag = eachzoneset["remove"] - actionflag = eachzoneset["action"] - if removeflag: - if shZonesetObj.isZonesetPresent(zsetname): - messages.append( - "zoneset '" + zsetname + "' is removed from vsan " + str(vsan), - ) - commands_executed.append( - "no zoneset name " + zsetname + " vsan " + str(vsan), - ) - else: - messages.append( - "zoneset '" - + zsetname - + "' is not present in vsan " - + str(vsan) - + " ,hence there is nothing to remove", - ) - else: - if zsetmembers is not None: - cmdmemlist = [] - for eachzsmem in zsetmembers: - zsetmem_name = eachzsmem["name"] - zsetmem_removeflag = eachzsmem["remove"] - if zsetmem_removeflag: - if shZonesetObj.isZonePresentInZoneset(zsetname, zsetmem_name): - cmd = "no member " + zsetmem_name - cmdmemlist.append(cmd) - messages.append( - "removing zoneset member '" - + zsetmem_name - + "' from zoneset '" - + zsetname - + "' in vsan " - + str(vsan), - ) - else: - messages.append( - "zoneset member '" - + zsetmem_name - + "' is not present in zoneset '" - + zsetname - + "' in vsan " - + str(vsan) - + " ,hence there is nothing to remove", - ) - else: - if shZonesetObj.isZonePresentInZoneset(zsetname, zsetmem_name): - messages.append( - "zoneset member '" - + zsetmem_name - + "' is already present in zoneset '" - + zsetname - + "' in vsan " - + str(vsan) - + " ,hence there is nothing to add", - ) - else: - cmd = "member " + zsetmem_name - cmdmemlist.append(cmd) - messages.append( - "adding zoneset member '" - + zsetmem_name - + "' to zoneset '" - + zsetname - + "' in vsan " - + str(vsan), - ) - if len(cmdmemlist) != 0: - commands_executed.append( - "zoneset name " + zsetname + " vsan " + str(vsan), - ) - commands_executed = commands_executed + cmdmemlist - else: - if shZonesetObj.isZonesetPresent(zsetname): - messages.append( - "zoneset '" - + zsetname - + "' is already present in vsan " - + str(vsan), - ) - else: - commands_executed.append( - "zoneset name " + zsetname + " vsan " + str(vsan), - ) - messages.append( - "zoneset '" + zsetname + "' is created in vsan " + str(vsan), - ) - - # Process zoneset activate options - if actionflag == "deactivate": - if shZonesetActiveObj.isZonesetActive(zsetname): - messages.append( - "deactivating zoneset '" + zsetname + "' in vsan " + str(vsan), - ) - dactcmd.append( - "no zoneset activate name " + zsetname + " vsan " + str(vsan), - ) - else: - messages.append( - "zoneset '" - + zsetname - + "' in vsan " - + str(vsan) - + " is not activated, hence cannot deactivate", - ) - elif actionflag == "activate": - if commands_executed: - messages.append( - "activating zoneset '" + zsetname + "' in vsan " + str(vsan), - ) - actcmd.append("zoneset activate name " + zsetname + " vsan " + str(vsan)) - else: - messages.append( - "no changes to existing zoneset '" - + zsetname - + "' in vsan " - + str(vsan) - + " hence activate action is ignored", - ) - commands_executed = commands_executed + dactcmd + actcmd - - if commands_executed: - if op_mode == "enhanced": - commands_executed.append("zone commit vsan " + str(vsan)) - elif op_mode is None: - if sw_mode == "enhanced": - commands_executed.append("zone commit vsan " + str(vsan)) - - if commands_executed: - commands_executed = ["terminal dont-ask"] + commands_executed + ["no terminal dont-ask"] - - cmds = flatten_list(commands_executed) - if cmds: - if module.check_mode: - module.exit_json( - changed=False, - commands=cmds, - msg="Check Mode: No cmds issued to the hosts", - ) - else: - result["changed"] = True - commands = commands + cmds - load_config(module, cmds) - - result["messages"] = messages - result["commands"] = commands_executed - result["warnings"] = warnings - module.exit_json(**result) - - -if __name__ == "__main__": - main() diff --git a/ansible_collections/cisco/nxos/test-requirements.txt b/ansible_collections/cisco/nxos/test-requirements.txt index fa48b68f8..94ff7c9e3 100644 --- a/ansible_collections/cisco/nxos/test-requirements.txt +++ b/ansible_collections/cisco/nxos/test-requirements.txt @@ -1,8 +1,9 @@ -black==22.3.0 ; python_version > '3.5' +# For ansible-tox-linters +black==23.3.0 ; python_version >= '3.7' flake8 -git+https://github.com/ansible-community/pytest-ansible-units.git -mock ; python_version < '3.5' -pexpect -pytest-xdist yamllint -coverage==4.5.4 + +# Unit test runner +pytest-ansible ; python_version >= '3.9' +git+https://github.com/ansible-community/pytest-ansible-units.git ; python_version < '3.9' +pytest-xdist diff --git a/ansible_collections/cisco/nxos/tests/config.yml b/ansible_collections/cisco/nxos/tests/config.yml new file mode 100644 index 000000000..41f529264 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/config.yml @@ -0,0 +1,3 @@ +--- +modules: + python_requires: ">=3.6" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server_host/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server_host/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server_host/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server_host/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server_host/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server_host/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server_host/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_aaa_server_host/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acl_interfaces/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acl_interfaces/tasks/cli.yaml index f41fb7360..3e5e72a07 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acl_interfaces/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acl_interfaces/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acl_interfaces/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acl_interfaces/tasks/nxapi.yaml index 86c82adda..59a0777c5 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acl_interfaces/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acl_interfaces/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acls/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acls/tasks/cli.yaml index c34726ef5..3e5e72a07 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acls/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acls/tasks/cli.yaml @@ -22,7 +22,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acls/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acls/tasks/nxapi.yaml index e0ebc3f54..59a0777c5 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acls/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_acls/tasks/nxapi.yaml @@ -22,7 +22,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_banner/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_banner/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_banner/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_banner/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_banner/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_banner/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_banner/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_banner/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_global/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_global/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_global/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_global/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_global/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_global/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_global/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_global/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_interfaces/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_interfaces/tasks/cli.yaml index 9aa0d8690..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_interfaces/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_interfaces/tasks/cli.yaml @@ -23,11 +23,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_interfaces/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_interfaces/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_interfaces/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bfd_interfaces/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/defaults/main.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/defaults/main.yaml deleted file mode 100644 index 525b7aab9..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/defaults/main.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -testcase: "*" -vrfs: - - default - - myvrf diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/meta/main.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/meta/main.yml deleted file mode 100644 index f504a6ab2..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - prepare_nxos_tests diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tasks/main.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tasks/main.yaml deleted file mode 100644 index a1da90e57..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tasks/main.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- name: Include the CLI tasks - ansible.builtin.include_tasks: cli.yaml - tags: - - cli - -- name: Include the NX-API tasks - ansible.builtin.include_tasks: nxapi.yaml - tags: - - nxapi diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tasks/nxapi.yaml deleted file mode 100644 index b4ed55204..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tasks/nxapi.yaml +++ /dev/null @@ -1,32 +0,0 @@ ---- -- name: Collect common test cases - ansible.builtin.find: - paths: "{{ role_path }}/tests/common" - patterns: "{{ testcase }}.yaml" - connection: local - register: test_cases - -- name: Collect NX-API test cases - ansible.builtin.find: - paths: "{{ role_path }}/tests/nxapi" - patterns: "{{ testcase }}.yaml" - connection: local - register: nxapi_cases - -- name: Set a fact for 'test_cases' - ansible.builtin.set_fact: - test_cases: - files: "{{ test_cases.files + nxapi_cases.files }}" - -- name: Set test_items - ansible.builtin.set_fact: - test_items: "{{ test_cases.files | map(attribute='path') | list }}" - -- name: Run test cases (connection=ansible.netcommon.httpapi) - ansible.builtin.include_tasks: "{{ test_case_to_run }}" - with_items: "{{ test_items }}" - loop_control: - loop_var: test_case_to_run - vars: - ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/dis_policy.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/dis_policy.yaml deleted file mode 100644 index 0f4bd883e..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/dis_policy.yaml +++ /dev/null @@ -1,85 +0,0 @@ ---- -- ansible.builtin.debug: - msg: START connection={{ ansible_connection }} nxos_bgp parameter test - -- ansible.builtin.debug: - msg: This bgp_disable_policy is not supported on {{ image_version }} - when: imagetag is search("A8|D1") - -- name: Set a fact for 'bgp_disable_policy' - ansible.builtin.set_fact: - bgp_disable_policy: false - -- name: Set a fact for 'bgp_disable_policy' - ansible.builtin.set_fact: - bgp_disable_policy: true - when: imagetag is not search("A8|D1") - -- name: Disable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - -- name: Enable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: enabled - -- block: - - name: Set disable policy - register: result - when: bgp_disable_policy - cisco.nxos.nxos_bgp: &id001 - asn: 65535 - disable_policy_batching: true - disable_policy_batching_ipv4_prefix_list: v4_p - disable_policy_batching_ipv6_prefix_list: v6_p - - - ansible.builtin.assert: &id002 - that: - - result.changed == true - when: bgp_disable_policy - - - name: Check idempotence - register: result - when: bgp_disable_policy - cisco.nxos.nxos_bgp: *id001 - - - ansible.builtin.assert: &id004 - that: - - result.changed == false - when: bgp_disable_policy - - - name: Reset disable policy - register: result - when: bgp_disable_policy - cisco.nxos.nxos_bgp: &id003 - asn: 65535 - disable_policy_batching: false - disable_policy_batching_ipv4_prefix_list: default - disable_policy_batching_ipv6_prefix_list: default - - - ansible.builtin.assert: *id002 - when: bgp_disable_policy - - - name: Check idempotence - register: result - when: bgp_disable_policy - cisco.nxos.nxos_bgp: *id003 - - - ansible.builtin.assert: *id004 - when: bgp_disable_policy - rescue: - - ansible.builtin.debug: - msg: Tests can fail on A8 or helsinki images - always: - - name: Disable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - - - ansible.builtin.debug: - msg: END connection={{ ansible_connection }} nxos_bgp parameter test diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/hels.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/hels.yaml deleted file mode 100644 index 65b7c7251..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/hels.yaml +++ /dev/null @@ -1,101 +0,0 @@ ---- -- ansible.builtin.debug: - msg: START connection={{ ansible_connection }} nxos_bgp parameter test - -- ansible.builtin.debug: - msg: This test is not supported on {{ image_version }} - when: imagetag is search("D1") - -- name: Set a fact for 'test_helsinki' - ansible.builtin.set_fact: - test_helsinki: false - -- name: Set a fact for 'test_helsinki' - ansible.builtin.set_fact: - test_helsinki: true - when: imagetag is not search("D1") - -- name: Disable 'feature bgp' - ignore_errors: true - when: test_helsinki - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - -- name: Enable 'feature bgp' - ignore_errors: true - when: test_helsinki - cisco.nxos.nxos_feature: - feature: bgp - state: enabled - -- block: - - name: Set helsinki - with_items: "{{ vrfs }}" - register: result - when: test_helsinki - cisco.nxos.nxos_bgp: &id001 - asn: 65535 - vrf: "{{ item }}" - graceful_restart_timers_restart: 130 - graceful_restart_timers_stalepath_time: 310 - neighbor_down_fib_accelerate: true - reconnect_interval: 55 - timer_bgp_hold: 110 - timer_bgp_keepalive: 45 - - - ansible.builtin.assert: &id002 - that: - - result.changed == true - when: test_helsinki - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - when: test_helsinki - cisco.nxos.nxos_bgp: *id001 - - - ansible.builtin.assert: &id004 - that: - - result.changed == false - when: test_helsinki - - - name: Reset helsinki - with_items: "{{ vrfs }}" - register: result - when: test_helsinki - cisco.nxos.nxos_bgp: &id003 - asn: 65535 - vrf: "{{ item }}" - graceful_restart: true - graceful_restart_timers_restart: default - graceful_restart_timers_stalepath_time: default - neighbor_down_fib_accelerate: false - reconnect_interval: default - timer_bgp_hold: default - timer_bgp_keepalive: default - - - ansible.builtin.assert: *id002 - when: test_helsinki - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - when: test_helsinki - cisco.nxos.nxos_bgp: *id003 - - - ansible.builtin.assert: *id004 - when: test_helsinki - rescue: - - ansible.builtin.debug: - msg: Tests can fail on helsinki images - always: - - name: Disable 'feature bgp' - ignore_errors: true - when: test_helsinki - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - - - ansible.builtin.debug: - msg: END connection={{ ansible_connection }} nxos_bgp parameter test diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/isolate.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/isolate.yaml deleted file mode 100644 index de4bafb11..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/isolate.yaml +++ /dev/null @@ -1,81 +0,0 @@ ---- -- ansible.builtin.debug: - msg: START connection={{ ansible_connection }} nxos_bgp parameter test - -- ansible.builtin.debug: - msg: This bgp_isolate is not supported on {{ image_version }} - when: imagetag is search("A8") - -- name: Set a fact for 'bgp_isolate' - ansible.builtin.set_fact: - bgp_isolate: false - -- name: Set a fact for 'bgp_isolate' - ansible.builtin.set_fact: - bgp_isolate: true - when: imagetag is not search("A8") - -- name: Disable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - -- name: Enable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: enabled - -- block: - - name: Set isolate - register: result - when: bgp_isolate - cisco.nxos.nxos_bgp: &id001 - asn: 65535 - isolate: false - - - ansible.builtin.assert: &id002 - that: - - result.changed == true - when: bgp_isolate - - - name: Check idempotence - register: result - when: bgp_isolate - cisco.nxos.nxos_bgp: *id001 - - - ansible.builtin.assert: &id004 - that: - - result.changed == false - when: bgp_isolate - - - name: Reset isolate - register: result - when: bgp_isolate - cisco.nxos.nxos_bgp: &id003 - asn: 65535 - isolate: true - - - ansible.builtin.assert: *id002 - when: bgp_isolate - - - name: Check idempotence - register: result - when: bgp_isolate - cisco.nxos.nxos_bgp: *id003 - - - ansible.builtin.assert: *id004 - when: bgp_isolate - rescue: - - ansible.builtin.debug: - msg: Tests can fail on A8 images - always: - - name: Disable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - - - ansible.builtin.debug: - msg: END connection={{ ansible_connection }} nxos_bgp parameter test diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/param.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/param.yaml deleted file mode 100644 index a4d7c2ffa..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/param.yaml +++ /dev/null @@ -1,258 +0,0 @@ ---- -- ansible.builtin.debug: - msg: START connection={{ ansible_connection }} nxos_bgp parameter test - -- name: Disable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - -- name: Enable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: enabled - -- block: - - name: Set multi VRF params - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp: &id001 - asn: 65535 - vrf: "{{ item }}" - router_id: 192.0.2.1 - bestpath_always_compare_med: true - bestpath_aspath_multipath_relax: true - bestpath_compare_routerid: true - bestpath_cost_community_ignore: true - bestpath_med_confed: true - bestpath_med_missing_as_worst: true - bestpath_med_non_deterministic: true - graceful_restart_helper: true - log_neighbor_changes: true - maxas_limit: 50 - - - ansible.builtin.assert: &id002 - that: - - result.changed == true - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp: *id001 - - - ansible.builtin.assert: &id004 - that: - - result.changed == false - - - name: Reset multi VRF params - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp: &id003 - asn: 65535 - vrf: "{{ item }}" - bestpath_always_compare_med: false - bestpath_aspath_multipath_relax: false - bestpath_compare_routerid: false - bestpath_cost_community_ignore: false - bestpath_med_confed: false - bestpath_med_missing_as_worst: false - bestpath_med_non_deterministic: false - graceful_restart_helper: false - log_neighbor_changes: false - maxas_limit: default - router_id: default - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp: *id003 - - - ansible.builtin.assert: *id004 - - - name: Set clusterid - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp: &id005 - asn: 65535 - vrf: "{{ item }}" - cluster_id: 10.0.0.1 - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp: *id005 - - - ansible.builtin.assert: *id004 - - - name: Reset cluster_id - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp: &id006 - asn: 65535 - vrf: "{{ item }}" - cluster_id: default - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp: *id006 - - - ansible.builtin.assert: *id004 - - - name: Set confederation - register: result - cisco.nxos.nxos_bgp: &id007 - asn: 65535 - confederation_id: 99 - confederation_peers: - - 16 - - 22 - - 18 - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp: *id007 - - - ansible.builtin.assert: *id004 - - - name: Reset confederation - register: result - cisco.nxos.nxos_bgp: &id008 - asn: 65535 - confederation_id: default - confederation_peers: default - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp: *id008 - - - ansible.builtin.assert: *id004 - - - name: Set confederation_local_as - register: result - cisco.nxos.nxos_bgp: &id009 - asn: 65535 - vrf: myvrf - local_as: 33 - confederation_id: 99 - confederation_peers: - - 16 - - 22 - - 18 - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp: *id009 - - - ansible.builtin.assert: *id004 - - - name: Reset confederation local_as - register: result - cisco.nxos.nxos_bgp: &id010 - asn: 65535 - vrf: myvrf - local_as: default - confederation_id: default - confederation_peers: default - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp: *id010 - - - ansible.builtin.assert: *id004 - - - name: Set local_as - register: result - cisco.nxos.nxos_bgp: &id011 - asn: 65535 - vrf: myvrf - local_as: 33 - confederation_id: 99 - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp: *id011 - - - ansible.builtin.assert: *id004 - - - name: Reset local_as - register: result - cisco.nxos.nxos_bgp: &id012 - asn: 65535 - vrf: myvrf - confederation_id: default - local_as: default - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp: *id012 - - - ansible.builtin.assert: *id004 - - - name: Set default VRF params - register: result - cisco.nxos.nxos_bgp: &id013 - asn: 65535 - event_history_cli: size_medium - event_history_detail: size_large - event_history_events: size_medium - event_history_periodic: size_small - enforce_first_as: false - fast_external_fallover: false - flush_routes: true - shutdown: true - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp: *id013 - - - ansible.builtin.assert: *id004 - - - name: Reset default VRF params - register: result - cisco.nxos.nxos_bgp: &id014 - asn: 65535 - event_history_detail: default - enforce_first_as: true - fast_external_fallover: true - flush_routes: false - shutdown: false - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp: *id014 - - - ansible.builtin.assert: *id004 - always: - - name: Disable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - - - ansible.builtin.debug: - msg: END connection={{ ansible_connection }} nxos_bgp parameter test diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/sanity.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/sanity.yaml deleted file mode 100644 index dc2b018cc..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/sanity.yaml +++ /dev/null @@ -1,138 +0,0 @@ ---- -- ansible.builtin.debug: - msg: START connection={{ ansible_connection }} nxos_bgp sanity test - -- name: Set a fact for 'neighbor_down_fib_accelerate' - ansible.builtin.set_fact: - neighbor_down_fib_accelerate: true - when: (not titanium) and ((imagetag != 'N1') and (imagetag != 'D1')) - -- name: Set a fact for 'reconnect_interval' - ansible.builtin.set_fact: - reconnect_interval: "55" - when: (not titanium) and ((imagetag != 'N1') and (imagetag != 'D1')) - -- name: Set a fact for 'isolate' - ansible.builtin.set_fact: - isolate: false - when: platform is not match("N35") - -- name: Enable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: enabled - -- name: Setup - ignore_errors: true - register: result - cisco.nxos.nxos_bgp: &id002 - asn: 65535 - state: absent - -- block: - - name: Configure BGP defaults - register: result - cisco.nxos.nxos_bgp: &id001 - asn: 65535 - router_id: 192.0.2.1 - state: present - - - ansible.builtin.assert: &id003 - that: - - result.changed == true - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp: *id001 - - - ansible.builtin.assert: &id004 - that: - - result.changed == false - - - name: Remove BGP - register: result - cisco.nxos.nxos_bgp: *id002 - - - ansible.builtin.assert: *id003 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp: *id002 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP non defaults - register: result - cisco.nxos.nxos_bgp: &id005 - asn: 65535 - router_id: 192.0.2.1 - bestpath_always_compare_med: true - bestpath_aspath_multipath_relax: true - bestpath_compare_routerid: true - bestpath_cost_community_ignore: true - bestpath_med_confed: true - bestpath_med_missing_as_worst: true - bestpath_med_non_deterministic: true - cluster_id: 10.0.0.1 - confederation_id: 99 - disable_policy_batching: true - enforce_first_as: false - fast_external_fallover: false - flush_routes: true - graceful_restart_helper: true - graceful_restart_timers_restart: 130 - graceful_restart_timers_stalepath_time: 310 - isolate: "{{isolate|default(omit)}}" - log_neighbor_changes: true - maxas_limit: 50 - neighbor_down_fib_accelerate: "{{neighbor_down_fib_accelerate|default(omit)}}" - reconnect_interval: "{{reconnect_interval|default(omit)}}" - shutdown: true - timer_bestpath_limit: 255 - timer_bgp_hold: 110 - timer_bgp_keepalive: 45 - event_history_cli: size_medium - event_history_detail: size_large - event_history_events: size_medium - event_history_periodic: size_small - suppress_fib_pending: true - state: present - - - ansible.builtin.assert: *id003 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp: *id005 - - - ansible.builtin.assert: *id004 - - - name: Remove BGP - register: result - cisco.nxos.nxos_bgp: *id002 - - - ansible.builtin.assert: *id003 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp: *id002 - - - ansible.builtin.assert: *id004 - - - name: Disable 'feature bgp' - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - rescue: - - name: Cleanup BGP - ignore_errors: true - cisco.nxos.nxos_bgp: *id002 - - - name: Disable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - always: - - ansible.builtin.debug: - msg: END connection={{ ansible_connection }} nxos_bgp sanity test diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/supp_fib.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/supp_fib.yaml deleted file mode 100644 index ead5a515e..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tests/common/supp_fib.yaml +++ /dev/null @@ -1,120 +0,0 @@ ---- -- ansible.builtin.debug: - msg: START connection={{ ansible_connection }} nxos_bgp parameter test - -- name: Set a fact for 'bgp_best_path_limit' - ansible.builtin.set_fact: - bgp_best_path_limit: false - -- name: Set a fact for 'bgp_best_path_limit' - ansible.builtin.set_fact: - bgp_best_path_limit: true - when: imagetag is not search("I2") - -- name: Set a fact for 'bgp_suppress_fib_supported' - ansible.builtin.set_fact: - bgp_suppress_fib_supported: false - -- name: Set a fact for 'bgp_suppress_fib_supported' - ansible.builtin.set_fact: - bgp_suppress_fib_supported: true - when: imagetag is not search("A8|D1|I2|I4") - -- name: Disable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - -- name: Enable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: enabled - -- block: - - name: Set bestpath limit - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp: &id001 - asn: 65535 - vrf: "{{ item }}" - timer_bestpath_limit: 255 - - - ansible.builtin.assert: &id002 - that: - - result.changed == true - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp: *id001 - - - ansible.builtin.assert: &id004 - that: - - result.changed == false - - - name: Reset bestpath limit - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp: &id003 - asn: 65535 - vrf: "{{ item }}" - timer_bestpath_limit: default - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - when: bgp_best_path_limit - cisco.nxos.nxos_bgp: *id003 - - - ansible.builtin.assert: *id004 - when: bgp_best_path_limit - - - name: Set suppress FIB - register: result - cisco.nxos.nxos_bgp: &id005 - asn: 65535 - suppress_fib_pending: false - - - ansible.builtin.assert: *id002 - when: bgp_suppress_fib_supported - - - name: Check idempotence - register: result - when: bgp_suppress_fib_supported - cisco.nxos.nxos_bgp: *id005 - - - ansible.builtin.assert: *id004 - when: bgp_suppress_fib_supported - - - name: Reset suppress FIB - register: result - cisco.nxos.nxos_bgp: &id006 - asn: 65535 - suppress_fib_pending: true - - - ansible.builtin.assert: *id002 - when: bgp_suppress_fib_supported - - - name: Check idempotence - register: result - when: bgp_suppress_fib_supported - cisco.nxos.nxos_bgp: *id006 - - - ansible.builtin.assert: *id004 - when: bgp_suppress_fib_supported - rescue: - - ansible.builtin.debug: - msg: Tests can fail on I2/I4/A8/Fretta or helsinki images - always: - - name: Disable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - - - ansible.builtin.debug: - msg: END connection={{ ansible_connection }} nxos_bgp parameter test diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_address_family/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_address_family/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_address_family/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_address_family/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_address_family/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_address_family/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_address_family/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_address_family/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/defaults/main.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/defaults/main.yaml deleted file mode 100644 index 525b7aab9..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/defaults/main.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -testcase: "*" -vrfs: - - default - - myvrf diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/meta/main.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/meta/main.yml deleted file mode 100644 index f504a6ab2..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - prepare_nxos_tests diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tasks/cli.yaml deleted file mode 100644 index f6096901f..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tasks/cli.yaml +++ /dev/null @@ -1,32 +0,0 @@ ---- -- name: Collect common test cases - ansible.builtin.find: - paths: "{{ role_path }}/tests/common" - patterns: "{{ testcase }}.yaml" - connection: local - register: test_cases - -- name: Collect CLI test cases - ansible.builtin.find: - paths: "{{ role_path }}/tests/cli" - patterns: "{{ testcase }}.yaml" - connection: local - register: cli_cases - -- name: Set a fact for 'test_cases' - ansible.builtin.set_fact: - test_cases: - files: "{{ test_cases.files + cli_cases.files }}" - -- name: Set test_items - ansible.builtin.set_fact: - test_items: "{{ test_cases.files | map(attribute='path') | list }}" - -- name: Run test cases (connection=ansible.netcommon.network_cli) - ansible.builtin.include_tasks: "{{ test_case_to_run }}" - with_items: "{{ test_items }}" - loop_control: - loop_var: test_case_to_run - vars: - ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tasks/main.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tasks/main.yaml deleted file mode 100644 index a1da90e57..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tasks/main.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- name: Include the CLI tasks - ansible.builtin.include_tasks: cli.yaml - tags: - - cli - -- name: Include the NX-API tasks - ansible.builtin.include_tasks: nxapi.yaml - tags: - - nxapi diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tasks/nxapi.yaml deleted file mode 100644 index b4ed55204..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tasks/nxapi.yaml +++ /dev/null @@ -1,32 +0,0 @@ ---- -- name: Collect common test cases - ansible.builtin.find: - paths: "{{ role_path }}/tests/common" - patterns: "{{ testcase }}.yaml" - connection: local - register: test_cases - -- name: Collect NX-API test cases - ansible.builtin.find: - paths: "{{ role_path }}/tests/nxapi" - patterns: "{{ testcase }}.yaml" - connection: local - register: nxapi_cases - -- name: Set a fact for 'test_cases' - ansible.builtin.set_fact: - test_cases: - files: "{{ test_cases.files + nxapi_cases.files }}" - -- name: Set test_items - ansible.builtin.set_fact: - test_items: "{{ test_cases.files | map(attribute='path') | list }}" - -- name: Run test cases (connection=ansible.netcommon.httpapi) - ansible.builtin.include_tasks: "{{ test_case_to_run }}" - with_items: "{{ test_items }}" - loop_control: - loop_var: test_case_to_run - vars: - ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tests/common/multisite.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tests/common/multisite.yaml deleted file mode 100644 index 93eb7654c..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tests/common/multisite.yaml +++ /dev/null @@ -1,132 +0,0 @@ ---- -- ansible.builtin.debug: - msg: START connection={{ ansible_connection }} nxos_bgp_af multisite sanity test - -- name: Enable 'feature bgp' - multisite - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: enabled - -- name: Enable 'feature nv overlay' - multisite - ignore_errors: true - cisco.nxos.nxos_feature: - feature: nv overlay - state: enabled - -- name: Setup - multisite - ignore_errors: true - cisco.nxos.nxos_bgp: - asn: 65535 - state: absent - -- name: Enable NV overlay EVPN - multisite - when: platform is search('N9K') - ignore_errors: true - cisco.nxos.nxos_config: - lines: - - nv overlay evpn - -- name: Enable multisite border gateway - multisite - ignore_errors: true - register: multiout - cisco.nxos.nxos_config: - lines: - - evpn multisite border-gateway 10 - -- block: - - name: Configure BGP_AF route target name - register: result - cisco.nxos.nxos_bgp_af: &id001 - asn: 65535 - afi: l2vpn - safi: evpn - state: present - retain_route_target: abc - - - ansible.builtin.assert: &id002 - that: - - result.changed == true - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_af: *id001 - - - ansible.builtin.assert: &id004 - that: - - result.changed == false - - - name: Configure BGP_AF route target default - register: result - cisco.nxos.nxos_bgp_af: &id003 - asn: 65535 - afi: l2vpn - safi: evpn - state: present - retain_route_target: default - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_af: *id003 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP_AF 1 route target all - register: result - cisco.nxos.nxos_bgp_af: &id005 - asn: 65535 - afi: l2vpn - safi: evpn - state: present - retain_route_target: all - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_af: *id005 - - - ansible.builtin.assert: *id004 - - - name: Remove BGP - route target - register: result - cisco.nxos.nxos_bgp_af: - asn: 65535 - afi: l2vpn - safi: evpn - retain_route_target: all - state: absent - - - ansible.builtin.assert: *id002 - - - name: Disable multisite border gateway - multisite - cisco.nxos.nxos_config: - lines: - - no evpn multisite border-gateway 10 - when: multiout is not search("Invalid command") - -- name: Disable 'feature bgp' - multisite - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - -- name: Disable 'feature nv overlay' - multisite - ignore_errors: true - cisco.nxos.nxos_feature: - feature: nv overlay - state: disabled - -- ansible.builtin.pause: - seconds: 5 - -- name: Remove NV overlay EVPN - multisite - when: platform is search('N9K') - cisco.nxos.nxos_config: - lines: - - no nv overlay evpn - -- ansible.builtin.debug: - msg: END connection={{ ansible_connection }} nxos_bgp_af multisite sanity test diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tests/common/sanity.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tests/common/sanity.yaml deleted file mode 100644 index fa06c19f9..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_af/tests/common/sanity.yaml +++ /dev/null @@ -1,342 +0,0 @@ ---- -- ansible.builtin.debug: - msg: START connection={{ ansible_connection }} nxos_bgp_af sanity test - -- name: Set a fact for 'advertise_l2vpn_evpn' - ansible.builtin.set_fact: - advertise_l2vpn_evpn: true - when: platform is search('N9K') - -- name: Enable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: enabled - -- name: Enable 'feature nv overlay' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: nv overlay - state: enabled - -- name: Setup - ignore_errors: true - cisco.nxos.nxos_bgp: &id012 - asn: 65535 - state: absent - -- block: - - name: Enable NV overlay EVPN - when: platform is search('N9K') - cisco.nxos.nxos_config: - lines: - - nv overlay evpn - - - name: Configure BGP_AF 1 - register: result - cisco.nxos.nxos_bgp_af: &id001 - asn: 65535 - vrf: testing - afi: ipv4 - safi: unicast - advertise_l2vpn_evpn: "{{advertise_l2vpn_evpn|default(omit)}}" - state: present - - - ansible.builtin.assert: &id002 - that: - - result.changed == true - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_af: *id001 - - - ansible.builtin.assert: &id004 - that: - - result.changed == false - - - name: Remove BGP - register: result - cisco.nxos.nxos_bgp_af: - asn: 65535 - vrf: testing - afi: ipv4 - safi: unicast - state: absent - - - ansible.builtin.assert: *id002 - - - name: Configure BGP_AF 2 - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: &id003 - asn: 65535 - vrf: "{{ item }}" - afi: ipv4 - safi: unicast - dampening_state: true - additional_paths_install: true - additional_paths_receive: true - additional_paths_selection: RouteMap - additional_paths_send: true - client_to_client: false - default_information_originate: true - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: *id003 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP_AF def2 - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: &id005 - asn: 65535 - vrf: "{{ item }}" - afi: ipv4 - safi: unicast - dampening_state: false - additional_paths_install: false - additional_paths_receive: false - additional_paths_selection: default - additional_paths_send: false - client_to_client: true - default_information_originate: false - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: *id005 - - - ansible.builtin.assert: *id004 - - - name: Remove BGP - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: &id008 - asn: 65535 - vrf: "{{ item }}" - afi: ipv4 - safi: unicast - state: absent - - - ansible.builtin.assert: *id002 - - - name: Configure BGP_AF 3 - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: &id006 - asn: 65535 - vrf: "{{ item }}" - afi: ipv4 - safi: unicast - dampening_routemap: abcd - default_metric: 50 - distance_ebgp: 30 - distance_ibgp: 60 - distance_local: 90 - maximum_paths: 9 - maximum_paths_ibgp: 9 - next_hop_route_map: RouteMap - suppress_inactive: true - table_map: RouteMap - table_map_filter: true - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: *id006 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP_AF def3 - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: &id007 - asn: 65535 - vrf: "{{ item }}" - afi: ipv4 - safi: unicast - dampening_routemap: default - default_metric: default - distance_ebgp: default - distance_ibgp: default - distance_local: default - maximum_paths: default - maximum_paths_ibgp: default - next_hop_route_map: default - suppress_inactive: false - table_map: default - table_map_filter: false - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: *id007 - - - ansible.builtin.assert: *id004 - - - name: Remove BGP - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: *id008 - - - ansible.builtin.assert: *id002 - - - name: Configure BGP_AF 4 - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: &id009 - asn: 65535 - vrf: "{{ item }}" - afi: ipv4 - safi: unicast - dampen_igp_metric: 200 - dampening_half_time: 1 - dampening_max_suppress_time: 4 - dampening_reuse_time: 2 - dampening_suppress_time: 3 - inject_map: - - - lax_inject_map - - lax_exist_map - - - nyc_inject_map - - nyc_exist_map - - copy-attributes - - - fsd_inject_map - - fsd_exist_map - networks: - - - 10.0.0.0/16 - - routemap_LA - - - 192.168.1.1/32 - - Chicago - - - 192.168.2.0/24 - - - 192.168.3.0/24 - - routemap_NYC - redistribute: - - - direct - - rm_direct - - - lisp - - rm_lisp - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: *id009 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP_AF 5 - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: &id010 - asn: 65535 - vrf: "{{ item }}" - afi: ipv4 - safi: unicast - dampen_igp_metric: 300 - dampening_half_time: 10 - dampening_max_suppress_time: 40 - dampening_reuse_time: 20 - dampening_suppress_time: 30 - inject_map: - - - fsd_inject_map - - fsd_exist_map - networks: - - - 192.168.2.0/24 - redistribute: - - - lisp - - rm_lisp - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: *id010 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP_AF def5 - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: &id011 - asn: 65535 - vrf: "{{ item }}" - afi: ipv4 - safi: unicast - dampen_igp_metric: default - dampening_half_time: default - dampening_max_suppress_time: default - dampening_reuse_time: default - dampening_suppress_time: default - inject_map: default - networks: default - redistribute: default - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: *id011 - - - ansible.builtin.assert: *id004 - - - name: Remove BGP - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: *id008 - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_af: *id008 - - - ansible.builtin.assert: *id004 - rescue: - - name: Cleanup BGP - ignore_errors: true - cisco.nxos.nxos_bgp: *id012 - always: - - name: Disable 'feature bgp' - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - - - name: Disable 'feature nv overlay' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: nv overlay - state: disabled - - - ansible.builtin.pause: - seconds: 5 - - - name: Remove NV overlay EVPN - when: platform is search('N9K') - cisco.nxos.nxos_config: - lines: - - no nv overlay evpn - - - ansible.builtin.debug: - msg: END connection={{ ansible_connection }} nxos_bgp_af sanity test diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_global/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_global/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_global/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_global/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_global/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_global/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_global/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_global/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/defaults/main.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/defaults/main.yaml deleted file mode 100644 index 525b7aab9..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/defaults/main.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -testcase: "*" -vrfs: - - default - - myvrf diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/meta/main.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/meta/main.yml deleted file mode 100644 index f504a6ab2..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - prepare_nxos_tests diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tasks/cli.yaml deleted file mode 100644 index f6096901f..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tasks/cli.yaml +++ /dev/null @@ -1,32 +0,0 @@ ---- -- name: Collect common test cases - ansible.builtin.find: - paths: "{{ role_path }}/tests/common" - patterns: "{{ testcase }}.yaml" - connection: local - register: test_cases - -- name: Collect CLI test cases - ansible.builtin.find: - paths: "{{ role_path }}/tests/cli" - patterns: "{{ testcase }}.yaml" - connection: local - register: cli_cases - -- name: Set a fact for 'test_cases' - ansible.builtin.set_fact: - test_cases: - files: "{{ test_cases.files + cli_cases.files }}" - -- name: Set test_items - ansible.builtin.set_fact: - test_items: "{{ test_cases.files | map(attribute='path') | list }}" - -- name: Run test cases (connection=ansible.netcommon.network_cli) - ansible.builtin.include_tasks: "{{ test_case_to_run }}" - with_items: "{{ test_items }}" - loop_control: - loop_var: test_case_to_run - vars: - ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tasks/main.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tasks/main.yaml deleted file mode 100644 index a1da90e57..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tasks/main.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- name: Include the CLI tasks - ansible.builtin.include_tasks: cli.yaml - tags: - - cli - -- name: Include the NX-API tasks - ansible.builtin.include_tasks: nxapi.yaml - tags: - - nxapi diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tests/common/multisite.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tests/common/multisite.yaml deleted file mode 100644 index f567a6e04..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tests/common/multisite.yaml +++ /dev/null @@ -1,123 +0,0 @@ ---- -- ansible.builtin.debug: - msg: START connection={{ ansible_connection }} nxos_bgp_neighbor multisite sanity test - -- name: Set a fact for 'intname' - ansible.builtin.set_fact: - intname: "{{ nxos_int1 }}" - -- name: "Setup: disable features - multisite" - loop: - - bgp - - bfd - - nv overlay - ignore_errors: true - cisco.nxos.nxos_feature: - feature: "{{ item }}" - state: disabled - -- name: "Setup: enable features - multisite" - loop: - - bgp - - bfd - - nv overlay - ignore_errors: true - cisco.nxos.nxos_feature: - feature: "{{ item }}" - state: enabled - -- name: Enable NV overlay EVPN - multisite - when: platform is search('N9K') - ignore_errors: true - cisco.nxos.nxos_config: - lines: - - nv overlay evpn - -- name: Enable multisite border gateway - multisite - ignore_errors: true - register: multiout - cisco.nxos.nxos_config: - lines: - - evpn multisite border-gateway 10 - -- block: - - name: Configure BGP neighbor1 - multisite - register: result - cisco.nxos.nxos_bgp_neighbor: &id001 - asn: 65535 - neighbor: 192.0.2.3/32 - remote_as: 33.22 - description: just a description - shutdown: true - state: present - peer_type: fabric_border_leaf - - - ansible.builtin.assert: &id002 - that: - - result.changed == true - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor: *id001 - - - ansible.builtin.assert: &id004 - that: - - result.changed == false - - - name: Configure BGP neighbor2 - multisite - register: result - cisco.nxos.nxos_bgp_neighbor: &id003 - asn: 65535 - neighbor: 192.0.2.3/32 - peer_type: disable - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor: *id003 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP neighbor3 - multisite - register: result - cisco.nxos.nxos_bgp_neighbor: &id005 - asn: 65535 - neighbor: 192.0.2.3/32 - peer_type: fabric_external - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor: *id005 - - - ansible.builtin.assert: *id004 - - - name: Disable multisite border gateway - multisite - cisco.nxos.nxos_config: - lines: - - no evpn multisite border-gateway 10 - when: multiout is not search("Invalid command") - -- name: "Teardown: disable features" - loop: - - bgp - - bfd - - nv overlay - ignore_errors: true - cisco.nxos.nxos_feature: - feature: "{{ item }}" - state: disabled - -- ansible.builtin.pause: - seconds: 5 - -- name: Remove NV overlay EVPN - multisite - when: platform is search('N9K') - cisco.nxos.nxos_config: - lines: - - no nv overlay evpn - -- ansible.builtin.debug: - msg: END connection={{ ansible_connection }} nxos_bgp_neighbor multisite sanity test diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tests/common/sanity.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tests/common/sanity.yaml deleted file mode 100644 index c2fff45a0..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tests/common/sanity.yaml +++ /dev/null @@ -1,357 +0,0 @@ ---- -- ansible.builtin.debug: - msg: START connection={{ ansible_connection }} nxos_bgp_neighbor sanity test - -- name: Set a fact for 'intname' - ansible.builtin.set_fact: - intname: "{{ nxos_int1 }}" - -- name: Set a fact for 'log_neighbor_changese' - ansible.builtin.set_fact: - log_neighbor_changese: enable - when: (imagetag and imagetag is not search("D1|N1")) - -- name: Set a fact for 'log_neighbor_changesd' - ansible.builtin.set_fact: - log_neighbor_changesd: disable - when: (imagetag and imagetag is not search("D1|N1")) - -- ansible.builtin.debug: - var: titanium - -- name: Set a fact for 'remove_private_asa' - ansible.builtin.set_fact: - remove_private_asa: all - when: not titanium - -- name: Set a fact for 'remove_private_asr' - ansible.builtin.set_fact: - remove_private_asr: replace-as - when: not titanium - -- name: "Setup: disable features" - loop: - - bgp - - bfd - ignore_errors: true - cisco.nxos.nxos_feature: - feature: "{{ item }}" - state: disabled - -- name: "Setup: enable features" - loop: - - bgp - - bfd - cisco.nxos.nxos_feature: - feature: "{{ item }}" - state: enabled - -- block: - - name: Configure BGP neighbor1 - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: &id001 - asn: 65535 - neighbor: 192.0.2.3/32 - vrf: "{{ item }}" - connected_check: true - capability_negotiation: true - dynamic_capability: true - ebgp_multihop: 2 - low_memory_exempt: true - maximum_peers: 10 - suppress_4_byte_as: true - timers_keepalive: 90 - timers_holdtime: 270 - log_neighbor_changes: "{{log_neighbor_changese|default(omit)}}" - local_as: 22.33 - remote_as: 33.22 - description: just a description - update_source: "{{ intname.capitalize() }}" - shutdown: true - state: present - - - ansible.builtin.assert: &id002 - that: - - result.changed == true - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id001 - - - ansible.builtin.assert: &id004 - that: - - result.changed == false - - - name: Configure BGP neighbor2 - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: &id003 - asn: 65535 - neighbor: 192.0.2.3/32 - vrf: "{{ item }}" - connected_check: false - capability_negotiation: false - dynamic_capability: false - ebgp_multihop: default - low_memory_exempt: false - maximum_peers: default - suppress_4_byte_as: false - timers_keepalive: default - timers_holdtime: default - log_neighbor_changes: "{{log_neighbor_changesd|default(omit)}}" - local_as: default - remote_as: default - description: default - update_source: default - shutdown: false - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id003 - - - ansible.builtin.assert: *id004 - - - name: Remove BGP - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: &id005 - asn: 65535 - neighbor: 192.0.2.3/32 - vrf: "{{ item }}" - state: absent - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id005 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP neighbor3 - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: &id006 - asn: 65535 - neighbor: 192.0.2.3/32 - vrf: "{{ item }}" - description: tested by ansible - remove_private_as: "{{remove_private_asa|default(omit)}}" - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id006 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP neighbor4 - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: &id007 - asn: 65535 - neighbor: 192.0.2.3/32 - vrf: "{{ item }}" - description: tested by ansible - remove_private_as: "{{remove_private_asr|default(omit)}}" - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id007 - - - ansible.builtin.assert: *id004 - - - name: Remove BGP - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id005 - - - ansible.builtin.assert: *id002 - - - name: Configure BGP neighbor 3des password - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: &id008 - asn: 65535 - neighbor: 192.0.2.3/32 - vrf: "{{ item }}" - remote_as: 30 - pwd: 386c0565965f89de - pwd_type: 3des - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id008 - - - ansible.builtin.assert: *id004 - - - name: Remove BGP - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id005 - - - ansible.builtin.assert: *id002 - - - name: Configure BGP neighbor type 7 password - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: &id009 - asn: 65535 - neighbor: 192.0.2.3/32 - vrf: "{{ item }}" - remote_as: 30 - pwd: 386c0565965f89de - pwd_type: cisco_type_7 - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id009 - - - ansible.builtin.assert: *id004 - - - name: Remove BGP neighbor password - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: &id010 - asn: 65535 - neighbor: 192.0.2.3/32 - vrf: "{{ item }}" - remote_as: 30 - pwd: default - pwd_type: default - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id010 - - - ansible.builtin.assert: *id004 - - - name: Remove BGP - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id005 - - - ansible.builtin.assert: *id002 - - - name: Configure BGP neighbor transport type passive - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: &id011 - asn: 65535 - neighbor: 192.0.2.3 - vrf: "{{ item }}" - remote_as: 30 - transport_passive_only: true - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id011 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP neighbor transport type default - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: &id012 - asn: 65535 - neighbor: 192.0.2.3 - vrf: "{{ item }}" - remote_as: 30 - transport_passive_only: false - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id012 - - - ansible.builtin.assert: *id004 - - - name: Remove BGP - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: &id013 - asn: 65535 - neighbor: 192.0.2.3 - vrf: "{{ item }}" - state: absent - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - with_items: "{{ vrfs }}" - register: result - cisco.nxos.nxos_bgp_neighbor: *id013 - - - ansible.builtin.assert: *id004 - - - name: Configure BFD enable - register: result - cisco.nxos.nxos_bgp_neighbor: &id014 - asn: 65535 - neighbor: 192.168.1.1 - bfd: enable - state: present - - - ansible.builtin.assert: *id002 - - - name: Check BFD enable idempotence - register: result - cisco.nxos.nxos_bgp_neighbor: *id014 - - - ansible.builtin.assert: *id004 - - - name: Configure BFD disable idempotence - register: result - cisco.nxos.nxos_bgp_neighbor: &id015 - asn: 65535 - neighbor: 192.168.1.1 - bfd: disable - state: present - - - ansible.builtin.assert: *id002 - - - name: Check BFD disable idempotence - register: result - cisco.nxos.nxos_bgp_neighbor: *id015 - - - ansible.builtin.assert: *id004 - always: - - name: "Teardown: disable features" - loop: - - bgp - - bfd - ignore_errors: true - cisco.nxos.nxos_feature: - feature: "{{ item }}" - state: disabled - -- ansible.builtin.debug: - msg: END connection={{ ansible_connection }} nxos_bgp_neighbor sanity test diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_address_family/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/defaults/main.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/defaults/main.yaml deleted file mode 100644 index 5f709c5aa..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/defaults/main.yaml +++ /dev/null @@ -1,2 +0,0 @@ ---- -testcase: "*" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/meta/main.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/meta/main.yml deleted file mode 100644 index f504a6ab2..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - prepare_nxos_tests diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tasks/cli.yaml deleted file mode 100644 index f6096901f..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tasks/cli.yaml +++ /dev/null @@ -1,32 +0,0 @@ ---- -- name: Collect common test cases - ansible.builtin.find: - paths: "{{ role_path }}/tests/common" - patterns: "{{ testcase }}.yaml" - connection: local - register: test_cases - -- name: Collect CLI test cases - ansible.builtin.find: - paths: "{{ role_path }}/tests/cli" - patterns: "{{ testcase }}.yaml" - connection: local - register: cli_cases - -- name: Set a fact for 'test_cases' - ansible.builtin.set_fact: - test_cases: - files: "{{ test_cases.files + cli_cases.files }}" - -- name: Set test_items - ansible.builtin.set_fact: - test_items: "{{ test_cases.files | map(attribute='path') | list }}" - -- name: Run test cases (connection=ansible.netcommon.network_cli) - ansible.builtin.include_tasks: "{{ test_case_to_run }}" - with_items: "{{ test_items }}" - loop_control: - loop_var: test_case_to_run - vars: - ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tasks/main.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tasks/main.yaml deleted file mode 100644 index a1da90e57..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tasks/main.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- name: Include the CLI tasks - ansible.builtin.include_tasks: cli.yaml - tags: - - cli - -- name: Include the NX-API tasks - ansible.builtin.include_tasks: nxapi.yaml - tags: - - nxapi diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tasks/nxapi.yaml deleted file mode 100644 index b4ed55204..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tasks/nxapi.yaml +++ /dev/null @@ -1,32 +0,0 @@ ---- -- name: Collect common test cases - ansible.builtin.find: - paths: "{{ role_path }}/tests/common" - patterns: "{{ testcase }}.yaml" - connection: local - register: test_cases - -- name: Collect NX-API test cases - ansible.builtin.find: - paths: "{{ role_path }}/tests/nxapi" - patterns: "{{ testcase }}.yaml" - connection: local - register: nxapi_cases - -- name: Set a fact for 'test_cases' - ansible.builtin.set_fact: - test_cases: - files: "{{ test_cases.files + nxapi_cases.files }}" - -- name: Set test_items - ansible.builtin.set_fact: - test_items: "{{ test_cases.files | map(attribute='path') | list }}" - -- name: Run test cases (connection=ansible.netcommon.httpapi) - ansible.builtin.include_tasks: "{{ test_case_to_run }}" - with_items: "{{ test_items }}" - loop_control: - loop_var: test_case_to_run - vars: - ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tests/common/multisite.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tests/common/multisite.yaml deleted file mode 100644 index 12c31f7a2..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tests/common/multisite.yaml +++ /dev/null @@ -1,117 +0,0 @@ ---- -- ansible.builtin.debug: - msg: START connection={{ ansible_connection }} nxos_bgp_neighbor_af multisite sanity test - -- name: Set a fact for 'soft_reconfiguration_ina' - ansible.builtin.set_fact: - soft_reconfiguration_ina: always - when: imagetag is not search("D1|N1") - -- name: Disable 'feature bgp' - multisite - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - -- name: Enable 'feature bgp' - multisite - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: enabled - -- name: Enable 'feature nv overlay' - multisite - ignore_errors: true - cisco.nxos.nxos_feature: - feature: nv overlay - state: enabled - -- name: Enable NV overlay EVPN - multisite - when: platform is search('N9K') - cisco.nxos.nxos_config: - lines: - - nv overlay evpn - -- name: Enable multisite border gateway - multisite - ignore_errors: true - register: multiout - cisco.nxos.nxos_config: - lines: - - evpn multisite border-gateway 10 - -- block: - - name: Configure EBGP - multisite - cisco.nxos.nxos_bgp_neighbor: - asn: 65535 - neighbor: 192.0.2.3 - remote_as: 2 - - - name: Configure BGP neighbor - multisite - register: result - cisco.nxos.nxos_bgp_neighbor_af: &id001 - asn: 65535 - neighbor: 192.0.2.3 - afi: l2vpn - safi: evpn - send_community: standard - rewrite_evpn_rt_asn: true - state: present - - - ansible.builtin.assert: &id002 - that: - - result.changed == true - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor_af: *id001 - - - ansible.builtin.assert: &id004 - that: - - result.changed == false - - - name: Configure BGP neighbor 1 - multisite - register: result - cisco.nxos.nxos_bgp_neighbor_af: &id003 - asn: 65535 - neighbor: 192.0.2.3 - afi: l2vpn - safi: evpn - send_community: standard - rewrite_evpn_rt_asn: false - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor_af: *id003 - - - ansible.builtin.assert: *id004 - - - name: Disable multisite border gateway - multisite - cisco.nxos.nxos_config: - lines: - - no evpn multisite border-gateway 10 - when: multiout is not search("Invalid command") - -- name: Disable 'feature bgp' - multisite - cisco.nxos.nxos_feature: - feature: bgp - state: disabled - -- name: Disable 'feature nv overlay' - multisite - ignore_errors: true - cisco.nxos.nxos_feature: - feature: nv overlay - state: disabled - -- ansible.builtin.pause: - seconds: 5 - -- name: Remove NV overlay EVPN - multisite - when: platform is search('N9K') - cisco.nxos.nxos_config: - lines: - - no nv overlay evpn - -- ansible.builtin.debug: - msg: END connection={{ ansible_connection }} nxos_bgp_neighbor_af multisite sanity test diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tests/common/sanity.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tests/common/sanity.yaml deleted file mode 100644 index 3b680ad59..000000000 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor_af/tests/common/sanity.yaml +++ /dev/null @@ -1,295 +0,0 @@ ---- -- ansible.builtin.debug: - msg: START connection={{ ansible_connection }} nxos_bgp_neighbor_af sanity test - -- name: Set a fact for 'soft_reconfiguration_ina' - ansible.builtin.set_fact: - soft_reconfiguration_ina: always - when: imagetag is not search("D1|N1") - -- name: Disable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: &id013 - feature: bgp - state: disabled - -- name: Enable 'feature bgp' - ignore_errors: true - cisco.nxos.nxos_feature: - feature: bgp - state: enabled - -- block: - - name: Configure BGP neighbor address-family - register: result - cisco.nxos.nxos_bgp_neighbor_af: &id001 - asn: 65535 - neighbor: 192.0.2.3 - afi: ipv4 - safi: unicast - additional_paths_receive: enable - additional_paths_send: enable - advertise_map_exist: - - ansible_rm - - my_exist_map - allowas_in: true - default_originate: true - disable_peer_as_check: true - filter_list_in: my_filter_list_in - filter_list_out: my_filter_list_out - max_prefix_limit: 100 - max_prefix_threshold: 50 - max_prefix_warning: "true" - next_hop_self: true - next_hop_third_party: false - prefix_list_in: pfx_in - prefix_list_out: pfx_out - send_community: both - soft_reconfiguration_in: enable - suppress_inactive: true - unsuppress_map: unsup_map - weight: "30" - state: present - - - ansible.builtin.assert: &id002 - that: - - result.changed == true - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor_af: *id001 - - - ansible.builtin.assert: &id004 - that: - - result.changed == false - - - name: Configure BGP neighbor address-family def1 - register: result - cisco.nxos.nxos_bgp_neighbor_af: &id003 - asn: 65535 - neighbor: 192.0.2.3 - afi: ipv4 - safi: unicast - additional_paths_receive: inherit - additional_paths_send: inherit - advertise_map_exist: default - allowas_in: false - default_originate: false - disable_peer_as_check: false - filter_list_in: default - filter_list_out: default - max_prefix_limit: default - max_prefix_threshold: default - max_prefix_warning: false - next_hop_self: false - next_hop_third_party: false - prefix_list_in: default - prefix_list_out: default - send_community: none - soft_reconfiguration_in: inherit - suppress_inactive: false - unsuppress_map: default - weight: default - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor_af: *id003 - - - ansible.builtin.assert: *id004 - - - name: "Setup: remove BGP configuration" - register: result - cisco.nxos.nxos_bgp_neighbor_af: &id005 - asn: 65535 - neighbor: 192.0.2.3 - afi: ipv4 - safi: unicast - state: absent - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor_af: *id005 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP neighbor address-family - register: result - cisco.nxos.nxos_bgp_neighbor_af: &id006 - asn: 65535 - neighbor: 192.0.2.3 - afi: ipv4 - safi: unicast - allowas_in_max: "5" - advertise_map_non_exist: - - ansible_rm - - my_non_exist_map - default_originate_route_map: my_route_map - max_prefix_limit: 100 - max_prefix_interval: 30 - max_prefix_threshold: 50 - route_map_in: rm_in - route_map_out: rm_out - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor_af: *id006 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP neighbor address-family def2 - register: result - cisco.nxos.nxos_bgp_neighbor_af: &id007 - asn: 65535 - neighbor: 192.0.2.3 - afi: ipv4 - safi: unicast - allowas_in_max: default - advertise_map_non_exist: default - default_originate_route_map: default - max_prefix_limit: default - max_prefix_interval: default - max_prefix_threshold: default - route_map_in: default - route_map_out: default - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor_af: *id007 - - - ansible.builtin.assert: *id004 - - - name: "Setup: remove BGP configuration" - register: result - cisco.nxos.nxos_bgp_neighbor_af: *id005 - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor_af: *id005 - - - ansible.builtin.assert: *id004 - - - name: Configure EBGP - cisco.nxos.nxos_bgp_neighbor: - asn: 65535 - vrf: blue - neighbor: 192.0.2.3 - remote_as: 2 - - - name: Configure BGP neighbor 3 - register: result - cisco.nxos.nxos_bgp_neighbor_af: &id008 - asn: 65535 - vrf: blue - neighbor: 192.0.2.3 - afi: ipv4 - safi: unicast - additional_paths_receive: disable - additional_paths_send: disable - as_override: "true" - send_community: standard - soft_reconfiguration_in: "{{soft_reconfiguration_ina|default(omit)}}" - soo: "3:3" - next_hop_third_party: true - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor_af: *id008 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP neighbor def3 - register: result - cisco.nxos.nxos_bgp_neighbor_af: &id009 - asn: 65535 - vrf: blue - neighbor: 192.0.2.3 - afi: ipv4 - safi: unicast - additional_paths_receive: inherit - additional_paths_send: inherit - as_override: false - send_community: default - soo: default - state: present - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor_af: *id009 - - - ansible.builtin.assert: *id004 - - - name: "Setup: remove BGP configuration" - register: result - cisco.nxos.nxos_bgp: &id012 - asn: 65535 - state: absent - - - ansible.builtin.assert: *id002 - - - name: Configure BGP neighbor AF route_reflector_client - cisco.nxos.nxos_bgp_neighbor: - asn: 65535 - neighbor: 192.0.2.2 - remote_as: 65535 - - - name: Configure BGP neighbor 4 - register: result - cisco.nxos.nxos_bgp_neighbor_af: &id010 - asn: 65535 - neighbor: 192.0.2.2 - afi: ipv4 - safi: unicast - route_reflector_client: "true" - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor_af: *id010 - - - ansible.builtin.assert: *id004 - - - name: Configure BGP neighbor def4 - register: result - cisco.nxos.nxos_bgp_neighbor_af: &id011 - asn: 65535 - neighbor: 192.0.2.2 - afi: ipv4 - safi: unicast - route_reflector_client: false - - - ansible.builtin.assert: *id002 - - - name: Check idempotence - register: result - cisco.nxos.nxos_bgp_neighbor_af: *id011 - - - ansible.builtin.assert: *id004 - always: - - name: Cleanup BGP - ignore_errors: true - cisco.nxos.nxos_bgp: *id012 - - - name: Disable 'feature bgp' - cisco.nxos.nxos_feature: *id013 - - - ansible.builtin.debug: - msg: END connection={{ ansible_connection }} nxos_bgp_neighbor_af sanity test diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/defaults/main.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/defaults/main.yaml new file mode 100644 index 000000000..871ea460c --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/defaults/main.yaml @@ -0,0 +1,2 @@ +--- +testcase: "[^_].*" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/meta/main.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/meta/main.yml new file mode 100644 index 000000000..ed97d539c --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/meta/main.yml @@ -0,0 +1 @@ +--- diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tasks/cli.yaml index f6096901f..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tasks/cli.yaml @@ -3,6 +3,7 @@ ansible.builtin.find: paths: "{{ role_path }}/tests/common" patterns: "{{ testcase }}.yaml" + use_regex: true connection: local register: test_cases @@ -22,11 +23,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tasks/main.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tasks/main.yaml new file mode 100644 index 000000000..026b6e477 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tasks/main.yaml @@ -0,0 +1,26 @@ +--- +- name: Enable 'feature bgp' + cisco.nxos.nxos_feature: + feature: bgp + vars: + ansible_connection: ansible.netcommon.network_cli + +- name: Run the CLI and NX-API tests + block: + - name: Include the CLI tasks + ansible.builtin.include_tasks: cli.yaml + tags: + - cli + + - name: Include the NX-API tasks + ansible.builtin.include_tasks: nxapi.yaml + tags: + - nxapi + + always: + - name: Disable 'feature bgp' + cisco.nxos.nxos_feature: + feature: bgp + state: disabled + vars: + ansible_connection: ansible.netcommon.network_cli diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tasks/nxapi.yaml index b4ed55204..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_neighbor/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tasks/nxapi.yaml @@ -3,6 +3,7 @@ ansible.builtin.find: paths: "{{ role_path }}/tests/common" patterns: "{{ testcase }}.yaml" + use_regex: true connection: local register: test_cases @@ -22,11 +23,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/_populate_config.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/_populate_config.yaml new file mode 100644 index 000000000..2fe977e28 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/_populate_config.yaml @@ -0,0 +1,25 @@ +--- +- name: "Setup - 1" + cisco.nxos.nxos_config: + lines: + - router bgp 65536 + - template peer neighbor_tmplt_2 + - description Test_BGP_PEER_TEMPLATE_2 + - inherit peer-session psession1 + - timers 45 100 + - address-family ipv4 multicast + - advertise-map rmap1 exist-map emap1 + - as-override + - filter-list flist1 in + - filter-list flist2 out + - template peer neighbor_tmplt_1 + - bmp-activate-server 2 + - capability suppress 4-byte-as + - description Test_BGP_PEER_TEMPLATE_1 + - local-as 65536 + - remote-as 65001 + - address-family ipv4 unicast + - advertise-map rmap1 non-exist-map nemap1 + - advertisement-interval 60 + - disable-peer-as-check + match: none diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/_remove_config.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/_remove_config.yaml new file mode 100644 index 000000000..af7092576 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/_remove_config.yaml @@ -0,0 +1,8 @@ +--- +- name: Remove pre-existing BGP configurations + cisco.nxos.nxos_config: + lines: + - no router bgp 65536 + ignore_errors: true + vars: + ansible_connection: ansible.netcommon.network_cli diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/deleted.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/deleted.yaml new file mode 100644 index 000000000..ab2efb521 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/deleted.yaml @@ -0,0 +1,44 @@ +--- +- ansible.builtin.debug: + msg: Start nxos_bgp_templates deleted integration tests connection={{ ansible_connection}} + +- ansible.builtin.include_tasks: _remove_config.yaml + +- ansible.builtin.include_tasks: _populate_config.yaml + +- block: + - name: Delete BGP configs handled by this module + cisco.nxos.nxos_bgp_templates: &id001 + state: deleted + register: result + + - name: Assert that before dicts are correctly generated + ansible.builtin.assert: + that: + - merged['after'] == result['before'] + + - ansible.builtin.debug: + msg: "{{ result['commands'] | symmetric_difference(deleted['commands']) }}" + + - name: Assert that correct set of commands were generated + ansible.builtin.assert: + that: + - "{{ result['commands'] | symmetric_difference(deleted['commands']) |length == 0 }}" + + - name: Assert that after dict is correctly generated + ansible.builtin.assert: + that: + - deleted['after'] == result['after'] + + - name: Delete BGP configs handled by this module (idempotent) + register: result + cisco.nxos.nxos_bgp_templates: *id001 + + - name: Assert that task was idempotent + ansible.builtin.assert: + that: + - result['changed'] == false + - result.commands|length == 0 + + always: + - ansible.builtin.include_tasks: _remove_config.yaml diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/empty_config.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/empty_config.yaml new file mode 100644 index 000000000..f57679e8b --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/empty_config.yaml @@ -0,0 +1,61 @@ +--- +- ansible.builtin.debug: + msg: START nxos_bgp_templates empty_config integration tests on connection={{ ansible_connection }} + +- name: Merged with empty configuration should give appropriate error message + register: result + ignore_errors: true + cisco.nxos.nxos_bgp_templates: + config: + state: merged + +- ansible.builtin.assert: + that: + - result.msg == 'value of config parameter must not be empty for state merged' + +- name: Replaced with empty configuration should give appropriate error message + register: result + ignore_errors: true + cisco.nxos.nxos_bgp_templates: + config: + state: replaced + +- ansible.builtin.assert: + that: + - result.msg == 'value of config parameter must not be empty for state replaced' + +- name: Overridden with empty configuration should give appropriate error message + register: result + ignore_errors: true + cisco.nxos.nxos_bgp_templates: + config: + state: overridden + +- ansible.builtin.assert: + that: + - result.msg == 'value of config parameter must not be empty for state overridden' + +- name: Rendered with empty configuration should give appropriate error message + register: result + ignore_errors: true + cisco.nxos.nxos_bgp_templates: + config: + state: rendered + +- ansible.builtin.assert: + that: + - result.msg == 'value of config parameter must not be empty for state rendered' + +- name: Parsed with empty configuration should give appropriate error message + register: result + ignore_errors: true + cisco.nxos.nxos_bgp_templates: + running_config: + state: parsed + +- ansible.builtin.assert: + that: + - result.msg == 'value of running_config parameter must not be empty for state parsed' + +- ansible.builtin.debug: + msg: END nxos_bgp_templates empty_config integration tests diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/fixtures/parsed.cfg b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/fixtures/parsed.cfg new file mode 100644 index 000000000..615f7fa21 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/fixtures/parsed.cfg @@ -0,0 +1,20 @@ +router bgp 65536 + template peer neighbor_tmplt_1 + bmp-activate-server 2 + capability suppress 4-byte-as + description Test_BGP_PEER_TEMPLATE_1 + local-as 65536 + remote-as 65001 + address-family ipv4 unicast + advertise-map rmap1 non-exist-map nemap1 + advertisement-interval 60 + disable-peer-as-check + template peer neighbor_tmplt_2 + description Test_BGP_PEER_TEMPLATE_2 + inherit peer-session psession1 + timers 45 100 + address-family ipv4 multicast + advertise-map rmap1 exist-map emap1 + as-override + filter-list flist1 in + filter-list flist2 out diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/gathered.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/gathered.yaml new file mode 100644 index 000000000..1cdf9a2f2 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/gathered.yaml @@ -0,0 +1,20 @@ +--- +- ansible.builtin.debug: + msg: "START nxos_bgp_templates gathered integration tests" + +- ansible.builtin.include_tasks: _remove_config.yaml + +- ansible.builtin.include_tasks: _populate_config.yaml + +- block: + - name: Gather BGP templates facts using gathered + register: result + cisco.nxos.nxos_bgp_templates: + state: gathered + + - name: Assert that facts were correctly generated + ansible.builtin.assert: + that: merged['after'] == result['gathered'] + + always: + - ansible.builtin.include_tasks: _remove_config.yaml diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/merged.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/merged.yaml new file mode 100644 index 000000000..acacacd02 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/merged.yaml @@ -0,0 +1,72 @@ +--- +- ansible.builtin.debug: + msg: Start nxos_bgp_templates merged integration tests connection={{ ansible_connection}} + +- ansible.builtin.include_tasks: _remove_config.yaml + +- block: + - name: Merge the provided configuration with the existing running configuration + cisco.nxos.nxos_bgp_templates: &id001 + config: + as_number: 65536 + neighbor: + - name: neighbor_tmplt_1 + address_family: + - afi: ipv4 + safi: unicast + advertise_map: + route_map: rmap1 + non_exist_map: nemap1 + advertisement_interval: 60 + disable_peer_as_check: true + bmp_activate_server: 2 + capability: + suppress_4_byte_as: true + description: Test_BGP_PEER_TEMPLATE_1 + local_as: 65536 + remote_as: 65001 + + - name: neighbor_tmplt_2 + description: Test_BGP_PEER_TEMPLATE_2 + address_family: + - afi: ipv4 + safi: multicast + advertise_map: + route_map: rmap1 + exist_map: emap1 + as_override: true + filter_list: + inbound: flist1 + outbound: flist2 + inherit: + peer_session: psession1 + timers: + holdtime: 100 + keepalive: 45 + register: result + + - name: Assert that before dicts were correctly generated + ansible.builtin.assert: + that: "{{ result['before'] == {} }}" + + - name: Assert that correct set of commands were generated + ansible.builtin.assert: + that: + - "{{ merged['commands'] | symmetric_difference(result['commands']) |length == 0 }}" + + - name: Assert that after dicts were correctly generated + ansible.builtin.assert: + that: + - merged['after'] == result['after'] + + - name: Merge the provided configuration with the existing running configuration (idempotent) + cisco.nxos.nxos_bgp_templates: *id001 + register: result + + - name: Assert that the previous task was idempotent + ansible.builtin.assert: + that: + - result['changed'] == false + - result.commands|length == 0 + always: + - ansible.builtin.include_tasks: _remove_config.yaml diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/overridden.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/overridden.yaml new file mode 100644 index 000000000..c66b10284 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/overridden.yaml @@ -0,0 +1,61 @@ +--- +- ansible.builtin.debug: + msg: Start nxos_bgp_templates replaced integration tests connection={{ ansible_connection}} + +- ansible.builtin.include_tasks: _remove_config.yaml + +- ansible.builtin.include_tasks: _populate_config.yaml + +- block: + - name: Override BGP templates configuration with provided configuration + cisco.nxos.nxos_bgp_templates: &id001 + config: + as_number: 65536 + neighbor: + - name: neighbor_tmplt_1 + address_family: + - afi: ipv4 + safi: unicast + advertise_map: + route_map: rmap1 + non_exist_map: nemap1 + advertisement_interval: 60 + disable_peer_as_check: true + inherit: + peer_session: psession1 + description: Test_BGP_PEER_TEMPLATE_1 + local_as: 65537 + state: overridden + register: result + + - name: Assert that correct set of commands were generated + ansible.builtin.assert: + that: + - "{{ overridden['commands'] | symmetric_difference(result['commands']) |length == 0 }}" + + - name: Assert that after dict is correctly generated + ansible.builtin.assert: + that: + - overridden['after'] == result['after'] + + - name: Assert that before dicts are correctly generated + ansible.builtin.assert: + that: + - merged['after'] == result['before'] + + - name: Override device configurations of listed OSPF processes with provided configurarions (idempotent) + register: result + cisco.nxos.nxos_bgp_templates: *id001 + + - name: Assert that task was idempotent + ansible.builtin.assert: + that: + - result['changed'] == false + - result.commands|length == 0 + + - name: Assert that before dict is correctly generated + ansible.builtin.assert: + that: + - overridden['after'] == result['before'] + always: + - ansible.builtin.include_tasks: _remove_config.yaml diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/parsed.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/parsed.yaml new file mode 100644 index 000000000..0a04fa376 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/parsed.yaml @@ -0,0 +1,14 @@ +--- +- ansible.builtin.debug: + msg: START nxos_bgp_templates parsed integration tests on connection={{ ansible_connection }} + +- name: Parse externally provided BGP templates configuration + register: result + cisco.nxos.nxos_bgp_templates: + running_config: "{{ lookup('file', './fixtures/parsed.cfg') }}" + state: parsed + +- name: Assert that configuration was correctly parsed + ansible.builtin.assert: + that: + - merged['after'] == result['parsed'] diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/rendered.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/rendered.yaml new file mode 100644 index 000000000..411e8761f --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/rendered.yaml @@ -0,0 +1,59 @@ +--- +- ansible.builtin.debug: + msg: START nxos_bgp_templates rendered integration tests on connection={{ ansible_connection }} + +- name: Render platform specific configuration lines with state rendered (without connecting to the device) + cisco.nxos.nxos_bgp_templates: + config: + as_number: 65536 + neighbor: + - name: neighbor_tmplt_1 + address_family: + - afi: ipv4 + safi: unicast + advertise_map: + route_map: rmap1 + non_exist_map: nemap1 + advertisement_interval: 60 + disable_peer_as_check: true + bmp_activate_server: 2 + capability: + suppress_4_byte_as: true + description: Test_BGP_PEER_TEMPLATE_1 + local_as: 65536 + remote_as: 65001 + + - name: neighbor_tmplt_2 + description: Test_BGP_PEER_TEMPLATE_2 + address_family: + - afi: ipv4 + safi: multicast + advertise_map: + route_map: rmap1 + exist_map: emap1 + as_override: true + filter_list: + inbound: flist1 + outbound: flist2 + inherit: + peer_session: psession1 + timers: + holdtime: 100 + keepalive: 45 + state: rendered + register: result + +- name: Assert that correct set of commands were rendered + ansible.builtin.assert: + that: + - "{{ merged['commands'] | symmetric_difference(result['rendered']) |length == 0 }}" + +- name: Gather BGP templates facts + cisco.nxos.nxos_bgp_templates: + state: gathered + register: result + +- name: Ensure that no configuration changes were made + ansible.builtin.assert: + that: + - result.gathered == {} diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/replaced.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/replaced.yaml new file mode 100644 index 000000000..73bd4b73f --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/tests/common/replaced.yaml @@ -0,0 +1,61 @@ +--- +- ansible.builtin.debug: + msg: Start nxos_bgp_templates replaced integration tests connection={{ ansible_connection}} + +- ansible.builtin.include_tasks: _remove_config.yaml + +- ansible.builtin.include_tasks: _populate_config.yaml + +- block: + - name: Replace BGP templates configuration with provided configuration + cisco.nxos.nxos_bgp_templates: &id001 + config: + as_number: 65536 + neighbor: + - name: neighbor_tmplt_1 + address_family: + - afi: ipv4 + safi: unicast + advertise_map: + route_map: rmap1 + non_exist_map: nemap1 + advertisement_interval: 60 + disable_peer_as_check: true + inherit: + peer_session: psession1 + description: Test_BGP_PEER_TEMPLATE_1 + local_as: 65537 + state: replaced + register: result + + - name: Assert that correct set of commands were generated + ansible.builtin.assert: + that: + - "{{ replaced['commands'] | symmetric_difference(result['commands']) |length == 0 }}" + + - name: Assert that after dict is correctly generated + ansible.builtin.assert: + that: + - replaced['after'] == result['after'] + + - name: Assert that before dicts are correctly generated + ansible.builtin.assert: + that: + - merged['after'] == result['before'] + + - name: Replace device configurations of listed OSPF processes with provided configurarions (idempotent) + register: result + cisco.nxos.nxos_bgp_templates: *id001 + + - name: Assert that task was idempotent + ansible.builtin.assert: + that: + - result['changed'] == false + - result.commands|length == 0 + + - name: Assert that before dict is correctly generated + ansible.builtin.assert: + that: + - replaced['after'] == result['before'] + always: + - ansible.builtin.include_tasks: _remove_config.yaml diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/vars/main.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/vars/main.yml new file mode 100644 index 000000000..77acf1516 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_bgp_templates/vars/main.yml @@ -0,0 +1,142 @@ +--- +merged: + commands: + - router bgp 65536 + - template peer neighbor_tmplt_2 + - description Test_BGP_PEER_TEMPLATE_2 + - inherit peer-session psession1 + - timers 45 100 + - address-family ipv4 multicast + - advertise-map rmap1 exist-map emap1 + - as-override + - filter-list flist1 in + - filter-list flist2 out + - template peer neighbor_tmplt_1 + - bmp-activate-server 2 + - capability suppress 4-byte-as + - description Test_BGP_PEER_TEMPLATE_1 + - local-as 65536 + - remote-as 65001 + - address-family ipv4 unicast + - advertise-map rmap1 non-exist-map nemap1 + - advertisement-interval 60 + - disable-peer-as-check + + after: + as_number: "65536" + neighbor: + - name: neighbor_tmplt_1 + address_family: + - afi: ipv4 + safi: unicast + advertise_map: + non_exist_map: nemap1 + route_map: rmap1 + advertisement_interval: 60 + disable_peer_as_check: true + bmp_activate_server: 2 + capability: + suppress_4_byte_as: true + description: Test_BGP_PEER_TEMPLATE_1 + local_as: "65536" + remote_as: "65001" + + - name: neighbor_tmplt_2 + description: Test_BGP_PEER_TEMPLATE_2 + address_family: + - afi: ipv4 + safi: multicast + advertise_map: + exist_map: emap1 + route_map: rmap1 + as_override: true + filter_list: + inbound: flist1 + outbound: flist2 + inherit: + peer_session: psession1 + timers: + holdtime: 100 + keepalive: 45 + +replaced: + commands: + - router bgp 65536 + - template peer neighbor_tmplt_1 + - no bmp-activate-server 2 + - no capability suppress 4-byte-as + - inherit peer-session psession1 + - local-as 65537 + - no remote-as 65001 + + after: + as_number: "65536" + neighbor: + - name: neighbor_tmplt_1 + address_family: + - afi: ipv4 + safi: unicast + advertise_map: + non_exist_map: nemap1 + route_map: rmap1 + advertisement_interval: 60 + disable_peer_as_check: true + description: Test_BGP_PEER_TEMPLATE_1 + inherit: + peer_session: psession1 + local_as: "65537" + + - name: neighbor_tmplt_2 + description: Test_BGP_PEER_TEMPLATE_2 + address_family: + - afi: ipv4 + safi: multicast + advertise_map: + exist_map: emap1 + route_map: rmap1 + as_override: true + filter_list: + inbound: flist1 + outbound: flist2 + inherit: + peer_session: psession1 + timers: + holdtime: 100 + keepalive: 45 + +overridden: + commands: + - router bgp 65536 + - template peer neighbor_tmplt_1 + - no bmp-activate-server 2 + - no capability suppress 4-byte-as + - inherit peer-session psession1 + - local-as 65537 + - no remote-as 65001 + - no template peer neighbor_tmplt_2 + + after: + as_number: "65536" + neighbor: + - name: neighbor_tmplt_1 + address_family: + - afi: ipv4 + safi: unicast + advertise_map: + non_exist_map: nemap1 + route_map: rmap1 + advertisement_interval: 60 + disable_peer_as_check: true + description: Test_BGP_PEER_TEMPLATE_1 + inherit: + peer_session: psession1 + local_as: "65537" + +deleted: + commands: + - router bgp 65536 + - no template peer neighbor_tmplt_1 + - no template peer neighbor_tmplt_2 + + after: + as_number: "65536" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_command/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_command/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_command/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_command/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_command/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_command/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_command/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_command/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_command/tests/cli/sanity.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_command/tests/cli/sanity.yaml index 74c777bd5..bb8a3db43 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_command/tests/cli/sanity.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_command/tests/cli/sanity.yaml @@ -26,10 +26,11 @@ - name: Configure BGP defaults register: result - cisco.nxos.nxos_bgp: - asn: 65535 - router_id: 192.0.2.1 - state: present + cisco.nxos.nxos_bgp_global: + config: + as_number: 65535 + router_id: 192.0.2.1 + state: merged - ansible.builtin.assert: that: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/cli_config.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/cli_config.yaml index 4c960185d..79b7f90ab 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/cli_config.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/cli_config.yaml @@ -10,7 +10,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test case (connection=ansible.netcommon.network_cli) +- name: Run test case with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/redirection.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/redirection.yaml index 0ef757aef..dde1662ea 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/redirection.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tasks/redirection.yaml @@ -10,7 +10,7 @@ ansible.builtin.set_fact: test_items: "{{ shortname_test_cases.files | map(attribute='path') | list }}" -- name: Run test case (connection=ansible.netcommon.network_cli) +- name: Run test case with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/templates/basic/acl_config.j2 b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/templates/basic/acl_config.j2 new file mode 100644 index 000000000..ec03c24a2 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/templates/basic/acl_config.j2 @@ -0,0 +1,5 @@ +ip access-list test + 10 permit ip 192.0.2.1/32 any log + 20 permit ip 192.0.2.2/32 any log + 30 permit ip 192.0.2.3/32 any log + 40 permit ip 192.0.2.4/32 any log diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tests/cli/replace_block.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tests/cli/replace_block.yaml new file mode 100644 index 000000000..deb79b940 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_config/tests/cli/replace_block.yaml @@ -0,0 +1,35 @@ +--- +- ansible.builtin.debug: msg="START cli/replace_block.yaml on connection={{ ansible_connection }}" + +- name: "setup" + cisco.nxos.nxos_config: + lines: + - "no ip access-list test" + ignore_errors: true + +- name: "Populate nxos acls configuration with replace block and lines options" + register: result1 + cisco.nxos.nxos_config: + lines: "{{ lookup('template', 'basic/acl_config.j2') }}" + replace: block + +- ansible.builtin.assert: + that: + - result1.changed == true + +- name: "setup" + cisco.nxos.nxos_config: + lines: + - "no ip access-list test" + ignore_errors: true + +- name: "Populate acl configuration with replace block and src options" + register: result2 + cisco.nxos.nxos_config: + src: basic/acl_config.j2 + replace: block + +- ansible.builtin.assert: + that: + - result2.changed == true + - result1.commands == result2.commands diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_devicealias/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_devicealias/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_devicealias/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_devicealias/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_global/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_global/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_global/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_global/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_global/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_global/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_global/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_global/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_vni/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_vni/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_vni/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_vni/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_vni/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_vni/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_vni/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_evpn_vni/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/tests/common/all_facts.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/tests/common/all_facts.yaml index cce7c66a0..7aece91d1 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/tests/common/all_facts.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/tests/common/all_facts.yaml @@ -18,6 +18,7 @@ - result.ansible_facts.ansible_net_filesystems is defined - result.ansible_facts.ansible_net_interfaces is defined - result.ansible_facts.ansible_net_config is defined + - result.ansible_facts.ansible_net_cpu_utilization is defined - result.ansible_facts.ansible_net_model is defined - result.ansible_facts.ansible_net_memfree_mb > 1 - result.ansible_facts.ansible_net_memtotal_mb > 1 @@ -26,16 +27,12 @@ register: result cisco.nxos.nxos_facts: available_network_resources: true - gather_network_resources: all - name: Assert that correct available_network_resources returned ansible.builtin.assert: that: - result.changed == false - - >- - {{ result['ansible_facts']['available_network_resources'] | - symmetric_difference(result['ansible_facts']['ansible_net_gather_network_resources']) | - length == 0 }} + - "{{ result['ansible_facts']['available_network_resources'] | symmetric_difference(available_network_resources) | length == 0 }}" - ansible.builtin.debug: msg: END connection={{ ansible_connection }}/all_facts.yaml diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/vars/main.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/vars/main.yml new file mode 100644 index 000000000..5965c4191 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_facts/vars/main.yml @@ -0,0 +1,30 @@ +--- +available_network_resources: + - acl_interfaces + - acls + - bfd_interfaces + - bgp_address_family + - bgp_global + - bgp_neighbor_address_family + - bgp_templates + - hostname + - hsrp_interfaces + - interfaces + - l2_interfaces + - l3_interfaces + - lacp + - lacp_interfaces + - lag_interfaces + - lldp_global + - lldp_interfaces + - logging_global + - ntp_global + - ospf_interfaces + - ospfv2 + - ospfv3 + - prefix_lists + - route_maps + - snmp_server + - static_routes + - telemetry + - vlans diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_feature/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_feature/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_feature/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_feature/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_feature/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_feature/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_feature/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_feature/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_file_copy/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_file_copy/tasks/cli.yaml index 311e39414..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_file_copy/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_file_copy/tasks/cli.yaml @@ -22,7 +22,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_file_copy/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_file_copy/tasks/nxapi.yaml index 18bf1b6ef..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_file_copy/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_file_copy/tasks/nxapi.yaml @@ -22,7 +22,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir_profile_management/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir_profile_management/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir_profile_management/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir_profile_management/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir_profile_management/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir_profile_management/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir_profile_management/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_gir_profile_management/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hostname/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hostname/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hostname/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hostname/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hostname/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hostname/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hostname/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hostname/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp_interfaces/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp_interfaces/tasks/cli.yaml index 9aa0d8690..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp_interfaces/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp_interfaces/tasks/cli.yaml @@ -23,11 +23,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp_interfaces/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp_interfaces/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp_interfaces/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_hsrp_interfaces/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_interface/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_interface/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_interface/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_interface/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_interface/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_interface/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_interface/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_interface/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_snooping/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_snooping/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_snooping/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_snooping/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_snooping/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_snooping/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_snooping/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_igmp_snooping/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_install_os/tasks/httpapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_install_os/tasks/httpapi.yaml index 555aa8358..acefd4a4c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_install_os/tasks/httpapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_install_os/tasks/httpapi.yaml @@ -10,11 +10,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (ansible_connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_install_os/tasks/network_cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_install_os/tasks/network_cli.yaml index 476745353..df97b28bc 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_install_os/tasks/network_cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_install_os/tasks/network_cli.yaml @@ -10,11 +10,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (ansible_connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_interfaces/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_interfaces/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_interfaces/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_interfaces/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_interfaces/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_interfaces/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_interfaces/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_interfaces/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l2_interfaces/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l2_interfaces/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l2_interfaces/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l2_interfaces/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l2_interfaces/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l2_interfaces/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l2_interfaces/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l2_interfaces/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l3_interfaces/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l3_interfaces/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l3_interfaces/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l3_interfaces/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l3_interfaces/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l3_interfaces/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l3_interfaces/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_l3_interfaces/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp/tests/common/overridden.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp/tests/common/overridden.yaml new file mode 100644 index 000000000..d6eb4fb93 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp/tests/common/overridden.yaml @@ -0,0 +1,104 @@ +--- +- ansible.builtin.debug: + msg: Start nxos_lacp overridden integration tests connection={{ ansible_connection }} + +- name: Enable 'feature lacp' + cisco.nxos.nxos_feature: + feature: lacp + +- name: Set a fact for 'mac1' and 'mac2' + ansible.builtin.set_fact: + mac1: lacp system-mac 00c1.4c00.bd20 role primary + mac2: + address: 00c1.4c00.bd15 + role: secondary + when: platform is search('N9K') and imagetag is not search('I[2-6]') + +- block: + - name: Setup1 + cisco.nxos.nxos_config: + lines: lacp system-priority 11 + + - name: Setup2 + cisco.nxos.nxos_config: + lines: "{{ mac1|default(omit) }}" + + - name: Gather lacp facts + cisco.nxos.nxos_facts: &id001 + gather_subset: + - "!all" + - "!min" + gather_network_resources: lacp + + - name: Run overridden test + register: result + cisco.nxos.nxos_lacp: &id002 + config: + system: + priority: 12 + mac: "{{ mac2|default(omit) }}" + state: overridden + + - ansible.builtin.assert: + that: + - ansible_facts.network_resources.lacp == result.before + - result.changed == true + - result.commands|length == 2 + - "'no lacp system-priority' in result.commands" + - "'lacp system-priority 12' in result.commands" + when: platform is not search('N9K') + + - ansible.builtin.assert: + that: + - ansible_facts.network_resources.lacp == result.before + - result.changed == true + - "'no lacp system-priority' in result.commands" + - "'no lacp system-mac' in result.commands" + - "'lacp system-priority 12' in result.commands" + - "'lacp system-mac 00c1.4c00.bd15 role secondary' in result.commands" + - result.commands|length == 4 + when: platform is search('N9K') and imagetag is not search('I[2-6]') + + - name: Gather lacp interfaces post facts + cisco.nxos.nxos_facts: *id001 + + - ansible.builtin.assert: + that: + - ansible_facts.network_resources.lacp == result.after + when: platform is search('N9K') and imagetag is not search('I[2-6]') + + - name: Idempotence - overridden + register: result + cisco.nxos.nxos_lacp: *id002 + + - ansible.builtin.assert: + that: + - result.changed == false + - result.commands|length == 0 + + - name: Setup3 + cisco.nxos.nxos_config: + lines: "{{ mac1|default(omit) }}" + + - name: overridden + register: result + when: platform is search('N9K') and imagetag is not search('I[2-6]') + cisco.nxos.nxos_lacp: + config: + system: + priority: 1 + state: overridden + + - ansible.builtin.assert: + that: + - result.changed == true + - result.commands|length == 3 + - "'no lacp system-mac' in result.commands" + - "'no lacp system-priority' in result.commands" + - "'lacp system-priority 1' in result.commands" + when: platform is search('N9K') and imagetag is not search('I[2-6]') + always: + - name: Teardown + cisco.nxos.nxos_feature: + feature: lacp + state: disabled diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp_interfaces/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp_interfaces/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp_interfaces/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp_interfaces/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp_interfaces/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp_interfaces/tasks/nxapi.yaml index 18bf1b6ef..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp_interfaces/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lacp_interfaces/tasks/nxapi.yaml @@ -22,7 +22,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tasks/nxapi.yaml index 18bf1b6ef..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tasks/nxapi.yaml @@ -22,7 +22,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tests/common/merged.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tests/common/merged.yaml index 96b74273d..3a8e78976 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tests/common/merged.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tests/common/merged.yaml @@ -35,9 +35,9 @@ - name: port-channel10 members: - member: "{{ test_int1 }}" - - member: "{{ test_int2 }}" - mode: true + mode: on # noqa yaml[truthy] + force: true state: merged - ansible.builtin.assert: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tests/common/overridden.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tests/common/overridden.yaml index f2bafafb2..92c357f1d 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tests/common/overridden.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lag_interfaces/tests/common/overridden.yaml @@ -92,7 +92,7 @@ that: - "result.changed == True" - "'interface Ethernet1/9' in result.commands" - - "'channel-group 20 force mode active' in result.commands" + - "'channel-group 20 force mode active' in result.commands" always: - name: Teardown diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_global/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_global/tasks/cli.yaml index 3bff52013..bb0e65506 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_global/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_global/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_global/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_global/tasks/nxapi.yaml index e0ebc3f54..59a0777c5 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_global/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_global/tasks/nxapi.yaml @@ -22,7 +22,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_global/tests/common/overridden.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_global/tests/common/overridden.yml new file mode 100644 index 000000000..58c41c1f8 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_global/tests/common/overridden.yml @@ -0,0 +1,92 @@ +--- +- ansible.builtin.debug: + msg: Start nxos_lldp_global overridden integration tests connection = {{ansible_connection}} + +- block: + - name: Set a fact for 'port_id' and 'tlv_power_mgmt' + ansible.builtin.set_fact: + port_id: 1 + tlv_power_mgmt: + power_management: false + when: platform is not search('N[567]K') and imagetag is not search("I[2345]") + + - name: Feature off to cleanup lldp + cisco.nxos.nxos_feature: &id002 + feature: lldp + state: disabled + + - name: Enable lldp feature + cisco.nxos.nxos_feature: + feature: lldp + state: enabled + + - name: Setup + cisco.nxos.nxos_config: + lines: + - "lldp holdtime 125" + - "lldp tlv-select system-name" + - "no lldp tlv-select port-vlan" + + - name: Setup2 + when: port_id is defined + cisco.nxos.nxos_config: + lines: + - "lldp portid-subtype 1" + - "no lldp tlv-select power-management" + + - name: Run overridden tests + register: result + cisco.nxos.nxos_lldp_global: &id001 + config: + holdtime: 125 + timer: 35 + tlv_select: + system: + name: false + description: false + port: + vlan: false + dcbxp: false + state: overridden + + - ansible.builtin.assert: + that: + - result.changed == true + - "'lldp timer 35' in result.commands" + - "'no lldp tlv-select system-name' in result.commands" + - "'no lldp tlv-select system-description' in result.commands" + - "'no lldp tlv-select dcbxp' in result.commands" + + - ansible.builtin.assert: + that: + - "'no lldp portid-subtype 1' in result.commands" + when: port_id is defined + + - ansible.builtin.assert: + that: + - "'lldp tlv-select power-management' in result.commands" + when: tlv_power_mgmt is defined + + - name: Gather lldp_global post facts + cisco.nxos.nxos_facts: + gather_subset: + - "!all" + - "!min" + gather_network_resources: lldp_global + + - ansible.builtin.assert: + that: + - ansible_facts.network_resources.lldp_global == result.after + + - name: Idempotence - overridden + register: result + cisco.nxos.nxos_lldp_global: *id001 + + - ansible.builtin.assert: + that: + - result.changed == false + - result.commands|length == 0 + always: + - name: Teardown + cisco.nxos.nxos_feature: *id002 + when: platform is not search('N35') diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_interfaces/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_interfaces/tasks/cli.yaml index c34726ef5..3e5e72a07 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_interfaces/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_interfaces/tasks/cli.yaml @@ -22,7 +22,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_interfaces/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_interfaces/tasks/nxapi.yaml index e0ebc3f54..59a0777c5 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_interfaces/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_lldp_interfaces/tasks/nxapi.yaml @@ -22,7 +22,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging_global/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging_global/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging_global/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging_global/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging_global/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging_global/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging_global/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_logging_global/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_auth/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_auth/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_auth/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_auth/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_auth/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_auth/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_auth/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_auth/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_global/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_global/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_global/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_global/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_global/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_global/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_global/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_global/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_options/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_options/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_options/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_options/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_options/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_options/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_options/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ntp_options/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_nxapi/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_nxapi/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_nxapi/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_nxapi/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_nxapi/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_nxapi/tasks/nxapi.yaml index 25cdd4904..0b2e4f778 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_nxapi/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_nxapi/tasks/nxapi.yaml @@ -22,20 +22,18 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run - vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" -- name: Run test cases (connection=local) + +- name: Run test cases with connection local ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: local - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospf_interfaces/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospf_interfaces/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospf_interfaces/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospf_interfaces/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospf_interfaces/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospf_interfaces/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospf_interfaces/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospf_interfaces/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv2/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv2/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv2/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv2/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv2/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv2/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv2/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv2/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv3/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv3/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv3/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv3/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv3/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv3/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv3/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_ospfv3/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_overlay_global/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_overlay_global/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_overlay_global/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_overlay_global/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_overlay_global/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_overlay_global/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_overlay_global/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_overlay_global/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_interface/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_interface/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_interface/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_interface/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_interface/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_interface/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_interface/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_interface/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_rp_address/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_rp_address/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_rp_address/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_rp_address/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_rp_address/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_rp_address/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_rp_address/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_pim_rp_address/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_prefix_lists/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_prefix_lists/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_prefix_lists/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_prefix_lists/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_prefix_lists/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_prefix_lists/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_prefix_lists/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_prefix_lists/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_reboot/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_reboot/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_reboot/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_reboot/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_reboot/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_reboot/tasks/nxapi.yaml index 57e91e216..cdee9a584 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_reboot/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_reboot/tasks/nxapi.yaml @@ -22,7 +22,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: @@ -30,4 +30,3 @@ tags: nxapi_httpapi vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rollback/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rollback/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rollback/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rollback/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rollback/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rollback/tasks/nxapi.yaml index b4ed55204..74961c395 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rollback/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rollback/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_route_maps/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_route_maps/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_route_maps/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_route_maps/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_route_maps/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_route_maps/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_route_maps/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_route_maps/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rpm/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rpm/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rpm/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rpm/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rpm/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rpm/tasks/nxapi.yaml index b4ed55204..74961c395 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rpm/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_rpm/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_smoke/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_smoke/tasks/cli.yaml index 1fa8d4e11..b335e711c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_smoke/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_smoke/tasks/cli.yaml @@ -28,14 +28,13 @@ transport: cli authorize: true -- name: Run test cases (connection=network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: network_cli - connection: "{{ cli }}" # Temporarily disabling connection=local tests for CI issues # - name: run test cases (connection=local) @@ -47,9 +46,8 @@ # loop_control: # loop_var: test_case_to_run -- name: Run test cases (connection=network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ role_path }}/tests/common/caching.yaml" vars: ansible_connection: ansible.netcommon.network_cli ansible_network_single_user_mode: true - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_smoke/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_smoke/tasks/nxapi.yaml index f3a565f93..52aa1a100 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_smoke/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_smoke/tasks/nxapi.yaml @@ -22,14 +22,13 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: httpapi - connection: "{{ nxapi }}" # Temporarily disabling connection=local tests for CI issues # - name: run test cases (connection=local) # ansible.builtin.include_tasks: "{{ test_case_to_run }} diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snapshot/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snapshot/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snapshot/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snapshot/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snapshot/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snapshot/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snapshot/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snapshot/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_community/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_community/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_community/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_community/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_community/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_community/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_community/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_community/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_contact/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_contact/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_contact/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_contact/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_contact/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_contact/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_contact/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_contact/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_host/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_host/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_host/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_host/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_host/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_host/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_host/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_host/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_location/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_location/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_location/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_location/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_location/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_location/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_location/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_location/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_server/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_server/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_server/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_server/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_server/tasks/main.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_server/tasks/main.yaml index cb885dee9..b46cbf998 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_server/tasks/main.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_server/tasks/main.yaml @@ -6,7 +6,7 @@ - name: Grep admin user SNMP localized key ansible.builtin.set_fact: - # noqa var-spacing + # noqa jinja[spacing] admin_snmp_passwd: "{{ result['stdout'][0] | regex_search('snmp-server user admin network-admin auth (md5|sha|sha-256) (\\S+)', '\\2') }}" - name: Find admin user SNMP localized key @@ -15,7 +15,7 @@ - name: Grep admin user SNMP localized key (second) ansible.builtin.set_fact: - admin_snmp_passwd_2: "{{ result['stdout'][0] | regex_search('snmp-server user admin auth (md5|sha|sha-256) (\\S+)', '\\2') }}" # noqa var-spacing + admin_snmp_passwd_2: "{{ result['stdout'][0] | regex_search('snmp-server user admin auth (md5|sha|sha-256) (\\S+)', '\\2') }}" # noqa jinja[spacing] - name: Find admin user SNMP localized key (second) ansible.builtin.set_fact: @@ -23,7 +23,7 @@ - name: Grep admin user SNMP engineid (second) ansible.builtin.set_fact: - # noqa var-spacing + # # noqa jinja[spacing] admin_snmp_engineid_2: "{{ result['stdout'][0] | regex_search('admin auth (md5|sha|sha-256) (\\S+) priv (\\S+) localizedkey engineID (\\S+)', '\\4') }}" - name: Find admin user SNMP engineid (second) diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_server/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_server/tasks/nxapi.yaml index 5cb76e671..4ae68868c 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_server/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_server/tasks/nxapi.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_traps/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_traps/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_traps/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_traps/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_traps/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_traps/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_traps/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_traps/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_user/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_user/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_user/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_user/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_user/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_user/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_user/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_snmp_user/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tasks/cli.yaml index e22d5c622..fd8d12e79 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tasks/main.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tasks/main.yaml index 159ffa2b9..10be7ff19 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tasks/main.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tasks/main.yaml @@ -1,4 +1,19 @@ --- +- name: Fetch vrf confext management output + cisco.nxos.nxos_command: + commands: show running-config | section 'vrf context management' + register: vrf_conf + +- name: Parse the config to structured data + cisco.nxos.nxos_static_routes: + state: parsed + running_config: "{{ vrf_conf['stdout'][0] }}" + register: vrf_mgmt + +- name: Setting booleans facts of management vrf + ansible.builtin.set_fact: + var_vrf_mgmt: "{{ vrf_mgmt['parsed'][0] }}" + - name: Include the CLI tasks ansible.builtin.include_tasks: cli.yaml tags: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/deleted.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/deleted.yml index 67c89cc33..fbf316b41 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/deleted.yml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/deleted.yml @@ -46,36 +46,5 @@ - "'no ip route 192.0.2.64/28 192.0.2.23 name merged_route 1' in result.commands" - "result.commands | length == 3" - - ansible.builtin.include_tasks: _remove_config.yaml - - - ansible.builtin.include_tasks: _populate_config.yaml - - - name: Deleted (all routes) - cisco.nxos.nxos_static_routes: &deleted - state: deleted - register: result - - - name: Gather static_routes post facts - cisco.nxos.nxos_facts: *facts - - - ansible.builtin.assert: - that: - - "'vrf context trial_vrf' in result.commands" - - "'no ip route 192.0.2.64/28 192.0.2.22 tag 4' in result.commands" - - "'no ip route 192.0.2.64/28 192.0.2.23 name merged_route 1' in result.commands" - - "'configure terminal' in result.commands" - - "'no ip route 192.0.2.16/28 192.0.2.24 name new_route' in result.commands" - - "'no ip route 192.0.2.80/28 192.0.2.26 tag 12' in result.commands" - - "result.changed == true" - - "result.commands | length == 6" - - - name: Idempotence - deleted - cisco.nxos.nxos_static_routes: *deleted - register: result - - - ansible.builtin.assert: - that: - - "result.changed == false" - always: - ansible.builtin.include_tasks: _remove_config.yaml diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/merged.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/merged.yml index 6ba0a1b6a..11b748793 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/merged.yml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/merged.yml @@ -18,11 +18,9 @@ next_hops: - forward_router_address: 192.0.2.22 tag: 4 - - forward_router_address: 192.0.2.23 route_name: merged_route admin_distance: 1 - - address_families: - afi: ipv4 routes: @@ -30,7 +28,6 @@ next_hops: - forward_router_address: 192.0.2.24 route_name: new_route - - dest: 192.0.2.80/28 next_hops: - forward_router_address: 192.0.2.26 @@ -41,13 +38,12 @@ - ansible.builtin.assert: that: - "result.changed == true" - - "'configure terminal' in result.commands" - "'ip route 192.0.2.16/28 192.0.2.24 name new_route' in result.commands" - "'ip route 192.0.2.80/28 192.0.2.26 tag 12' in result.commands" - "'vrf context trial_vrf' in result.commands" - "'ip route 192.0.2.64/28 192.0.2.22 tag 4' in result.commands" - "'ip route 192.0.2.64/28 192.0.2.23 name merged_route 1' in result.commands" - - "result.commands | length == 6" + - "result.commands | length == 5" - name: Idempotence - merged cisco.nxos.nxos_static_routes: *merged diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/overridden.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/overridden.yml index ae03e947f..e90c3cfbb 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/overridden.yml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/overridden.yml @@ -26,12 +26,11 @@ - forward_router_address: 192.0.2.23 route_name: overridden_route1 admin_distance: 3 - - forward_router_address: 192.0.2.45 route_name: overridden_route2 dest_vrf: destinationVRF interface: "{{ nxos_int2 }}" - + - "{{ var_vrf_mgmt }}" state: overridden register: result @@ -43,10 +42,9 @@ - "'no ip route 192.0.2.64/28 192.0.2.23 name merged_route 1' in result.commands" - "'ip route 192.0.2.16/28 192.0.2.23 name overridden_route1 3' in result.commands" - "'ip route 192.0.2.16/28 {{ nxos_int2 }} 192.0.2.45 vrf destinationVRF name overridden_route2' in result.commands" - - "'configure terminal' in result.commands" - "'no ip route 192.0.2.16/28 192.0.2.24 name new_route' in result.commands" - "'no ip route 192.0.2.80/28 192.0.2.26 tag 12' in result.commands" - - "result.commands | length == 8" + - "result.commands | length == 7" - name: Idempotence - overridden cisco.nxos.nxos_static_routes: *overridden diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/parsed.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/parsed.yml index 32cd5bd83..8590c4e3f 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/parsed.yml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/parsed.yml @@ -2,7 +2,7 @@ - ansible.builtin.debug: msg: "Start nxos_static_routes parsed tests connection={{ ansible_connection }}" -- name: Parsed +- name: Parsed test cisco.nxos.nxos_static_routes: &parsed running_config: | ip route 192.0.2.16/28 192.0.2.24 name new_route @@ -13,14 +13,8 @@ state: parsed register: result -- ansible.builtin.assert: +- name: Assert parsed test + ansible.builtin.assert: that: - "result.changed == false" - "result.parsed == parsed" - -- name: Idempotence - parsed - cisco.nxos.nxos_static_routes: *parsed - register: result - -- ansible.builtin.assert: - that: "result.changed == false" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/rendered.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/rendered.yml index 2348a64b6..99581bb11 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/rendered.yml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/rendered.yml @@ -14,7 +14,6 @@ - forward_router_address: 2001:db8::1001 route_name: rendered_route admin_distance: 3 - - address_families: - afi: ipv4 routes: @@ -22,7 +21,6 @@ next_hops: - forward_router_address: 192.0.2.24 route_name: new_route - - dest: 192.0.2.80/28 next_hops: - forward_router_address: 192.0.2.26 @@ -33,12 +31,11 @@ - ansible.builtin.assert: that: - "result.changed == false" - - "'configure terminal' in result.rendered" - "'ip route 192.0.2.16/28 192.0.2.24 name new_route' in result.rendered" - "'ip route 192.0.2.80/28 192.0.2.26 tag 12' in result.rendered" - "'vrf context trial_vrf' in result.rendered" - "'ipv6 route 2001:db8:12::/32 2001:db8::1001 name rendered_route 3' in result.rendered" - - "result.rendered | length == 5" + - "result.rendered | length == 4" - name: Idempotence - rendered nxos_static_routes: *rendered diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/replaced.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/replaced.yml index 73c122198..ca61c48e5 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/replaced.yml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/replaced.yml @@ -23,7 +23,6 @@ - forward_router_address: 192.0.2.23 route_name: replaced_route1 admin_distance: 3 - - forward_router_address: 192.0.2.45 route_name: replaced_route2 dest_vrf: destinationVRF @@ -34,7 +33,6 @@ - ansible.builtin.assert: that: - "result.changed == true" - - "'configure terminal' in result.commands" - "'no ip route 192.0.2.16/28 192.0.2.24 name new_route' in result.commands" - "'ip route 192.0.2.16/28 192.0.2.23 name replaced_route1 3' in result.commands" - "'ip route 192.0.2.16/28 {{ nxos_int2 }} 192.0.2.45 vrf destinationVRF name replaced_route2' in result.commands" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/rtt.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/rtt.yml index 1ee36a936..24b9fe9cf 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/rtt.yml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/tests/common/rtt.yml @@ -16,11 +16,9 @@ - forward_router_address: 192.0.2.32 route_name: test_route1 tag: 14 - - forward_router_address: 192.0.2.48 route_name: test_route2 admin_distance: 2 - - vrf: trial_vrf address_families: - afi: ipv4 @@ -51,6 +49,7 @@ - forward_router_address: 192.0.2.55 tag: 1 admin_distance: 1 + - "{{ var_vrf_mgmt }}" state: overridden register: result @@ -58,13 +57,12 @@ ansible.builtin.assert: that: - "result.changed == true" - - "'configure terminal' in result.commands" - "'no ip route 192.0.2.36/30 192.0.2.32 name test_route1 tag 14' in result.commands" - "'no ip route 192.0.2.36/30 192.0.2.48 name test_route2 2'" - "'ip route 192.0.2.44/30 192.0.2.55 tag 1 1' in result.commands" - "'vrf context trial_vrf' in result.commands" - "'no ip route 192.0.2.32/30 192.0.2.105 vrf test_dest_vrf' in result.commands" - - "result.commands | length == 6" + - "result.commands | length == 5" - name: Revert back to base configuration cisco.nxos.nxos_static_routes: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/vars/main.yml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/vars/main.yml index 958773252..82b180899 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/vars/main.yml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_static_routes/vars/main.yml @@ -1,24 +1,24 @@ --- -"parsed": - - "address_families": - - "afi": "ipv4" - "routes": - - "dest": "192.0.2.64/28" - "next_hops": - - "forward_router_address": "192.0.2.22" - "tag": 4 - - "admin_distance": 1 - "forward_router_address": "192.0.2.23" - "route_name": "merged_route" - "vrf": "trial_vrf" - - "address_families": - - "afi": "ipv4" - "routes": - - "dest": "192.0.2.16/28" - "next_hops": - - "forward_router_address": "192.0.2.24" - "route_name": "new_route" - - "dest": "192.0.2.80/28" - "next_hops": - - "forward_router_address": "192.0.2.26" - "tag": 12 +parsed: + - address_families: + - afi: ipv4 + routes: + - dest: 192.0.2.16/28 + next_hops: + - forward_router_address: 192.0.2.24 + route_name: new_route + - dest: 192.0.2.80/28 + next_hops: + - forward_router_address: 192.0.2.26 + tag: 12 + - address_families: + - afi: ipv4 + routes: + - dest: 192.0.2.64/28 + next_hops: + - forward_router_address: 192.0.2.22 + tag: 4 + - admin_distance: 1 + forward_router_address: 192.0.2.23 + route_name: merged_route + vrf: trial_vrf diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_system/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_system/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_system/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_system/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_system/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_system/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_system/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_system/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_telemetry/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_telemetry/tasks/cli.yaml index 311e39414..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_telemetry/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_telemetry/tasks/cli.yaml @@ -22,7 +22,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_telemetry/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_telemetry/tasks/nxapi.yaml index 18bf1b6ef..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_telemetry/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_telemetry/tasks/nxapi.yaml @@ -22,7 +22,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld_interface/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld_interface/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld_interface/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld_interface/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld_interface/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld_interface/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld_interface/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_udld_interface/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_user/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_user/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_user/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_user/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_user/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_user/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_user/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_user/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vlans/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vlans/tasks/cli.yaml index 9e4fb34bc..e3e64747b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vlans/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vlans/tasks/cli.yaml @@ -23,7 +23,7 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vlans/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vlans/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vlans/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vlans/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc_interface/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc_interface/tasks/cli.yaml index f6096901f..988ef2894 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc_interface/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc_interface/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc_interface/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc_interface/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc_interface/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vpc_interface/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_af/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_af/tasks/cli.yaml index f6096901f..988ef2894 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_af/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_af/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_af/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_af/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_af/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_af/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_interface/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_interface/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_interface/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_interface/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_interface/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_interface/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_interface/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrf_interface/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrrp/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrrp/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrrp/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrrp/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrrp/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrrp/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrrp/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vrrp/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vsan/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vsan/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vsan/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vsan/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_domain/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_domain/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_domain/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_domain/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_domain/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_domain/tasks/nxapi.yaml index b4ed55204..74961c395 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_domain/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_domain/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_password/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_password/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_password/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_password/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_password/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_password/tasks/nxapi.yaml index b4ed55204..5fec0f43b 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_password/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_password/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_version/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_version/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_version/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_version/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_version/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_version/tasks/nxapi.yaml index b4ed55204..74961c395 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_version/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vtp_version/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep/tasks/nxapi.yaml index b4ed55204..74961c395 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep_vni/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep_vni/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep_vni/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep_vni/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep_vni/tasks/nxapi.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep_vni/tasks/nxapi.yaml index b4ed55204..6a7129481 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep_vni/tasks/nxapi.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_vxlan_vtep_vni/tasks/nxapi.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.httpapi) +- name: Run test cases with connection httpapi ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.httpapi - connection: "{{ nxapi }}" diff --git a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_zone_zoneset/tasks/cli.yaml b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_zone_zoneset/tasks/cli.yaml index f6096901f..d3d521f2a 100644 --- a/ansible_collections/cisco/nxos/tests/integration/targets/nxos_zone_zoneset/tasks/cli.yaml +++ b/ansible_collections/cisco/nxos/tests/integration/targets/nxos_zone_zoneset/tasks/cli.yaml @@ -22,11 +22,10 @@ ansible.builtin.set_fact: test_items: "{{ test_cases.files | map(attribute='path') | list }}" -- name: Run test cases (connection=ansible.netcommon.network_cli) +- name: Run test cases with connection network_cli ansible.builtin.include_tasks: "{{ test_case_to_run }}" with_items: "{{ test_items }}" loop_control: loop_var: test_case_to_run vars: ansible_connection: ansible.netcommon.network_cli - connection: "{{ cli }}" diff --git a/ansible_collections/cisco/nxos/tests/sanity/ignore-2.17.txt b/ansible_collections/cisco/nxos/tests/sanity/ignore-2.17.txt new file mode 100644 index 000000000..46cfbc643 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/sanity/ignore-2.17.txt @@ -0,0 +1 @@ +plugins/action/nxos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` diff --git a/ansible_collections/cisco/nxos/tests/sanity/ignore-2.9.txt b/ansible_collections/cisco/nxos/tests/sanity/ignore-2.9.txt index 245bf89fc..ada896a7b 100644 --- a/ansible_collections/cisco/nxos/tests/sanity/ignore-2.9.txt +++ b/ansible_collections/cisco/nxos/tests/sanity/ignore-2.9.txt @@ -1,14 +1,6 @@ plugins/modules/nxos_logging.py validate-modules:deprecation-mismatch # 2.9 expects METADATA plugins/modules/nxos_logging.py validate-modules:invalid-documentation # removed_at_date not plugins/action/nxos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -plugins/modules/nxos_bgp.py validate-modules:deprecation-mismatch # 2.9 expects METADATA -plugins/modules/nxos_bgp.py validate-modules:invalid-documentation # removed_at_date not supported in `deprecated` dict -plugins/modules/nxos_bgp_neighbor.py validate-modules:deprecation-mismatch # 2.9 expects METADATA -plugins/modules/nxos_bgp_neighbor.py validate-modules:invalid-documentation # removed_at_date not supported in `deprecated` dict -plugins/modules/nxos_bgp_af.py validate-modules:deprecation-mismatch # 2.9 expects METADATA -plugins/modules/nxos_bgp_af.py validate-modules:invalid-documentation # removed_at_date not supported in `deprecated` dict -plugins/modules/nxos_bgp_neighbor_af.py validate-modules:deprecation-mismatch # 2.9 expects METADATA -plugins/modules/nxos_bgp_neighbor_af.py validate-modules:invalid-documentation # removed_at_date not supported in `deprecated` dict plugins/modules/nxos_ntp.py validate-modules:deprecation-mismatch # 2.9 expects METADATA plugins/modules/nxos_ntp.py validate-modules:invalid-documentation # removed_at_date not supported in `deprecated` dict plugins/modules/nxos_ntp_auth.py validate-modules:deprecation-mismatch # 2.9 expects METADATA diff --git a/ansible_collections/cisco/nxos/tests/unit/mock/loader.py b/ansible_collections/cisco/nxos/tests/unit/mock/loader.py index ebff16f63..0fc53edcd 100644 --- a/ansible_collections/cisco/nxos/tests/unit/mock/loader.py +++ b/ansible_collections/cisco/nxos/tests/unit/mock/loader.py @@ -31,7 +31,7 @@ from ansible.parsing.dataloader import DataLoader class DictDataLoader(DataLoader): def __init__(self, file_mapping=None): file_mapping = {} if file_mapping is None else file_mapping - assert type(file_mapping) == dict + assert isinstance(file_mapping, dict) super(DictDataLoader, self).__init__() diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_acls.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_acls.py index 6436e065b..b7c0e8663 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_acls.py +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_acls.py @@ -105,7 +105,9 @@ class TestNxosAclsModule(TestNxosModule): source=dict(prefix="2002:1:1:1::/64"), sequence=30, protocol="icmp", - protocol_options=dict(icmp=dict(echo_request=True)), + protocol_options=dict( + icmp=dict(echo_request=True), + ), ), ], ), @@ -421,7 +423,11 @@ class TestNxosAclsModule(TestNxosModule): "10 permit sctp any any", ] result = self.execute_module(changed=False) - self.assertEqual(sorted(result["rendered"]), sorted(commands), result["rendered"]) + self.assertEqual( + sorted(result["rendered"]), + sorted(commands), + result["rendered"], + ) def test_nxos_acls_parsed(self): set_module_args( @@ -631,6 +637,7 @@ class TestNxosAclsModule(TestNxosModule): """\ ip access-list TEST_RESEQUENCE 10 permit ip 10.0.0.0/24 any + 11 permit tcp 1.1.1.1/32 range 7111 9111 192.168.0.0/24 established 20 deny tcp any eq ftp-data any eq domain 25 permit icmp any any echo-reply 27 permit icmp any any port-unreachable @@ -740,6 +747,19 @@ class TestNxosAclsModule(TestNxosModule): "destination": {"any": True}, }, { + "sequence": 11, + "grant": "permit", + "protocol": "tcp", + "protocol_options": {"tcp": {"established": True}}, + "source": { + "host": "1.1.1.1", + "port_protocol": { + "range": {"end": "9111", "start": "7111"}, + }, + }, + "destination": {"prefix": "192.168.0.0/24"}, + }, + { "sequence": 20, "grant": "deny", "protocol": "tcp", @@ -853,3 +873,90 @@ class TestNxosAclsModule(TestNxosModule): ] result = self.execute_module(changed=True) self.assertEqual(result["commands"], commands) + + def test_nxos_acls_ranges(self): + self.execute_show_command.return_value = dedent( + """\ + ip access-list acl1 + 10 permit tcp any any range ftp-data ftp + 20 permit tcp any range ftp-data ftp any range telnet time + 30 permit tcp any range ftp-data ftp any + """, + ) + set_module_args( + dict( + state="gathered", + ), + ) + + gathered = [ + { + "acls": [ + { + "name": "acl1", + "aces": [ + { + "sequence": 10, + "grant": "permit", + "protocol": "tcp", + "source": { + "any": True, + }, + "destination": { + "any": True, + "port_protocol": { + "range": { + "start": "ftp-data", + "end": "ftp", + }, + }, + }, + }, + { + "sequence": 20, + "grant": "permit", + "protocol": "tcp", + "source": { + "any": True, + "port_protocol": { + "range": { + "start": "ftp-data", + "end": "ftp", + }, + }, + }, + "destination": { + "any": True, + "port_protocol": { + "range": { + "start": "telnet", + "end": "time", + }, + }, + }, + }, + { + "sequence": 30, + "grant": "permit", + "protocol": "tcp", + "source": { + "any": True, + "port_protocol": { + "range": { + "start": "ftp-data", + "end": "ftp", + }, + }, + }, + "destination": { + "any": True, + }, + }, + ], + }, + ], + "afi": "ipv4", + }, + ] + result = self.execute_module(changed=False) + self.assertEqual(result["gathered"], gathered) diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp.py deleted file mode 100644 index 9c57817ca..000000000 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp.py +++ /dev/null @@ -1,150 +0,0 @@ -# (c) 2016 Red Hat Inc. -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see <http://www.gnu.org/licenses/>. - -# Make coding more python3-ish - -from __future__ import absolute_import, division, print_function - - -__metaclass__ = type - -from ansible_collections.cisco.nxos.plugins.modules import nxos_bgp -from ansible_collections.cisco.nxos.tests.unit.compat.mock import patch - -from .nxos_module import TestNxosModule, load_fixture, set_module_args - - -class TestNxosBgpModule(TestNxosModule): - module = nxos_bgp - - def setUp(self): - super(TestNxosBgpModule, self).setUp() - - self.mock_load_config = patch( - "ansible_collections.cisco.nxos.plugins.modules.nxos_bgp.load_config", - ) - self.load_config = self.mock_load_config.start() - - self.mock_get_config = patch( - "ansible_collections.cisco.nxos.plugins.modules.nxos_bgp.get_config", - ) - self.get_config = self.mock_get_config.start() - - def tearDown(self): - super(TestNxosBgpModule, self).tearDown() - self.mock_load_config.stop() - self.mock_get_config.stop() - - def load_fixtures(self, commands=None, device=""): - self.get_config.return_value = load_fixture("nxos_bgp", "config.cfg") - self.load_config.return_value = [] - - def test_nxos_bgp(self): - set_module_args(dict(asn=65535, router_id="192.0.2.1")) - result = self.execute_module(changed=True) - self.assertEqual(result["commands"], ["router bgp 65535", "router-id 192.0.2.1"]) - - def test_nxos_bgp_change_nothing(self): - set_module_args(dict(asn=65535, router_id="192.168.1.1")) - self.execute_module(changed=False) - - def test_nxos_bgp_wrong_asn(self): - set_module_args(dict(asn=10, router_id="192.168.1.1")) - result = self.execute_module(failed=True) - self.assertEqual(result["msg"], "Another BGP ASN already exists.") - - def test_nxos_bgp_remove(self): - set_module_args(dict(asn=65535, state="absent")) - self.execute_module(changed=True, commands=["no router bgp 65535"]) - - def test_nxos_bgp_remove_vrf(self): - set_module_args(dict(asn=65535, vrf="test2", state="absent")) - self.execute_module(changed=True, commands=["router bgp 65535", "no vrf test2"]) - - def test_nxos_bgp_remove_nonexistant_vrf(self): - set_module_args(dict(asn=65535, vrf="foo", state="absent")) - self.execute_module(changed=False) - - def test_nxos_bgp_remove_wrong_asn(self): - set_module_args(dict(asn=10, state="absent")) - self.execute_module(changed=False) - - def test_nxos_bgp_vrf(self): - set_module_args(dict(asn=65535, vrf="test", router_id="192.0.2.1")) - result = self.execute_module( - changed=True, - commands=["router bgp 65535", "vrf test", "router-id 192.0.2.1"], - ) - self.assertEqual(result["warnings"], ["VRF test doesn't exist."]) - - def test_nxos_bgp_global_param(self): - set_module_args(dict(asn=65535, shutdown=True)) - self.execute_module(changed=True, commands=["router bgp 65535", "shutdown"]) - - def test_nxos_bgp_global_param_outside_default(self): - set_module_args(dict(asn=65535, vrf="test", shutdown=True)) - result = self.execute_module(failed=True) - self.assertEqual( - result["msg"], - 'Global params can be modified only under "default" VRF.', - ) - - def test_nxos_bgp_default_value(self): - set_module_args(dict(asn=65535, graceful_restart_timers_restart="default")) - self.execute_module( - changed=True, - commands=["router bgp 65535", "graceful-restart restart-time 120"], - ) - - -class TestNxosBgp32BitsAS(TestNxosModule): - module = nxos_bgp - - def setUp(self): - super(TestNxosBgp32BitsAS, self).setUp() - - self.mock_load_config = patch( - "ansible_collections.cisco.nxos.plugins.modules.nxos_bgp.load_config", - ) - self.load_config = self.mock_load_config.start() - - self.mock_get_config = patch( - "ansible_collections.cisco.nxos.plugins.modules.nxos_bgp.get_config", - ) - self.get_config = self.mock_get_config.start() - - def tearDown(self): - super(TestNxosBgp32BitsAS, self).tearDown() - self.mock_load_config.stop() - self.mock_get_config.stop() - - def load_fixtures(self, commands=None, device=""): - self.get_config.return_value = load_fixture("nxos_bgp", "config_32_bits_as.cfg") - self.load_config.return_value = [] - - def test_nxos_bgp_change_nothing(self): - set_module_args(dict(asn="65535.65535", router_id="192.168.1.1")) - self.execute_module(changed=False) - - def test_nxos_bgp_wrong_asn(self): - set_module_args(dict(asn="65535.10", router_id="192.168.1.1")) - result = self.execute_module(failed=True) - self.assertEqual(result["msg"], "Another BGP ASN already exists.") - - def test_nxos_bgp_remove(self): - set_module_args(dict(asn="65535.65535", state="absent")) - self.execute_module(changed=True, commands=["no router bgp 65535.65535"]) diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_af.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_af.py deleted file mode 100644 index a72095c8f..000000000 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_af.py +++ /dev/null @@ -1,175 +0,0 @@ -# (c) 2016 Red Hat Inc. -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see <http://www.gnu.org/licenses/>. - -# Make coding more python3-ish - -from __future__ import absolute_import, division, print_function - - -__metaclass__ = type - -from ansible_collections.cisco.nxos.plugins.modules import nxos_bgp_af -from ansible_collections.cisco.nxos.tests.unit.compat.mock import patch - -from .nxos_module import TestNxosModule, load_fixture, set_module_args - - -class TestNxosBgpAfModule(TestNxosModule): - module = nxos_bgp_af - - def setUp(self): - super(TestNxosBgpAfModule, self).setUp() - - self.mock_load_config = patch( - "ansible_collections.cisco.nxos.plugins.modules.nxos_bgp_af.load_config", - ) - self.load_config = self.mock_load_config.start() - - self.mock_get_config = patch( - "ansible_collections.cisco.nxos.plugins.modules.nxos_bgp_af.get_config", - ) - self.get_config = self.mock_get_config.start() - - def tearDown(self): - super(TestNxosBgpAfModule, self).tearDown() - self.mock_load_config.stop() - self.mock_get_config.stop() - - def load_fixtures(self, commands=None, device=""): - self.get_config.return_value = load_fixture("nxos_bgp", "config.cfg") - self.load_config.return_value = None - - def test_nxos_bgp_af(self): - set_module_args(dict(asn=65535, afi="ipv4", safi="unicast")) - self.execute_module( - changed=True, - sort=False, - commands=["router bgp 65535", "address-family ipv4 unicast"], - ) - - def test_nxos_bgp_af_vrf(self): - set_module_args(dict(asn=65535, vrf="test", afi="ipv4", safi="unicast")) - self.execute_module( - changed=True, - sort=False, - commands=[ - "router bgp 65535", - "vrf test", - "address-family ipv4 unicast", - ], - ) - - def test_nxos_bgp_af_vrf_exists(self): - set_module_args(dict(asn=65535, vrf="test2", afi="ipv4", safi="unicast")) - self.execute_module(changed=False, commands=[]) - - def test_nxos_bgp_af_dampening_routemap(self): - set_module_args( - dict( - asn=65535, - afi="ipv4", - safi="unicast", - dampening_routemap="route-map-a", - ), - ) - self.execute_module( - changed=True, - commands=[ - "router bgp 65535", - "address-family ipv4 unicast", - "dampening route-map route-map-a", - ], - ) - - def test_nxos_bgp_af_dampening_manual(self): - set_module_args( - dict( - asn=65535, - afi="ipv4", - safi="unicast", - dampening_half_time=5, - dampening_suppress_time=2000, - dampening_reuse_time=1900, - dampening_max_suppress_time=10, - ), - ) - self.execute_module( - changed=True, - commands=[ - "router bgp 65535", - "address-family ipv4 unicast", - "dampening 5 1900 2000 10", - ], - ) - - def test_nxos_bgp_af_dampening_mix(self): - set_module_args( - dict( - asn=65535, - afi="ipv4", - safi="unicast", - dampening_routemap="route-map-a", - dampening_half_time=5, - dampening_suppress_time=2000, - dampening_reuse_time=1900, - dampening_max_suppress_time=10, - ), - ) - result = self.execute_module(failed=True) - self.assertEqual( - result["msg"], - "parameters are mutually exclusive: dampening_routemap|dampening_half_time, " - "dampening_routemap|dampening_suppress_time, dampening_routemap|dampening_reuse_time, " - "dampening_routemap|dampening_max_suppress_time", - ) - - def test_nxos_bgp_af_client(self): - set_module_args(dict(asn=65535, afi="ipv4", safi="unicast", client_to_client=False)) - self.execute_module( - changed=True, - commands=[ - "router bgp 65535", - "address-family ipv4 unicast", - "no client-to-client reflection", - ], - ) - - def test_nxos_bgp_af_retain_route_target(self): - set_module_args(dict(asn=65535, afi="l2vpn", safi="evpn", retain_route_target="abc")) - self.execute_module( - changed=True, - commands=[ - "router bgp 65535", - "address-family l2vpn evpn", - "retain route-target route-map abc", - ], - ) - - def test_nxos_bgp_af_retain_route_target_all(self): - set_module_args(dict(asn=65535, afi="l2vpn", safi="evpn", retain_route_target="all")) - self.execute_module( - changed=True, - commands=[ - "router bgp 65535", - "address-family l2vpn evpn", - "retain route-target all", - ], - ) - - def test_nxos_bgp_af_retain_route_target_exists(self): - set_module_args(dict(asn=65535, afi="l2vpn", safi="evpn", retain_route_target="xyz")) - self.execute_module(changed=False, commands=[]) diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_global.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_global.py index c2b2d5db2..22c9378eb 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_global.py +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_global.py @@ -89,6 +89,11 @@ class TestNxosBgpGlobalModule(TestNxosModule): remote_as="65537", password=dict(encryption=7, key="12090404011C03162E"), ), + dict( + neighbor_address="2001:4000:4000:fff1::/64", + remote_as_route_map="rmap1", + description="TEST_NBR", + ), ], vrfs=[ dict( @@ -107,6 +112,11 @@ class TestNxosBgpGlobalModule(TestNxosModule): key="13D4D3549493D2877B1DC116EE27A6BE", ), ), + dict( + neighbor_address="2001:4000:5000:fff1::/64", + remote_as_route_map="rmap2", + description="TEST_NBR_2", + ), ], ), dict( @@ -134,6 +144,8 @@ class TestNxosBgpGlobalModule(TestNxosModule): "neighbor 198.51.100.21", "remote-as 65537", "password 7 12090404011C03162E", + "neighbor 2001:4000:4000:fff1::/64 remote-as route-map rmap1", + "description TEST_NBR", "vrf site-1", "local-as 200", "log-neighbor-changes", @@ -143,6 +155,8 @@ class TestNxosBgpGlobalModule(TestNxosModule): "description site-1-nbr-1", "password 3 13D4D3549493D2877B1DC116EE27A6BE", "timers 5 15", + "neighbor 2001:4000:5000:fff1::/64 remote-as route-map rmap2", + "description TEST_NBR_2", "vrf site-2", "local-as 300", "log-neighbor-changes", @@ -308,6 +322,8 @@ class TestNxosBgpGlobalModule(TestNxosModule): neighbor 198.51.100.21 remote-as 65537 password 7 12090404011C03162E + neighbor 2001:4000:4000:fff1::/64 remote-as route-map rmap1 + description TEST_NBR vrf site-1 local-as 200 log-neighbor-changes @@ -344,6 +360,11 @@ class TestNxosBgpGlobalModule(TestNxosModule): remote_as="65537", password=dict(encryption=7, key="12090404011C03162E"), ), + dict( + neighbor_address="2001:4000:4000:fff1::/64", + remote_as_route_map="rmap1", + description="TEST_NBR", + ), ], vrfs=[ dict( @@ -465,6 +486,93 @@ class TestNxosBgpGlobalModule(TestNxosModule): result = self.execute_module(changed=True) self.assertEqual(set(result["commands"]), set(commands)) + def test_nxos_bgp_global_overridden(self): + run_cfg = dedent( + """\ + router bgp 65536 + log-neighbor-changes + maxas-limit 20 + router-id 198.51.100.2 + neighbor 198.51.100.20 + remote-as 65537 + affinity-group 161 + description NBR-1 + shutdown + low-memory exempt + neighbor 198.51.100.21 + remote-as 65537 + password 7 12090404011C03162E + vrf site-1 + local-as 200 + log-neighbor-changes + neighbor 192.0.2.10 + affinity-group 170 + remote-as 65538 + description site-1-nbr-1 + password 3 13D4D3549493D2877B1DC116EE27A6BE + vrf site-2 + local-as 300 + log-neighbor-changes + neighbor-down fib-accelerate + """, + ) + self.get_config.return_value = run_cfg + self.cfg_get_config.return_value = run_cfg + + set_module_args( + dict( + config=dict( + as_number="65536", + router_id="198.51.100.212", + log_neighbor_changes=True, + maxas_limit=20, + neighbors=[ + dict( + neighbor_address="198.51.100.20", + neighbor_affinity_group=dict(group_id=161), + remote_as="65537", + description="NBR-1", + low_memory=dict(exempt=True), + ), + ], + vrfs=[ + dict( + vrf="site-1", + local_as="200", + log_neighbor_changes=True, + neighbors=[ + dict( + neighbor_address="192.0.2.10", + neighbor_affinity_group=dict(group_id=190), + remote_as="65538", + description="site-1-nbr-1", + password=dict( + encryption=3, + key="13D4D3549493D2877B1DC116EE27A6BE", + ), + ), + ], + ), + ], + ), + state="overridden", + ), + ignore_provider_arg, + ) + commands = [ + "router bgp 65536", + "router-id 198.51.100.212", + "neighbor 198.51.100.20", + "no shutdown", + "no neighbor 198.51.100.21", + "vrf site-1", + "neighbor 192.0.2.10", + "affinity-group 190", + "no vrf site-2", + ] + result = self.execute_module(changed=True) + self.assertEqual(set(result["commands"]), set(commands)) + def test_nxos_bgp_global_replaced_idempotent(self): run_cfg = dedent( """\ diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_neighbor.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_neighbor.py deleted file mode 100644 index 677e6f7dd..000000000 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_neighbor.py +++ /dev/null @@ -1,138 +0,0 @@ -# (c) 2016 Red Hat Inc. -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see <http://www.gnu.org/licenses/>. - -# Make coding more python3-ish - -from __future__ import absolute_import, division, print_function - - -__metaclass__ = type - -from ansible_collections.cisco.nxos.plugins.modules import nxos_bgp_neighbor -from ansible_collections.cisco.nxos.tests.unit.compat.mock import patch - -from .nxos_module import TestNxosModule, load_fixture, set_module_args - - -class TestNxosBgpNeighborModule(TestNxosModule): - module = nxos_bgp_neighbor - - def setUp(self): - super(TestNxosBgpNeighborModule, self).setUp() - - self.mock_load_config = patch( - "ansible_collections.cisco.nxos.plugins.modules.nxos_bgp_neighbor.load_config", - ) - self.load_config = self.mock_load_config.start() - - self.mock_get_config = patch( - "ansible_collections.cisco.nxos.plugins.modules.nxos_bgp_neighbor.get_config", - ) - self.get_config = self.mock_get_config.start() - - def tearDown(self): - super(TestNxosBgpNeighborModule, self).tearDown() - self.mock_load_config.stop() - self.mock_get_config.stop() - - def load_fixtures(self, commands=None, device=""): - self.get_config.return_value = load_fixture("nxos_bgp", "config.cfg") - self.load_config.return_value = [] - - def test_nxos_bgp_neighbor_bfd_1(self): - # None (disable) -> enable - set_module_args(dict(asn=65535, neighbor="1.1.1.1", bfd="enable")) - self.execute_module( - changed=True, - commands=["router bgp 65535", "neighbor 1.1.1.1", "bfd"], - ) - - # enable -> enable (idempotence) - set_module_args(dict(asn=65535, neighbor="1.1.1.2", bfd="enable")) - self.execute_module(changed=False) - - def test_nxos_bgp_neighbor_bfd_2(self): - # enable -> None (disable) - set_module_args(dict(asn=65535, neighbor="1.1.1.2", bfd="disable")) - self.execute_module( - changed=True, - commands=["router bgp 65535", "neighbor 1.1.1.2", "no bfd"], - ) - - # None (disable) -> disable (idempotence) - set_module_args(dict(asn=65535, neighbor="1.1.1.1", bfd="disable")) - self.execute_module(changed=False) - - def test_nxos_bgp_neighbor(self): - set_module_args(dict(asn=65535, neighbor="192.0.2.3", description="some words")) - self.execute_module( - changed=True, - commands=[ - "router bgp 65535", - "neighbor 192.0.2.3", - "description some words", - ], - ) - - def test_nxos_bgp_neighbor_absent(self): - set_module_args(dict(asn=65535, neighbor="1.1.1.1", state="absent")) - self.execute_module(changed=True, commands=["router bgp 65535", "no neighbor 1.1.1.1"]) - - def test_nxos_bgp_neighbor_remove_private_as(self): - set_module_args(dict(asn=65535, neighbor="3.3.3.4", remove_private_as="all")) - self.execute_module(changed=False, commands=[]) - - def test_nxos_bgp_neighbor_remove_private_as_changed(self): - set_module_args(dict(asn=65535, neighbor="3.3.3.4", remove_private_as="replace-as")) - self.execute_module( - changed=True, - commands=[ - "router bgp 65535", - "neighbor 3.3.3.4", - "remove-private-as replace-as", - ], - ) - - def test_nxos_bgp_neighbor_peertype_border_leaf(self): - set_module_args(dict(asn=65535, neighbor="192.0.2.3", peer_type="fabric_border_leaf")) - self.execute_module( - changed=True, - commands=[ - "router bgp 65535", - "neighbor 192.0.2.3", - "peer-type fabric-border-leaf", - ], - ) - - def test_nxos_bgp_neighbor_peertype_external(self): - set_module_args(dict(asn=65535, neighbor="192.0.2.3", peer_type="fabric_external")) - self.execute_module( - changed=True, - commands=[ - "router bgp 65535", - "neighbor 192.0.2.3", - "peer-type fabric-external", - ], - ) - - def test_nxos_bgp_neighbor_peertype_border_leaf_exists(self): - set_module_args(dict(asn=65535, neighbor="5.5.5.5", peer_type="fabric_border_leaf")) - self.execute_module(changed=False) - - def test_nxos_bgp_neighbor_peertype_external_exists(self): - set_module_args(dict(asn=65535, neighbor="6.6.6.6", peer_type="fabric_external")) - self.execute_module(changed=False) diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_neighbor_address_family.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_neighbor_address_family.py index 8f12a4279..b3943f370 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_neighbor_address_family.py +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_neighbor_address_family.py @@ -2713,3 +2713,64 @@ class TestNxosBGPNeighborAddressFamilyModule(TestNxosModule): ) result = self.execute_module(changed=False) self.assertEqual(result["parsed"], parsed) + + def test_nxos_bgp_nbr_af_rewrite_rt_asn(self): + # test merged for rewrite_rt_asn + self.get_config.return_value = dedent( + """\ + router bgp 65536 + neighbor 192.168.1.1 + vrf site-1 + neighbor 10.0.0.100 + """, + ) + set_module_args( + dict( + config=dict( + as_number="65536", + neighbors=[ + dict( + neighbor_address="192.168.1.1", + address_family=[ + dict( + afi="ipv4", + safi="mvpn", + rewrite_rt_asn=True, + ), + ], + ), + ], + vrfs=[ + dict( + vrf="site-1", + neighbors=[ + dict( + neighbor_address="10.0.0.100", + address_family=[ + dict( + afi="ipv4", + safi="mvpn", + rewrite_rt_asn=True, + ), + ], + ), + ], + ), + ], + ), + state="merged", + ), + ignore_provider_arg, + ) + commands = [ + "router bgp 65536", + "neighbor 192.168.1.1", + "address-family ipv4 mvpn", + "rewrite-rt-asn", + "vrf site-1", + "neighbor 10.0.0.100", + "address-family ipv4 mvpn", + "rewrite-rt-asn", + ] + result = self.execute_module(changed=True) + self.assertEqual(set(result["commands"]), set(commands)) diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_neighbor_af.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_neighbor_af.py deleted file mode 100644 index 8b918d0e8..000000000 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_neighbor_af.py +++ /dev/null @@ -1,259 +0,0 @@ -# (c) 2016 Red Hat Inc. -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see <http://www.gnu.org/licenses/>. - -# Make coding more python3-ish - -from __future__ import absolute_import, division, print_function - - -__metaclass__ = type - -from ansible_collections.cisco.nxos.plugins.modules import nxos_bgp_neighbor_af -from ansible_collections.cisco.nxos.tests.unit.compat.mock import patch - -from .nxos_module import TestNxosModule, load_fixture, set_module_args - - -class TestNxosBgpNeighborAfModule(TestNxosModule): - module = nxos_bgp_neighbor_af - - def setUp(self): - super(TestNxosBgpNeighborAfModule, self).setUp() - - self.mock_load_config = patch( - "ansible_collections.cisco.nxos.plugins.modules.nxos_bgp_neighbor_af.load_config", - ) - self.load_config = self.mock_load_config.start() - - self.mock_get_config = patch( - "ansible_collections.cisco.nxos.plugins.modules.nxos_bgp_neighbor_af.get_config", - ) - self.get_config = self.mock_get_config.start() - - def tearDown(self): - super(TestNxosBgpNeighborAfModule, self).tearDown() - self.mock_load_config.stop() - self.mock_get_config.stop() - - def load_fixtures(self, commands=None, device=""): - self.get_config.return_value = load_fixture("nxos_bgp", "config.cfg") - self.load_config.return_value = [] - - def test_nxos_bgp_neighbor_af(self): - set_module_args( - dict( - asn=65535, - neighbor="192.0.2.3", - afi="ipv4", - safi="unicast", - route_reflector_client=True, - ), - ) - result = self.execute_module(changed=True) - self.assertEqual( - result["commands"], - [ - "router bgp 65535", - "neighbor 192.0.2.3", - "address-family ipv4 unicast", - "route-reflector-client", - ], - ) - - def test_nxos_bgp_neighbor_af_exists(self): - set_module_args(dict(asn=65535, neighbor="3.3.3.5", afi="ipv4", safi="unicast")) - self.execute_module(changed=False, commands=[]) - - def test_nxos_bgp_neighbor_af_absent(self): - set_module_args( - dict( - asn=65535, - neighbor="3.3.3.5", - afi="ipv4", - safi="unicast", - state="absent", - ), - ) - self.execute_module( - changed=True, - sort=False, - commands=[ - "router bgp 65535", - "neighbor 3.3.3.5", - "no address-family ipv4 unicast", - ], - ) - - def test_nxos_bgp_neighbor_af_advertise_map(self): - set_module_args( - dict( - asn=65535, - neighbor="3.3.3.5", - afi="ipv4", - safi="unicast", - advertise_map_exist=["my_advertise_map", "my_exist_map"], - ), - ) - self.execute_module( - changed=True, - sort=False, - commands=[ - "router bgp 65535", - "neighbor 3.3.3.5", - "address-family ipv4 unicast", - "advertise-map my_advertise_map exist-map my_exist_map", - ], - ) - - def test_nxos_bgp_neighbor_af_advertise_map_non_exist(self): - set_module_args( - dict( - asn=65535, - neighbor="3.3.3.5", - afi="ipv4", - safi="unicast", - advertise_map_non_exist=[ - "my_advertise_map", - "my_non_exist_map", - ], - ), - ) - self.execute_module( - changed=True, - sort=False, - commands=[ - "router bgp 65535", - "neighbor 3.3.3.5", - "address-family ipv4 unicast", - "advertise-map my_advertise_map non-exist-map my_non_exist_map", - ], - ) - - def test_nxos_bgp_neighbor_af_max_prefix_limit_default(self): - set_module_args( - dict( - asn=65535, - neighbor="3.3.3.5", - afi="ipv4", - safi="unicast", - max_prefix_limit="default", - ), - ) - self.execute_module( - changed=True, - sort=False, - commands=[ - "router bgp 65535", - "neighbor 3.3.3.5", - "address-family ipv4 unicast", - "no maximum-prefix", - ], - ) - - def test_nxos_bgp_neighbor_af_max_prefix(self): - set_module_args( - dict( - asn=65535, - neighbor="3.3.3.5", - afi="ipv4", - safi="unicast", - max_prefix_threshold=20, - max_prefix_limit=20, - ), - ) - self.execute_module( - changed=True, - sort=False, - commands=[ - "router bgp 65535", - "neighbor 3.3.3.5", - "address-family ipv4 unicast", - "maximum-prefix 20 20", - ], - ) - - def test_nxos_bgp_neighbor_af_disable_peer_as_check(self): - set_module_args( - dict( - asn=65535, - neighbor="3.3.3.5", - afi="ipv4", - safi="unicast", - disable_peer_as_check=True, - ), - ) - self.execute_module( - changed=True, - commands=[ - "router bgp 65535", - "neighbor 3.3.3.5", - "address-family ipv4 unicast", - "disable-peer-as-check", - ], - ) - - def test_nxos_bgp_neighbor_af_rewrite_evpn(self): - set_module_args( - dict( - asn=65535, - neighbor="30.30.30.5", - afi="l2vpn", - safi="evpn", - rewrite_evpn_rt_asn=True, - ), - ) - self.execute_module( - changed=True, - commands=[ - "router bgp 65535", - "neighbor 30.30.30.5", - "address-family l2vpn evpn", - "rewrite-evpn-rt-asn", - ], - ) - - def test_nxos_bgp_neighbor_af_rewrite_evpn_disable(self): - set_module_args( - dict( - asn=65535, - neighbor="30.30.30.5", - afi="l2vpn", - safi="evpn", - rewrite_evpn_rt_asn=False, - ), - ) - self.execute_module( - changed=True, - commands=[ - "router bgp 65535", - "neighbor 30.30.30.5", - "address-family l2vpn evpn", - "no rewrite-evpn-rt-asn", - ], - ) - - def test_nxos_bgp_neighbor_af_rewrite_evpn_exists(self): - set_module_args( - dict( - asn=65535, - neighbor="7.7.7.7", - afi="l2vpn", - safi="evpn", - rewrite_evpn_rt_asn=True, - ), - ) - self.execute_module(changed=False, commands=[]) diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_templates.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_templates.py new file mode 100644 index 000000000..8d2fd74b5 --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_bgp_templates.py @@ -0,0 +1,865 @@ +# (c) 2021 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. + +# Make coding more python3-ish + +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +from textwrap import dedent + +from ansible_collections.cisco.nxos.plugins.modules import nxos_bgp_templates +from ansible_collections.cisco.nxos.tests.unit.compat.mock import patch + +from .nxos_module import TestNxosModule, set_module_args + + +ignore_provider_arg = True + + +class TestNxosBgpTemplatesModule(TestNxosModule): + module = nxos_bgp_templates + + def setUp(self): + super(TestNxosBgpTemplatesModule, self).setUp() + + self.mock_get_resource_connection = patch( + "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base.get_resource_connection", + ) + self.get_resource_connection = self.mock_get_resource_connection.start() + + self.mock_get_config = patch( + "ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.facts.bgp_templates.bgp_templates.Bgp_templatesFacts.get_config", + ) + self.get_config = self.mock_get_config.start() + + def tearDown(self): + super(TestNxosBgpTemplatesModule, self).tearDown() + self.get_resource_connection.stop() + self.get_config.stop() + + def test_nxos_bgp_templates_merged(self): + set_module_args( + dict( + config=dict( + as_number="65536", + neighbor=[ + dict( + name="tmplt_1", + description="test-neighbor-template", + bfd=dict( + singlehop=True, + multihop=dict( + interval=dict( + tx_interval=300, + min_rx_interval=258, + multiplier=12, + ), + ), + ), + bmp_activate_server=12, + capability=dict( + suppress_4_byte_as=True, + ), + disable_connected_check=True, + dont_capability_negotiate=True, + dscp="cs1", + dynamic_capability=True, + ebgp_multihop=5, + graceful_shutdown=dict( + activate=dict( + route_map="rmap1", + ), + ), + inherit=dict(peer_session="peer_sess_1"), + local_as="65535", + log_neighbor_changes=dict( + disable=True, + ), + low_memory=dict( + exempt=True, + ), + password=dict( + encryption=7, + key="095C4F1A0A1218000F", + ), + path_attribute=[ + dict( + action="discard", + type=10, + ), + dict( + action="treat-as-withdraw", + range=dict( + start=10, + end=15, + ), + ), + ], + ), + dict( + name="tmplt_2", + bfd=dict( + set=True, + ), + remote_as="65534", + remove_private_as=dict( + replace_as=True, + ), + shutdown=True, + timers=dict( + keepalive=200, + holdtime=300, + ), + transport=dict(connection_mode=dict(passive=True)), + ttl_security=dict( + hops=10, + ), + update_source="Ethernet1/1", + ), + dict( + name="tmplt_3", + bfd=dict( + multihop=dict( + set=True, + ), + ), + address_family=[ + dict( + afi="l2vpn", + safi="evpn", + send_community="both", + ), + ], + ), + ], + ), + state="merged", + ), + ignore_provider_arg, + ) + commands = [ + "router bgp 65536", + "template peer tmplt_1", + "bfd singlehop", + "bfd multihop interval 300 min_rx 258 multiplier 12", + "bmp-activate-server 12", + "capability suppress 4-byte-as", + "description test-neighbor-template", + "disable-connected-check", + "dont-capability-negotiate", + "dscp cs1", + "dynamic-capability", + "ebgp-multihop 5", + "graceful-shutdown activate route-map rmap1", + "inherit peer-session peer_sess_1", + "local-as 65535", + "log-neighbor-changes disable", + "low-memory exempt", + "password 7 095C4F1A0A1218000F", + "path-attribute discard 10 in", + "path-attribute treat-as-withdraw range 10 15 in", + "template peer tmplt_2", + "bfd", + "remote-as 65534", + "remove-private-as replace-as", + "shutdown", + "timers 200 300", + "transport connection-mode passive", + "ttl-security hops 10", + "update-source Ethernet1/1", + "template peer tmplt_3", + "bfd multihop", + "address-family l2vpn evpn", + "send-community", + "send-community extended", + ] + result = self.execute_module(changed=True) + self.assertEqual(set(result["commands"]), set(commands)) + + def test_nxos_bgp_templates_merged_idempotent(self): + self.get_config.return_value = dedent( + """\ + router bgp 65536 + template peer tmplt_1 + bfd singlehop + bfd multihop interval 300 min_rx 258 multiplier 12 + bmp-activate-server 12 + capability suppress 4-byte-as + description test-neighbor-template + disable-connected-check + dont-capability-negotiate + dscp cs1 + dynamic-capability + ebgp-multihop 5 + graceful-shutdown activate route-map rmap1 + inherit peer-session peer_sess_1 + local-as 65535 + log-neighbor-changes disable + low-memory exempt + password 7 095C4F1A0A1218000F + path-attribute discard 10 in + path-attribute treat-as-withdraw range 10 15 in + template peer tmplt_2 + bfd + remote-as 65534 + remove-private-as replace-as + shutdown + timers 200 300 + transport connection-mode passive + ttl-security hops 10 + update-source Ethernet1/1 + template peer tmplt_3 + bfd multihop + """, + ) + set_module_args( + dict( + config=dict( + as_number="65536", + neighbor=[ + dict( + name="tmplt_1", + description="test-neighbor-template", + bfd=dict( + singlehop=True, + multihop=dict( + interval=dict( + tx_interval=300, + min_rx_interval=258, + multiplier=12, + ), + ), + ), + bmp_activate_server=12, + capability=dict( + suppress_4_byte_as=True, + ), + disable_connected_check=True, + dont_capability_negotiate=True, + dscp="cs1", + dynamic_capability=True, + ebgp_multihop=5, + graceful_shutdown=dict( + activate=dict( + route_map="rmap1", + ), + ), + inherit=dict(peer_session="peer_sess_1"), + local_as="65535", + log_neighbor_changes=dict( + disable=True, + ), + low_memory=dict( + exempt=True, + ), + password=dict( + encryption=7, + key="095C4F1A0A1218000F", + ), + path_attribute=[ + dict( + action="discard", + type=10, + ), + dict( + action="treat-as-withdraw", + range=dict( + start=10, + end=15, + ), + ), + ], + ), + dict( + name="tmplt_2", + bfd=dict( + set=True, + ), + remote_as="65534", + remove_private_as=dict( + replace_as=True, + ), + shutdown=True, + timers=dict( + keepalive=200, + holdtime=300, + ), + transport=dict(connection_mode=dict(passive=True)), + ttl_security=dict( + hops=10, + ), + update_source="Ethernet1/1", + ), + dict( + name="tmplt_3", + bfd=dict( + multihop=dict( + set=True, + ), + ), + ), + ], + ), + state="merged", + ), + ignore_provider_arg, + ) + result = self.execute_module(changed=False) + self.assertEqual(result["commands"], []) + + def test_nxos_bgp_templates_deleted_single(self): + self.get_config.return_value = dedent( + """\ + router bgp 65536 + template peer tmplt_1 + bfd singlehop + bfd multihop interval 300 min_rx 258 multiplier 12 + bmp-activate-server 12 + template peer tmplt_2 + bfd + remote-as 65534 + remove-private-as replace-as + """, + ) + set_module_args( + dict( + config=dict(as_number="65536", neighbor=[dict(name="tmplt_1")]), + state="deleted", + ), + ignore_provider_arg, + ) + commands = [ + "router bgp 65536", + "no template peer tmplt_1", + ] + result = self.execute_module(changed=True) + self.assertEqual(set(result["commands"]), set(commands)) + + def test_nxos_bgp_templates_deleted_all(self): + self.get_config.return_value = dedent( + """\ + router bgp 65536 + template peer tmplt_1 + bfd singlehop + bfd multihop interval 300 min_rx 258 multiplier 12 + bmp-activate-server 12 + template peer tmplt_2 + bfd + remote-as 65534 + remove-private-as replace-as + """, + ) + set_module_args( + dict( + state="deleted", + ), + ignore_provider_arg, + ) + commands = ["router bgp 65536", "no template peer tmplt_1", "no template peer tmplt_2"] + result = self.execute_module(changed=True) + self.assertEqual(set(result["commands"]), set(commands)) + + def test_nxos_bgp_templates_overridden(self): + self.get_config.return_value = dedent( + """\ + router bgp 65536 + template peer tmplt_1 + bfd singlehop + bfd multihop interval 300 min_rx 258 multiplier 12 + template peer tmplt_2 + bfd + remote-as 65534 + remove-private-as replace-as + path-attribute discard 10 in + path-attribute treat-as-withdraw range 10 15 in + template peer tmplt_3 + remote-as 65533 + """, + ) + set_module_args( + dict( + config=dict( + as_number="65536", + neighbor=[ + dict( + name="tmplt_1", + bfd=dict( + singlehop=True, + multihop=dict( + interval=dict( + tx_interval=300, + min_rx_interval=258, + multiplier=12, + ), + ), + ), + ), + dict( + name="tmplt_2", + remote_as="65534", + path_attribute=[ + dict( + action="discard", + type=10, + ), + ], + ), + ], + ), + state="overridden", + ), + ignore_provider_arg, + ) + commands = [ + "router bgp 65536", + "no template peer tmplt_3", + "template peer tmplt_2", + "no bfd", + "no remove-private-as replace-as", + "no path-attribute treat-as-withdraw range 10 15 in", + ] + result = self.execute_module(changed=True) + self.assertEqual(set(result["commands"]), set(commands)) + + def test_nxos_bgp_templates_gathered(self): + self.get_config.return_value = dedent( + """\ + router bgp 65536 + template peer tmplt_1 + bfd singlehop + bfd multihop interval 300 min_rx 258 multiplier 12 + template peer tmplt_2 + bfd + remote-as 65534 + remove-private-as replace-as + path-attribute discard 10 in + """, + ) + set_module_args( + dict( + state="gathered", + ), + ignore_provider_arg, + ) + gathered = dict( + as_number="65536", + neighbor=[ + dict( + name="tmplt_1", + bfd=dict( + singlehop=True, + multihop=dict( + interval=dict( + tx_interval=300, + min_rx_interval=258, + multiplier=12, + ), + ), + ), + ), + dict( + name="tmplt_2", + bfd=dict( + set=True, + ), + remote_as="65534", + path_attribute=[ + dict( + action="discard", + type=10, + ), + ], + remove_private_as=dict( + replace_as=True, + ), + ), + ], + ) + result = self.execute_module(changed=False) + self.assertEqual(result["gathered"], gathered) + + def test_nxos_bgp_templates_parsed(self): + run_cfg = dedent( + """\ + router bgp 65536 + template peer tmplt_1 + bfd singlehop + bfd multihop interval 300 min_rx 258 multiplier 12 + template peer tmplt_2 + bfd + remote-as 65534 + remove-private-as replace-as + path-attribute discard 10 in + """, + ) + set_module_args( + dict( + running_config=run_cfg, + state="parsed", + ), + ignore_provider_arg, + ) + parsed = dict( + as_number="65536", + neighbor=[ + dict( + name="tmplt_1", + bfd=dict( + singlehop=True, + multihop=dict( + interval=dict( + tx_interval=300, + min_rx_interval=258, + multiplier=12, + ), + ), + ), + ), + dict( + name="tmplt_2", + bfd=dict( + set=True, + ), + remote_as="65534", + path_attribute=[ + dict( + action="discard", + type=10, + ), + ], + remove_private_as=dict( + replace_as=True, + ), + ), + ], + ) + result = self.execute_module(changed=False) + self.assertEqual(result["parsed"], parsed) + + def test_nxos_bgp_templates_af(self): + self.get_config.return_value = dedent( + """\ + """, + ) + set_module_args( + dict( + config=dict( + as_number="65536", + neighbor=[ + dict( + name="tmplt_1", + description="test-neighbor-template", + address_family=[ + dict( + afi="ipv4", + safi="unicast", + advertise_map=dict( + route_map="rmap1", + exist_map="rmap2", + ), + advertisement_interval=100, + allowas_in=dict( + max_occurences=10, + ), + as_override=True, + capability=dict( + additional_paths=dict( + receive="disable", + send="disable", + ), + ), + default_originate=dict( + route_map="rmap1", + ), + disable_peer_as_check=True, + filter_list=dict( + inbound="flist1", + outbound="flist2", + ), + inherit=dict( + peer_policy="tmplt_policy_1", + ), + ), + dict( + afi="ipv4", + safi="multicast", + maximum_prefix=dict( + max_prefix_limit=10, + generate_warning_threshold=80, + restart_interval=60, + warning_only=True, + ), + next_hop_self=dict( + all_routes=True, + ), + next_hop_third_party=True, + prefix_list=dict( + inbound="plist1", + outbound="plist2", + ), + ), + ], + ), + dict( + name="tmplt_2", + description="test-neighbor-template-2", + address_family=[ + dict( + afi="ipv4", + safi="unicast", + route_map=dict( + inbound="rmap1", + outbound="rmap2", + ), + route_reflector_client=True, + soft_reconfiguration_inbound=dict( + always=True, + ), + soo="test", + suppress_inactive=True, + unsuppress_map="rmap1", + weight=2, + ), + ], + ), + ], + ), + state="merged", + ), + ignore_provider_arg, + ) + commands = [ + "router bgp 65536", + "template peer tmplt_1", + "description test-neighbor-template", + "address-family ipv4 unicast", + "advertise-map rmap1 exist-map rmap2", + "advertisement-interval 100", + "allowas-in 10", + "as-override", + "capability additional-paths receive disable", + "capability additional-paths send disable", + "default-originate route-map rmap1", + "disable-peer-as-check", + "filter-list flist1 in", + "filter-list flist2 out", + "inherit peer-policy tmplt_policy_1", + "address-family ipv4 multicast", + "maximum-prefix 10 80 restart 60 warning-only", + "next-hop-self all", + "next-hop-third-party", + "prefix-list plist1 in", + "prefix-list plist2 out", + "template peer tmplt_2", + "description test-neighbor-template-2", + "address-family ipv4 unicast", + "route-map rmap1 in", + "route-map rmap2 out", + "route-reflector-client", + "soft-reconfiguration inbound always", + "soo test", + "suppress-inactive", + "unsuppress-map rmap1", + "weight 2", + ] + result = self.execute_module(changed=True) + self.assertEqual(set(result["commands"]), set(commands)) + + def test_nxos_bgp_templates_af_idempotent(self): + self.get_config.return_value = dedent( + """\ + router bgp 65536 + template peer tmplt_1 + description test-neighbor-template + address-family ipv4 unicast + advertise-map rmap1 exist-map rmap2 + advertisement-interval 100 + allowas-in 10 + as-override + capability additional-paths receive disable + capability additional-paths send disable + default-originate route-map rmap1 + disable-peer-as-check + filter-list flist1 in + filter-list flist2 out + inherit peer-policy tmplt_policy_1 + address-family ipv4 multicast + maximum-prefix 10 80 restart 60 warning-only + next-hop-self all + no next-hop-third-party + prefix-list plist1 in + prefix-list plist2 out + template peer tmplt_2 + description test-neighbor-template-2 + address-family ipv4 unicast + route-map rmap1 in + route-map rmap2 out + route-reflector-client + soft-reconfiguration inbound always + soo test + suppress-inactive + unsuppress-map rmap1 + weight 2 + """, + ) + set_module_args( + dict( + config=dict( + as_number="65536", + neighbor=[ + dict( + name="tmplt_1", + description="test-neighbor-template", + address_family=[ + dict( + afi="ipv4", + safi="unicast", + advertise_map=dict( + route_map="rmap1", + exist_map="rmap2", + ), + advertisement_interval=100, + allowas_in=dict( + max_occurences=10, + ), + as_override=True, + capability=dict( + additional_paths=dict( + receive="disable", + send="disable", + ), + ), + default_originate=dict( + route_map="rmap1", + ), + disable_peer_as_check=True, + filter_list=dict( + inbound="flist1", + outbound="flist2", + ), + inherit=dict( + peer_policy="tmplt_policy_1", + ), + ), + dict( + afi="ipv4", + safi="multicast", + maximum_prefix=dict( + max_prefix_limit=10, + generate_warning_threshold=80, + restart_interval=60, + warning_only=True, + ), + next_hop_self=dict( + all_routes=True, + ), + next_hop_third_party=False, + prefix_list=dict( + inbound="plist1", + outbound="plist2", + ), + ), + ], + ), + dict( + name="tmplt_2", + description="test-neighbor-template-2", + address_family=[ + dict( + afi="ipv4", + safi="unicast", + route_map=dict( + inbound="rmap1", + outbound="rmap2", + ), + route_reflector_client=True, + soft_reconfiguration_inbound=dict( + always=True, + ), + soo="test", + suppress_inactive=True, + unsuppress_map="rmap1", + weight=2, + ), + ], + ), + ], + ), + state="merged", + ), + ignore_provider_arg, + ) + + result = self.execute_module(changed=False) + self.assertEqual(result["commands"], []) + + def test_nxos_bgp_templates_send_comm(self): + self.get_config.return_value = dedent( + """\ + router bgp 65536 + template peer tmplt_1 + address-family ipv4 unicast + send-community + send-community extended + template peer tmplt_2 + address-family l2vpn evpn + send-community extended + """, + ) + set_module_args( + dict( + config=dict( + as_number="65536", + neighbor=[ + dict( + name="tmplt_1", + address_family=[ + dict( + afi="ipv4", + safi="unicast", + send_community="both", + ), + ], + ), + dict( + name="tmplt_2", + address_family=[ + dict( + afi="l2vpn", + safi="evpn", + send_community="standard", + ), + ], + ), + ], + ), + state="merged", + ), + ignore_provider_arg, + ) + commands = [ + "router bgp 65536", + "template peer tmplt_2", + "address-family l2vpn evpn", + "no send-community extended", + "send-community", + ] + result = self.execute_module(changed=True) + self.assertEqual(set(result["commands"]), set(commands)) diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_config.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_config.py index 83e58722a..ce5c987c7 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_config.py +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_config.py @@ -181,6 +181,47 @@ class TestNxosConfigModule(TestNxosModule): self.assertEqual(config, result["commands"], result["commands"]) + def test_nxos_replace_block_src(self): + src = load_fixture("nxos_config", "candidate.cfg") + args = dict(src=src, replace="block") + self.conn.get_diff = MagicMock( + return_value=self.cliconf_obj.get_diff(src, self.running_config), + ) + set_module_args(args) + + result = self.execute_module(changed=True) + config = [ + "hostname switch01", + "interface Ethernet1", + "description test interface", + "no shutdown", + "ip routing", + ] + + self.assertEqual(sorted(config), sorted(result["commands"]), result["commands"]) + + def test_nxos_replace_block_lines(self): + lines = ["ip address 1.2.3.4/5", "no shutdown"] + parents = ["interface Ethernet10"] + args = dict(lines=lines, parents=parents, replace="block") + self.conn.get_diff = MagicMock( + return_value=self.cliconf_obj.get_diff( + "\n".join(parents + lines), + self.running_config, + path=parents, + ), + ) + set_module_args(args) + + result = self.execute_module(changed=True) + config = [ + "interface Ethernet10", + "ip address 1.2.3.4/5", + "no shutdown", + ] + + self.assertEqual(config, result["commands"], result["commands"]) + def test_nxos_config_src_and_lines_fails(self): args = dict(src="foo", lines="foo") set_module_args(args) @@ -201,7 +242,7 @@ class TestNxosConfigModule(TestNxosModule): set_module_args(args) result = self.execute_module(failed=True) - def test_nxos_config_replace_block_requires_lines(self): + def test_nxos_config_replace_block_requires_lines_or_src(self): args = dict(replace="block") set_module_args(args) result = self.execute_module(failed=True) diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/storage/test_nxos_devicealias.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_devicealias.py index a35896fbe..640bcd150 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/storage/test_nxos_devicealias.py +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_devicealias.py @@ -9,11 +9,11 @@ __metaclass__ = type import pytest -from ansible_collections.cisco.nxos.plugins.modules.storage import nxos_devicealias +from ansible_collections.cisco.nxos.plugins.modules import nxos_devicealias from ansible_collections.cisco.nxos.tests.unit.compat.mock import patch from ansible_collections.cisco.nxos.tests.unit.modules.utils import AnsibleFailJson -from ..nxos_module import TestNxosModule, load_fixture, set_module_args +from .nxos_module import TestNxosModule, load_fixture, set_module_args class TestNxosDeviceAliasModule(TestNxosModule): @@ -21,7 +21,7 @@ class TestNxosDeviceAliasModule(TestNxosModule): def setUp(self): super(TestNxosDeviceAliasModule, self).setUp() - module_path = "ansible_collections.cisco.nxos.plugins.modules.storage.nxos_devicealias." + module_path = "ansible_collections.cisco.nxos.plugins.modules.nxos_devicealias." self.mock_run_commands = patch(module_path + "run_commands") self.run_commands = self.mock_run_commands.start() diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_fc_interfaces.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_fc_interfaces.py new file mode 100644 index 000000000..098a5b7ff --- /dev/null +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_fc_interfaces.py @@ -0,0 +1,1744 @@ +# (c) 2023 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. + +# Make coding more python3-ish + + +# remove purge +# add non fc interfaces to the sh run +# check else statements in config file + + +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +from textwrap import dedent + +from ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.rm_templates.fc_interfaces import ( + allowed_port_modes, + allowed_speed_values, +) +from ansible_collections.cisco.nxos.plugins.modules import nxos_fc_interfaces +from ansible_collections.cisco.nxos.tests.unit.compat.mock import patch + +from .nxos_module import TestNxosModule, set_module_args + + +ignore_provider_arg = True + +sh_run = """ +interface mgmt0 + ip address 10.126.94.175 255.255.255.0 + no switchport description + switchport speed auto + switchport duplex auto + snmp trap link-status + no shutdown + lldp transmit + lldp receive + cdp enable + spanning-tree port-priority 128 + spanning-tree cost auto + spanning-tree link-type auto + no spanning-tree bpduguard + no spanning-tree bpdufilter + +interface vsan1 + no shutdown + ip address 111.111.111.175 255.255.255.0 + spanning-tree port-priority 128 + spanning-tree cost auto + spanning-tree link-type auto + no spanning-tree bpduguard + no spanning-tree bpdufilter + + +interface fc1/1 + no out-of-service force + switchport speed auto + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode auto + switchport description This is a sample line + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown + +interface fc1/2 + no out-of-service force + switchport speed 1000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode E + no switchport description + switchport vl-credit default + switchport trunk mode off + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no errdisable detect cause link-down + no errdisable detect cause trustsec-violation + no errdisable detect cause bit-errors + no errdisable detect cause signal-loss + no errdisable detect cause sync-loss + no errdisable detect cause link-reset + no errdisable detect cause credit-loss + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown + +interface fc1/3 + no out-of-service force + switchport speed 2000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode F + no switchport description + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown + +interface fc18/1 + no out-of-service force + switchport speed 4000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode Fx + no switchport description + switchport vl-credit default + switchport trunk mode auto + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown + +interface fc18/2 + no out-of-service force + switchport speed 8000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode NP + no switchport description + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown +interface fc18/3 + no out-of-service force + switchport speed 10000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode SD + no switchport description + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown + +interface fc18/4 + no out-of-service force + switchport speed 16000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode auto + no switchport description + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown +interface fc18/5 + no out-of-service force + switchport speed 32000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode auto + no switchport description + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown + +interface fc18/6 + no out-of-service force + switchport speed 64000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode auto + no switchport description + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown +interface fc18/7 + no out-of-service force + switchport speed auto max 2000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode auto + no switchport description + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown + +interface fc18/8 + no out-of-service force + switchport speed auto max 4000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode auto + no switchport description + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown +interface fc18/9 + no out-of-service force + switchport speed auto max 8000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode auto + switchport description sample description + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown + +interface fc18/10 + no out-of-service force + analytics type fc-nvme + switchport speed auto max 16000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode auto + switchport description $ + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + shutdown + +interface fc18/11 + no out-of-service force + analytics type fc-scsi + switchport speed auto max 32000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode auto + switchport description a + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + shutdown + +interface fc18/12 + no out-of-service force + analytics type fc-scsi + analytics type fc-nvme + switchport speed auto max 64000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode auto + switchport description 1 + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown + +interface fc18/13 + no out-of-service force + analytics type fc-scsi + analytics type fc-nvme + switchport speed auto max 64000 + no transceiver-frequency ethernet + switchport rate-mode default + switchport fcrxbbcredit default + switchport mode auto + switchport description 1 + switchport vl-credit default + switchport trunk mode on + no switchport beacon + switchport fcbbscn + link-state-trap + switchport fcrxbufsize 2112 + no port-license + no switchport owner + switchport encap default + switchport fcrxbbcredit performance-buffers default + no switchport ignore bit-errors + no switchport ignore interrupt-thresholds + switchport fill-pattern ARBFF speed 8000 + switchport logical-type auto + switchport max-npiv-limit 0 + switchport trunk-max-npiv-limit 0 + no switchport link-diag + no shutdown + """ + +gath_val = [ + { + "name": "fc1/1", + "speed": "auto", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + "description": "This is a sample line", + }, + { + "name": "fc1/2", + "speed": "1000", + "mode": "E", + "trunk_mode": "off", + "enabled": True, + }, + { + "name": "fc1/3", + "speed": "2000", + "mode": "F", + "trunk_mode": "on", + "enabled": True, + }, + { + "name": "fc18/1", + "speed": "4000", + "mode": "Fx", + "trunk_mode": "auto", + "enabled": True, + }, + { + "name": "fc18/2", + "speed": "8000", + "mode": "NP", + "trunk_mode": "on", + "enabled": True, + }, + { + "name": "fc18/3", + "speed": "10000", + "mode": "SD", + "trunk_mode": "on", + "enabled": True, + }, + { + "name": "fc18/4", + "speed": "16000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + }, + { + "name": "fc18/5", + "speed": "32000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + }, + { + "name": "fc18/6", + "speed": "64000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + }, + { + "name": "fc18/7", + "speed": "auto max 2000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + }, + { + "name": "fc18/8", + "speed": "auto max 4000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + }, + { + "name": "fc18/9", + "speed": "auto max 8000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + "description": "sample description", + }, + { + "name": "fc18/10", + "speed": "auto max 16000", + "mode": "auto", + "trunk_mode": "on", + "enabled": False, + "description": "$", + "analytics": "fc-nvme", + }, + { + "name": "fc18/11", + "speed": "auto max 32000", + "mode": "auto", + "trunk_mode": "on", + "enabled": False, + "description": "a", + "analytics": "fc-scsi", + }, + { + "name": "fc18/12", + "speed": "auto max 64000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + "description": "1", + "analytics": "fc-all", + }, + { + "name": "fc18/13", + "speed": "auto max 64000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + "description": "1", + "analytics": "fc-all", + }, +] + + +class TestNxosFcInterfacesModule(TestNxosModule): + module = nxos_fc_interfaces + + def setUp(self): + super(TestNxosFcInterfacesModule, self).setUp() + + self.mock_get_resource_connection = patch( + "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base.get_resource_connection", + ) + self.get_resource_connection = self.mock_get_resource_connection.start() + + self.mock_get_config = patch( + "ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.facts.fc_interfaces.fc_interfaces.Fc_interfacesFacts.get_interfaces_data", + ) + self.get_config = self.mock_get_config.start() + self.get_config.return_value = dedent(sh_run) + + self.maxDiff = None + + def tearDown(self): + super(TestNxosFcInterfacesModule, self).tearDown() + self.get_resource_connection.stop() + self.get_config.stop() + + def test_analytics_no_to_all_3_types(self): + args = dict( + config=[ + { + "name": "fc1/1", + "analytics": "fc-scsi", + "mode": "E", + }, + { + "name": "fc1/2", + "analytics": "fc-nvme", + }, + { + "name": "fc1/3", + "analytics": "fc-all", + }, + { + "name": "fc18/12", + "analytics": "fc-scsi", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc1/1", + "switchport mode E", + "analytics type fc-scsi", + "interface fc1/2", + "analytics type fc-nvme", + "interface fc1/3", + "analytics type fc-all", + ], + ) + + def test_gathered(self): + # test gathered for config + set_module_args(dict(state="gathered"), ignore_provider_arg) + result = self.execute_module(changed=False) + self.assertEqual(result["gathered"], gath_val) + + def test_parsed(self): + # test parsed for config + set_module_args(dict(state="parsed", running_config=sh_run), ignore_provider_arg) + result = self.execute_module(changed=False) + self.assertEqual(result["parsed"], gath_val) + + def test_idempotency(self): + args = dict( + config=gath_val, + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=False) + self.assertEqual(result["commands"], []) + + def test_analytics_all_to_scsi(self): + args = dict( + config=[ + { + "name": "fc18/12", + "speed": "auto max 64000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + "description": "1", + "analytics": "fc-scsi", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=False) + self.assertEqual( + result["commands"], + [], + ) + + def test_analytics_all_to_scsi_replaced(self): + args = dict( + config=[ + { + "name": "fc18/12", + "speed": "auto max 64000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + "description": "1", + "analytics": "fc-scsi", + }, + ], + state="replaced", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc18/12", "no analytics type fc-all", "analytics type fc-scsi"], + ) + + def test_analytics_all_to_nvme(self): + args = dict( + config=[ + { + "name": "fc18/12", + "speed": "auto max 64000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + "description": "1", + "analytics": "fc-nvme", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=False) + self.assertEqual( + result["commands"], + [], + ) + + def test_analytics_all_to_nvme_replaced(self): + args = dict( + config=[ + { + "name": "fc18/12", + "speed": "auto max 64000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + "description": "1", + "analytics": "fc-nvme", + }, + ], + state="replaced", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc18/12", "no analytics type fc-all", "analytics type fc-nvme"], + ) + + def test_analytics_all_to_none_checkthis(self): + args = dict( + config=[ + { + "name": "fc18/12", + "speed": "auto max 64000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + "description": "1", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=False) + self.assertEqual(result["commands"], []) + + def test_analytics_all_to_none_desc_change(self): + args = dict( + config=[ + { + "name": "fc18/12", + "speed": "auto max 64000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + "description": "2", + "analytics": "fc-all", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual(result["commands"], ["interface fc18/12", "switchport description 2"]) + + def test_analytics_scsi_to_nvme(self): + args = dict( + config=[ + { + "name": "fc18/11", + "speed": "auto max 32000", + "mode": "auto", + "trunk_mode": "on", + "enabled": False, + "description": "a", + "analytics": "fc-nvme", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc18/11", "analytics type fc-nvme"], + ) + + def test_analytics_scsi_to_nvme_replaced(self): + args = dict( + config=[ + { + "name": "fc18/11", + "speed": "auto max 32000", + "mode": "auto", + "trunk_mode": "on", + "enabled": False, + "description": "a", + "analytics": "fc-nvme", + }, + ], + state="replaced", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc18/11", "no analytics type fc-all", "analytics type fc-nvme"], + ) + + def test_analytics_scsi_to_all(self): + args = dict( + config=[ + { + "name": "fc18/11", + "speed": "auto max 32000", + "mode": "auto", + "trunk_mode": "on", + "enabled": False, + "description": "a", + "analytics": "fc-all", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual(result["commands"], ["interface fc18/11", "analytics type fc-all"]) + + def test_analytics_scsi_to_all_replaced(self): + args = dict( + config=[ + { + "name": "fc18/11", + "speed": "auto max 32000", + "mode": "auto", + "trunk_mode": "on", + "enabled": False, + "description": "a", + "analytics": "fc-all", + }, + ], + state="replaced", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc18/11", "analytics type fc-all"], + ) + + def test_analytics_scsi_to_none_checkthis(self): + args = dict( + config=[ + { + "name": "fc18/11", + "speed": "auto max 32000", + "mode": "auto", + "trunk_mode": "on", + "enabled": False, + "description": "a", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=False) + self.assertEqual(result["commands"], []) + + def test_analytics_nvme_to_scsi(self): + args = dict( + config=[ + { + "name": "fc18/10", + "analytics": "fc-scsi", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc18/10", "analytics type fc-scsi"], + ) + + def test_analytics_nvme_to_scsi_replaced(self): + args = dict( + config=[ + { + "name": "fc18/10", + "analytics": "fc-scsi", + }, + ], + state="replaced", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc18/10", + "no switchport description", + "no switchport speed auto max 16000", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "no analytics type fc-all", + "analytics type fc-scsi", + ], + ) + + def test_analytics_nvme_to_all(self): + args = dict( + config=[ + { + "name": "fc18/10", + "analytics": "fc-all", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc18/10", "analytics type fc-all"], + ) + + def test_analytics_nvme_to_all_replaced(self): + args = dict( + config=[ + { + "name": "fc18/10", + "analytics": "fc-all", + }, + ], + state="replaced", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc18/10", + "no switchport description", + "no switchport speed auto max 16000", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "analytics type fc-all", + ], + ) + + def test_analytics_none_to_scsi(self): + args = dict( + config=[ + { + "name": "fc1/1", + "analytics": "fc-scsi", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual(result["commands"], ["interface fc1/1", "analytics type fc-scsi"]) + + def test_analytics_none_to_scsi_replaced(self): + args = dict( + config=[ + { + "name": "fc1/1", + "analytics": "fc-scsi", + }, + ], + state="replaced", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc1/1", + "no switchport description", + "no switchport speed auto", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "analytics type fc-scsi", + ], + ) + + def test_analytics_none_to_nvme(self): + args = dict( + config=[ + { + "name": "fc1/1", + "analytics": "fc-nvme", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual(result["commands"], ["interface fc1/1", "analytics type fc-nvme"]) + + def test_analytics_none_to_nvme_replaced(self): + args = dict( + config=[ + { + "name": "fc1/1", + "analytics": "fc-nvme", + }, + ], + state="replaced", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc1/1", + "no switchport description", + "no switchport speed auto", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "analytics type fc-nvme", + ], + ) + + def test_analytics_none_to_nvme_overridden(self): + args = dict( + config=[ + { + "name": "fc1/1", + "analytics": "fc-nvme", + }, + ], + state="overridden", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc1/2", + "no switchport speed 1000", + "no switchport mode E", + "switchport trunk mode on", + "shutdown", + "interface fc1/3", + "no switchport speed 2000", + "no switchport mode F", + "switchport trunk mode on", + "shutdown", + "interface fc18/1", + "no switchport speed 4000", + "no switchport mode Fx", + "switchport trunk mode on", + "shutdown", + "interface fc18/2", + "no switchport speed 8000", + "no switchport mode NP", + "switchport trunk mode on", + "shutdown", + "interface fc18/3", + "no switchport speed 10000", + "no switchport mode SD", + "switchport trunk mode on", + "shutdown", + "interface fc18/4", + "no switchport speed 16000", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "interface fc18/5", + "no switchport speed 32000", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "interface fc18/6", + "no switchport speed 64000", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "interface fc18/7", + "no switchport speed auto max 2000", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "interface fc18/8", + "no switchport speed auto max 4000", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "interface fc18/9", + "no switchport description", + "no switchport speed auto max 8000", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "interface fc18/10", + "no switchport description", + "no switchport speed auto max 16000", + "no switchport mode auto", + "switchport trunk mode on", + "no analytics type fc-all", + "interface fc18/11", + "no switchport description", + "no switchport speed auto max 32000", + "no switchport mode auto", + "switchport trunk mode on", + "no analytics type fc-all", + "interface fc18/12", + "no switchport description", + "no switchport speed auto max 64000", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "no analytics type fc-all", + "interface fc18/13", + "no switchport description", + "no switchport speed auto max 64000", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "no analytics type fc-all", + "interface fc1/1", + "no switchport description", + "no switchport speed auto", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "analytics type fc-nvme", + ], + ) + + def test_analytics_none_to_all(self): + args = dict( + config=[ + { + "name": "fc1/1", + "analytics": "fc-all", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual(result["commands"], ["interface fc1/1", "analytics type fc-all"]) + + def test_analytics_none_to_all_replaced(self): + args = dict( + config=[ + { + "name": "fc1/1", + "analytics": "fc-all", + }, + ], + state="replaced", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc1/1", + "no switchport description", + "no switchport speed auto", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "analytics type fc-all", + ], + ) + + def test_analytics_nvme_to_none_checkthis(self): + args = dict( + config=[ + { + "name": "fc18/10", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=False) + self.assertEqual(result["commands"], []) + + def test_description_change_from_one_to_another(self): + args = dict( + config=[ + { + "name": "fc18/9", + "description": "changed from sample description to new description", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc18/9", + "switchport description changed from sample description to new description", + ], + ) + + def test_description_change_from_none_to_new(self): + args = dict( + config=[ + { + "name": "fc18/8", + "description": "new sample description", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc18/8", + "switchport description new sample description", + ], + ) + + def test_shut_to_noshut(self): + args = dict( + config=[ + { + "name": "fc18/10", + "enabled": True, + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc18/10", + "no shutdown", + ], + ) + + def test_noshut_to_shut(self): + args = dict( + config=[ + { + "name": "fc18/6", + "enabled": False, + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc18/6", "shutdown"], + ) + + def test_trunkmode_auto_to_off(self): + args = dict( + config=[ + { + "name": "fc18/1", + "trunk_mode": "off", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc18/1", "switchport trunk mode off"], + ) + + def test_trunkmode_auto_to_on(self): + args = dict( + config=[ + { + "name": "fc18/1", + "trunk_mode": "on", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc18/1", "switchport trunk mode on"], + ) + + def test_trunkmode_on_to_off(self): + args = dict( + config=[ + { + "name": "fc1/1", + "trunk_mode": "off", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc1/1", "switchport trunk mode off"], + ) + + def test_trunkmode_on_to_auto(self): + args = dict( + config=[ + { + "name": "fc1/1", + "trunk_mode": "auto", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc1/1", "switchport trunk mode auto"], + ) + + def test_trunkmode_off_to_on(self): + args = dict( + config=[ + { + "name": "fc1/2", + "trunk_mode": "on", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc1/2", "switchport trunk mode on"], + ) + + def test_trunkmode_off_to_auto(self): + args = dict( + config=[ + { + "name": "fc1/2", + "trunk_mode": "auto", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + ["interface fc1/2", "switchport trunk mode auto"], + ) + + def test_speed_combinations(self): + port_speed = "auto" + port_name = "fc1/1" + for each_speed in allowed_speed_values: + args = dict( + config=[ + { + "name": port_name, + "speed": each_speed, + }, + ], + state="merged", + ) + if each_speed == port_speed: + changed = False + cmds = [] + else: + changed = True + cmds = [f"interface {port_name}", f"switchport speed {each_speed}"] + + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=changed) + self.assertEqual( + result["commands"], + cmds, + ) + + def test_port_mode_combinations(self): + port_mode = "auto" + port_name = "fc1/1" + for each_mode in allowed_port_modes: + args = dict( + config=[ + { + "name": port_name, + "mode": each_mode, + }, + ], + state="merged", + ) + if each_mode == port_mode: + changed = False + cmds = [] + else: + changed = True + cmds = [f"interface {port_name}", f"switchport mode {each_mode}"] + + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=changed) + self.assertEqual( + result["commands"], + cmds, + ) + + def test_deleted_1(self): + # before- trunk mode on + args = dict( + config=[ + { + "name": "fc1/2", + }, + ], + state="deleted", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc1/2", + "no switchport speed 1000", + "no switchport mode E", + "switchport trunk mode on", + "shutdown", + ], + ) + + def test_deleted_2(self): + # before- trunk mode off + args = dict( + config=[ + { + "name": "fc1/3", + }, + ], + state="deleted", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc1/3", + "no switchport speed 2000", + "no switchport mode F", + "switchport trunk mode on", + "shutdown", + ], + ) + + def test_deleted_3(self): + # before- port shut and with description and analytics config + args = dict( + config=[ + { + "name": "fc18/10", + }, + ], + state="deleted", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc18/10", + "no switchport description", + "no switchport speed auto max 16000", + "no switchport mode auto", + "switchport trunk mode on", + "no analytics type fc-all", + ], + ) + + def test_replaced_move_to_def(self): + args = dict( + config=[ + { + "name": "fc18/10", + }, + ], + state="replaced", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc18/10", + "no switchport description", + "no switchport speed auto max 16000", + "no switchport mode auto", + "switchport trunk mode on", + "shutdown", + "no analytics type fc-all", + ], + ) + + def test_deleted_combined(self): + args = dict( + config=[ + { + "name": "fc1/2", + }, + { + "name": "fc1/3", + }, + { + "name": "fc18/10", + }, + ], + state="deleted", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc1/2", + "no switchport speed 1000", + "no switchport mode E", + "switchport trunk mode on", + "shutdown", + "interface fc1/3", + "no switchport speed 2000", + "no switchport mode F", + "switchport trunk mode on", + "shutdown", + "interface fc18/10", + "no switchport description", + "no switchport speed auto max 16000", + "no switchport mode auto", + "switchport trunk mode on", + "no analytics type fc-all", + ], + ) + + def test_most_of_them_combined(self): + args = dict( + config=[ + { + "name": "fc18/13", + "speed": "auto max 64000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + "description": "1", + "analytics": "fc-all", + }, + { + "name": "fc18/12", + "speed": "auto max 64000", + "mode": "auto", + "trunk_mode": "on", + "enabled": True, + "description": "1", + "analytics": "fc-scsi", + }, + { + "name": "fc18/11", + "speed": "auto max 32000", + "mode": "auto", + "trunk_mode": "on", + "enabled": False, + "description": "a", + "analytics": "fc-all", + }, + { + "name": "fc18/10", + "analytics": "fc-scsi", + "enabled": True, + }, + { + "name": "fc18/9", + "description": "changed from sample description to new description", + }, + { + "name": "fc18/8", + "description": "new sample description", + }, + { + "name": "fc18/6", + "enabled": False, + }, + { + "name": "fc18/1", + "trunk_mode": "off", + }, + { + "name": "fc1/1", + "trunk_mode": "auto", + "analytics": "fc-all", + }, + { + "name": "fc1/2", + "trunk_mode": "on", + }, + ], + state="merged", + ) + set_module_args(args, ignore_provider_arg) + result = self.execute_module(changed=True) + self.assertEqual( + result["commands"], + [ + "interface fc1/1", + "switchport trunk mode auto", + "analytics type fc-all", + ] + + [ + "interface fc1/2", + "switchport trunk mode on", + ] + + [ + "interface fc18/1", + "switchport trunk mode off", + ] + + [ + "interface fc18/6", + "shutdown", + ] + + [ + "interface fc18/8", + "switchport description new sample description", + ] + + [ + "interface fc18/9", + "switchport description changed from sample description to new description", + ] + + [ + "interface fc18/10", + "no shutdown", + # "no analytics type fc-all", + "analytics type fc-scsi", + ] + + [ + "interface fc18/11", + "analytics type fc-all", + ], + # + [ + # "interface fc18/12", + # # "no analytics type fc-all", + # "analytics type fc-scsi", + # ], + ) diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_interfaces.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_interfaces.py index 7dac77c98..fb8dae234 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_interfaces.py +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_interfaces.py @@ -772,3 +772,49 @@ class TestNxosInterfacesModule(TestNxosModule): playbook["state"] = "merged" set_module_args(playbook, ignore_provider_arg) self.execute_module(changed=True, commands=merged) + + def test_mode_mtu(self): + # test mode change with MTU + sysdefs = dedent( + """\ + ! + ! Interfaces default to L3 !! + ! + no system default switchport + """, + ) + intf = dedent( + """\ + interface Ethernet1/28 + description Auto_Cable_Testing + mtu 9216 + """, + ) + self.get_resource_connection_facts.return_value = {self.SHOW_RUN_INTF: intf} + self.get_system_defaults.return_value = sysdefs + + playbook = dict( + config=[ + dict( + name="Ethernet1/28", + description="Ansible Port Turn Up1", + mode="layer2", + mtu="9216", + speed="1000", + duplex="full", + enabled=True, + ), + ], + ) + replaced = [ + "interface Ethernet1/28", + "description Ansible Port Turn Up1", + "switchport", + "mtu 9216", + "speed 1000", + "duplex full", + "no shutdown", + ] + playbook["state"] = "replaced" + set_module_args(playbook, ignore_provider_arg) + self.execute_module(changed=True, commands=replaced) diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_pim_interface.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_pim_interface.py index 886a77940..b746b8b46 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_pim_interface.py +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_pim_interface.py @@ -63,7 +63,7 @@ class TestNxosIPInterfaceModule(TestNxosModule): output = list() for command in commands: - if type(command) == dict: + if isinstance(command, dict): command = command["command"] filename = str(command).split(" | ", 1)[0].replace(" ", "_").replace("/", "_") output.append(load_fixture(module_name, filename)) diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_ping.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_ping.py index 73535f89e..bdaabe881 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_ping.py +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_ping.py @@ -32,7 +32,7 @@ ignore_provider_arg = True class TestNxosPingModule(TestNxosModule): - """Class used for Unit Tests agains ios_ping module""" + """Class used for Unit Tests against nxos_ping module""" module = nxos_ping diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_route_maps.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_route_maps.py index 53069a1e9..06d76fe38 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_route_maps.py +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_route_maps.py @@ -1415,3 +1415,81 @@ class TestNxosRouteMapsModule(TestNxosModule): ] result = self.execute_module(changed=True) self.assertEqual(set(result["commands"]), set(commands)) + + def test_nxos_route_maps_extcomm_rt(self): + # test for extcommunity.rt + self.get_config.return_value = dedent( + """\ + route-map test-1 permit 10 + set extcommunity rt additive + route-map test-2 permit 11 + set extcommunity rt 65000:516590 65000:516591 65000:516592 additive + """, + ) + set_module_args( + dict( + config=[ + dict( + route_map="test-1", + entries=[ + dict( + action="permit", + sequence=10, + set=dict( + extcommunity=dict( + rt=dict( + extcommunity_numbers=[ + "65000:516586", + ], + additive=True, + ), + ), + ), + ), + ], + ), + ], + state="merged", + ), + ignore_provider_arg, + ) + commands = [ + "route-map test-1 permit 10", + "set extcommunity rt 65000:516586 additive", + ] + result = self.execute_module(changed=True) + self.assertEqual(set(result["commands"]), set(commands)) + + set_module_args( + dict( + config=[ + dict( + route_map="test-2", + entries=[ + dict( + action="permit", + sequence=11, + set=dict( + extcommunity=dict( + rt=dict( + extcommunity_numbers=[ + "65000:516590", + ], + ), + ), + ), + ), + ], + ), + ], + state="replaced", + ), + ignore_provider_arg, + ) + commands = [ + "route-map test-2 permit 11", + "no set extcommunity rt 65000:516590 65000:516591 65000:516592 additive", + "set extcommunity rt 65000:516590", + ] + result = self.execute_module(changed=True) + self.assertEqual(set(result["commands"]), set(commands)) diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_snmp_server.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_snmp_server.py index 1b66d6455..1b7672775 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_snmp_server.py +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_snmp_server.py @@ -793,10 +793,8 @@ class TestNxosSnmpServerModule(TestNxosModule): ignore_provider_arg, ) commands = [ - "no snmp-server user user2 network-admin auth md5 0x5632724fb8ac3699296af262 priv" - " 0x5632724fb8ac3699296af262 localizedkey engineID 2:2:2:2:2", - "no snmp-server user user3 network-admin auth md5 0x5632724fb8ac3699296af262 priv" - " aes-128 0x5632724fb8ac3699296af262 localizedkey engineID 3:3:3:3:3", + "no snmp-server user user2", + "no snmp-server user user3", "snmp-server user user4 network-admin auth md5 0x5632724fb8ac3699296af262 priv aes-128" " 0x5632724fb8ac3699296af262 localizedkey engineID 3:3:3:3:3", ] diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_static_routes.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_static_routes.py index 69f5f74bd..76ed4a3a9 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_static_routes.py +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_static_routes.py @@ -8,11 +8,15 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from textwrap import dedent + from ansible_collections.cisco.nxos.plugins.modules import nxos_static_routes from ansible_collections.cisco.nxos.tests.unit.compat.mock import patch -from ansible_collections.cisco.nxos.tests.unit.modules.utils import set_module_args -from .nxos_module import TestNxosModule +from .nxos_module import TestNxosModule, set_module_args + + +ignore_provider_arg = True class TestNxosStaticRoutesModule(TestNxosModule): @@ -21,275 +25,685 @@ class TestNxosStaticRoutesModule(TestNxosModule): def setUp(self): super(TestNxosStaticRoutesModule, self).setUp() - self.mock_get_config = patch( - "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.network.Config.get_config", - ) - self.get_config = self.mock_get_config.start() - - self.mock_load_config = patch( - "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.network.Config.load_config", - ) - self.load_config = self.mock_load_config.start() - - self.mock_get_resource_connection_config = patch( - "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.cfg.base.get_resource_connection", - ) - self.get_resource_connection_config = self.mock_get_resource_connection_config.start() - - self.mock_get_resource_connection_facts = patch( - "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.facts.facts.get_resource_connection", - ) - self.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() - - self.mock_edit_config = patch( - "ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.config.static_routes.static_routes.Static_routes.edit_config", + self.mock_get_resource_connection = patch( + "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base.get_resource_connection", ) - self.edit_config = self.mock_edit_config.start() + self.get_resource_connection = self.mock_get_resource_connection.start() self.mock_execute_show_command = patch( - "ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.facts.static_routes.static_routes.Static_routesFacts.get_device_data", + "ansible_collections.cisco.nxos.plugins.module_utils.network.nxos.facts.static_routes.static_routes.Static_routesFacts.get_static_routes_data", ) self.execute_show_command = self.mock_execute_show_command.start() def tearDown(self): super(TestNxosStaticRoutesModule, self).tearDown() - self.mock_get_resource_connection_config.stop() - self.mock_get_resource_connection_facts.stop() - self.mock_edit_config.stop() - self.mock_get_config.stop() - self.mock_load_config.stop() + self.get_resource_connection.stop() self.mock_execute_show_command.stop() - def load_fixtures(self, commands=None, device=""): - def load_from_file(*args, **kwargs): - non_vrf_data = ["ip route 192.0.2.16/28 192.0.2.24 name initial_route"] - vrf_data = [ - "vrf context test\n ip route 192.0.2.96/28 192.0.2.122 vrf dest_vrf" - "\n ip route static bfd Vlan100 192.168.1.100\n ipv6 route 2001:db8:12::/32 2001:db8::1001 name ipv6_route 3\n", - ] + def test_nxos_static_routes_all_idempotent(self): + self.execute_show_command.return_value = dedent( + """\ + ip route 192.0.2.16/28 192.0.2.23 name replaced_route1 3 + ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2 + ip route 192.0.2.80/28 192.0.2.26 tag 12 + vrf context Test + ip route 192.0.2.48/28 192.0.2.13 + ip route 192.0.2.48/28 192.0.2.14 5 + vrf context management + ip name-server 192.168.255.1 + ip route 0.0.0.0/0 192.168.255.1 + vrf context newvrf + ip route 10.0.10.0/25 10.0.10.3 name test_name tag 22323 11 + ip route 10.0.11.0/25 10.0.11.10 tag 22 11 + ip route 10.0.11.0/25 10.0.11.12 vrf Test tag 22 11 + ip route 192.0.2.48/28 loopback22 192.0.2.13 + ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5 + ipv6 route 2200:10::/36 mgmt0 2048:ae12::1 tag 22 11 + ipv6 route 2200:10::/36 port-channel22 2048:ae12::1 + ipv6 route 2200:10::/36 Ethernet2/1 2048:ae12::1 name test_name2 22 + vrf context trial_vrf + ip route 192.0.2.64/28 192.0.2.22 tag 4 + ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 + """, + ) - output = non_vrf_data + vrf_data - return output + config = [ + { + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + { + "forward_router_address": "192.0.2.23", + "admin_distance": 3, + "route_name": "replaced_route1", + }, + { + "interface": "Ethernet1/2", + "forward_router_address": "192.0.2.45", + "dest_vrf": "destinationVRF", + "route_name": "replaced_route2", + }, + ], + "dest": "192.0.2.16/28", + }, + { + "next_hops": [{"forward_router_address": "192.0.2.26", "tag": 12}], + "dest": "192.0.2.80/28", + }, + ], + }, + ], + }, + { + "vrf": "Test", + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + {"forward_router_address": "192.0.2.13"}, + { + "forward_router_address": "192.0.2.14", + "admin_distance": 5, + }, + ], + "dest": "192.0.2.48/28", + }, + ], + }, + ], + }, + { + "vrf": "management", + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [{"forward_router_address": "192.168.255.1"}], + "dest": "0.0.0.0/0", + }, + ], + }, + ], + }, + { + "vrf": "newvrf", + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + { + "forward_router_address": "10.0.10.3", + "admin_distance": 11, + "tag": 22323, + "route_name": "test_name", + }, + ], + "dest": "10.0.10.0/25", + }, + { + "next_hops": [ + { + "forward_router_address": "10.0.11.10", + "admin_distance": 11, + "tag": 22, + }, + { + "forward_router_address": "10.0.11.12", + "admin_distance": 11, + "dest_vrf": "Test", + "tag": 22, + }, + ], + "dest": "10.0.11.0/25", + }, + { + "next_hops": [ + { + "interface": "loopback22", + "forward_router_address": "192.0.2.13", + }, + ], + "dest": "192.0.2.48/28", + }, + ], + }, + { + "afi": "ipv6", + "routes": [ + { + "next_hops": [ + { + "forward_router_address": "2048:ae12::1", + "admin_distance": 5, + "dest_vrf": "dest", + }, + { + "interface": "mgmt0", + "forward_router_address": "2048:ae12::1", + "admin_distance": 11, + "tag": 22, + }, + { + "interface": "port-channel22", + "forward_router_address": "2048:ae12::1", + }, + { + "interface": "Ethernet2/1", + "forward_router_address": "2048:ae12::1", + "admin_distance": 22, + "route_name": "test_name2", + }, + ], + "dest": "2200:10::/36", + }, + ], + }, + ], + }, + { + "vrf": "trial_vrf", + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + {"forward_router_address": "192.0.2.22", "tag": 4}, + { + "forward_router_address": "192.0.2.23", + "admin_distance": 1, + "route_name": "merged_route", + }, + ], + "dest": "192.0.2.64/28", + }, + ], + }, + ], + }, + ] - self.execute_show_command.side_effect = load_from_file + for state in ["merged", "replaced", "overridden"]: + set_module_args({"config": config, "state": state}) + result = self.execute_module(changed=False) + self.assertEqual(result["commands"], []) def test_nxos_static_routes_merged(self): + self.execute_show_command.return_value = dedent( + """\ + ip route 192.0.2.16/28 192.0.2.23 name replaced_route1 3 + """, + ) set_module_args( dict( config=[ - dict( - address_families=[ - dict( - afi="ipv4", - routes=[ - dict( - dest="192.0.2.32/28", - next_hops=[ - dict( - forward_router_address="192.0.2.40", - interface="Ethernet1/2", - admin_distance=5, - ), + { + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + { + "forward_router_address": "192.0.2.23", + "admin_distance": 3, + "route_name": "replaced_route1", + }, + { + "interface": "Ethernet1/2", + "forward_router_address": "192.0.2.45", + "dest_vrf": "destinationVRF", + "route_name": "replaced_route2", + }, ], - ), + "dest": "192.0.2.16/28", + }, + { + "next_hops": [ + {"forward_router_address": "192.0.2.26", "tag": 12}, + ], + "dest": "192.0.2.80/28", + }, ], - ), + }, ], - ), - ], - state="merged", - ), - ) - commands = [ - "configure terminal", - "ip route 192.0.2.32/28 Ethernet1/2 192.0.2.40 5", - ] - self.execute_module(changed=True, commands=commands) - - def test_nxos_static_routes_merged_idempotent(self): - set_module_args( - dict( - config=[ - dict( - address_families=[ - dict( - afi="ipv4", - routes=[ - dict( - dest="192.0.2.16/28", - next_hops=[ - dict( - forward_router_address="192.0.2.24", - route_name="initial_route", - ), + }, + { + "vrf": "Test", + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + {"forward_router_address": "192.0.2.13"}, + { + "forward_router_address": "192.0.2.14", + "admin_distance": 5, + }, ], - ), + "dest": "192.0.2.48/28", + }, ], - ), + }, ], - ), - ], - state="merged", - ), - ) - self.execute_module(changed=False, commands=[]) - - def test_nxos_static_routes_replaced(self): - set_module_args( - dict( - config=[ - dict( - address_families=[ - dict( - afi="ipv4", - routes=[ - dict( - dest="192.0.2.16/28", - next_hops=[ - dict( - forward_router_address="192.0.2.50", - tag=12, - route_name="replaced_route", - ), + }, + { + "vrf": "management", + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [{"forward_router_address": "192.168.255.1"}], + "dest": "0.0.0.0/0", + }, + ], + }, + ], + }, + { + "vrf": "newvrf", + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + { + "forward_router_address": "10.0.10.3", + "admin_distance": 11, + "tag": 22323, + "route_name": "test_name", + }, ], - ), + "dest": "10.0.10.0/25", + }, + { + "next_hops": [ + { + "forward_router_address": "10.0.11.10", + "admin_distance": 11, + "tag": 22, + }, + { + "forward_router_address": "10.0.11.12", + "admin_distance": 11, + "dest_vrf": "Test", + "tag": 22, + }, + ], + "dest": "10.0.11.0/25", + }, + { + "next_hops": [ + { + "interface": "loopback22", + "forward_router_address": "192.0.2.13", + }, + ], + "dest": "192.0.2.48/28", + }, ], - ), + }, + { + "afi": "ipv6", + "routes": [ + { + "next_hops": [ + { + "forward_router_address": "2048:ae12::1", + "admin_distance": 5, + "dest_vrf": "dest", + }, + { + "interface": "mgmt0", + "forward_router_address": "2048:ae12::1", + "admin_distance": 11, + "tag": 22, + }, + { + "interface": "port-channel22", + "forward_router_address": "2048:ae12::1", + }, + { + "interface": "Ethernet2/1", + "forward_router_address": "2048:ae12::1", + "admin_distance": 22, + "route_name": "test_name2", + }, + ], + "dest": "2200:10::/36", + }, + ], + }, ], - ), + }, + { + "vrf": "trial_vrf", + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + {"forward_router_address": "192.0.2.22", "tag": 4}, + { + "forward_router_address": "192.0.2.23", + "admin_distance": 1, + "route_name": "merged_route", + }, + ], + "dest": "192.0.2.64/28", + }, + ], + }, + ], + }, ], - state="replaced", + state="merged", ), ) commands = [ - "configure terminal", - "no ip route 192.0.2.16/28 192.0.2.24 name initial_route", - "ip route 192.0.2.16/28 192.0.2.50 name replaced_route tag 12", + "ip route 192.0.2.80/28 192.0.2.26 tag 12", + "ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2", + "vrf context newvrf", + "ip route 10.0.10.0/25 10.0.10.3 name test_name tag 22323 11", + "ip route 10.0.11.0/25 10.0.11.10 tag 22 11", + "ip route 10.0.11.0/25 10.0.11.12 vrf Test tag 22 11", + "ip route 192.0.2.48/28 loopback22 192.0.2.13", + "ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5", + "ipv6 route 2200:10::/36 mgmt0 2048:ae12::1 tag 22 11", + "ipv6 route 2200:10::/36 port-channel22 2048:ae12::1", + "ipv6 route 2200:10::/36 Ethernet2/1 2048:ae12::1 name test_name2 22", + "vrf context Test", + "ip route 192.0.2.48/28 192.0.2.13", + "ip route 192.0.2.48/28 192.0.2.14 5", + "vrf context trial_vrf", + "ip route 192.0.2.64/28 192.0.2.22 tag 4", + "ip route 192.0.2.64/28 192.0.2.23 name merged_route 1", + "vrf context management", + "ip route 0.0.0.0/0 192.168.255.1", ] self.execute_module(changed=True, commands=commands) - def test_nxos_static_routes_replaced_idempotent(self): + def test_nxos_static_routes_replaced(self): + self.execute_show_command.return_value = dedent( + """\ + ip route 192.0.2.16/28 192.0.2.23 name replaced_route1 3 + ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2 + ip route 192.0.2.80/28 192.0.2.26 tag 12 + vrf context Test + ip route 192.0.2.48/28 192.0.2.13 + ip route 192.0.2.48/28 192.0.2.14 5 + vrf context management + ip name-server 192.168.255.1 + ip route 0.0.0.0/0 192.168.255.1 + vrf context newvrf + ip route 10.0.10.0/25 10.0.10.3 name test_name tag 22323 11 + ip route 10.0.11.0/25 10.0.11.10 tag 22 11 + ip route 10.0.11.0/25 10.0.11.12 vrf Test tag 22 11 + ip route 192.0.2.48/28 loopback22 192.0.2.13 + ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5 + ipv6 route 2200:10::/36 mgmt0 2048:ae12::1 tag 22 11 + ipv6 route 2200:10::/36 port-channel22 2048:ae12::1 + ipv6 route 2200:10::/36 Ethernet2/1 2048:ae12::1 name test_name2 22 + vrf context trial_vrf + ip route 192.0.2.64/28 192.0.2.22 tag 4 + ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 + """, + ) set_module_args( dict( config=[ - dict( - address_families=[ - dict( - afi="ipv4", - routes=[ - dict( - dest="192.0.2.16/28", - next_hops=[ - dict( - forward_router_address="192.0.2.24", - route_name="initial_route", - ), + { + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + { + "forward_router_address": "192.0.2.23", + "admin_distance": 3, + "route_name": "replaced_route1", + }, + { + "interface": "Ethernet1/2", + "forward_router_address": "192.0.2.45", + "dest_vrf": "destinationVRF", + "route_name": "replaced_route2", + }, ], - ), + "dest": "192.0.2.16/28", + }, + { + "next_hops": [ + {"forward_router_address": "192.0.2.27", "tag": 13}, + ], + "dest": "192.0.2.80/28", + }, ], - ), + }, ], - ), - ], - state="replaced", - ), - ) - self.execute_module(changed=False, commands=[]) - - def test_nxos_static_routes_overridden(self): - set_module_args( - dict( - config=[ - dict( - address_families=[ - dict( - afi="ipv4", - routes=[ - dict( - dest="192.0.2.112/28", - next_hops=[ - dict( - forward_router_address="192.0.2.68", - route_name="overridden_route", - dest_vrf="end_vrf", - ), + }, + { + "vrf": "trial_vrf", + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + { + "forward_router_address": "192.0.2.23", + "admin_distance": 1, + "route_name": "merged_route", + }, ], - ), + "dest": "192.0.2.0/28", + }, ], - ), + }, ], - ), + }, ], - state="overridden", + state="replaced", ), ) commands = [ - "configure terminal", - "no ip route 192.0.2.16/28 192.0.2.24 name initial_route", - "ip route 192.0.2.112/28 192.0.2.68 vrf end_vrf name overridden_route", - "vrf context test", - "no ipv6 route 2001:db8:12::/32 2001:db8::1001 name ipv6_route 3", - "no ip route 192.0.2.96/28 192.0.2.122 vrf dest_vrf", + "ip route 192.0.2.80/28 192.0.2.27 tag 13", + "no ip route 192.0.2.80/28 192.0.2.26 tag 12", + "vrf context trial_vrf", + "ip route 192.0.2.0/28 192.0.2.23 name merged_route 1", + "no ip route 192.0.2.64/28 192.0.2.22 tag 4", + "no ip route 192.0.2.64/28 192.0.2.23 name merged_route 1", ] - self.execute_module(changed=True, commands=commands) + result = self.execute_module(changed=True) + self.assertEqual(result["commands"], commands) - def test_nxos_static_routes_overridden_idempotent(self): + def test_nxos_static_routes_overridden(self): + self.execute_show_command.return_value = dedent( + """\ + ip route 192.0.2.17/28 192.0.2.23 name replaced_route1 3 + ip route 192.0.2.17/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2 + ip route 192.0.2.79/28 192.0.2.26 tag 12 + vrf context Test + ip route 192.0.2.48/28 192.0.2.13 + ip route 192.0.2.48/28 192.0.2.14 5 + vrf context management + ip name-server 192.168.255.1 + ip route 0.0.0.0/0 192.168.255.1 + vrf context newvrf + ip route 10.0.10.0/25 10.0.10.3 name test_name tag 22323 11 + ip route 10.0.11.0/25 10.0.11.10 tag 22 11 + ip route 10.0.11.0/25 10.0.11.12 vrf Test tag 22 11 + ip route 192.0.2.48/28 loopback22 192.0.2.13 + ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5 + ipv6 route 2200:10::/36 mgmt0 2048:ae12::1 tag 22 11 + ipv6 route 2200:10::/36 port-channel22 2048:ae12::1 + ipv6 route 2200:10::/36 Ethernet2/1 2048:ae12::1 name test_name2 22 + vrf context trial_vrf + ip route 192.0.2.64/28 192.0.2.22 tag 4 + ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 + """, + ) set_module_args( dict( config=[ - dict( - vrf="test", - address_families=[ - dict( - afi="ipv4", - routes=[ - dict( - dest="192.0.2.96/28", - next_hops=[ - dict( - forward_router_address="192.0.2.122", - dest_vrf="dest_vrf", - ), + { + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + { + "forward_router_address": "192.0.2.23", + "admin_distance": 3, + "route_name": "replaced_route1", + }, + { + "interface": "Ethernet1/2", + "forward_router_address": "192.0.2.45", + "dest_vrf": "destinationVRF", + "route_name": "replaced_route2", + }, ], - ), + "dest": "192.0.2.16/28", + }, + { + "next_hops": [ + {"forward_router_address": "192.0.2.27", "tag": 13}, + ], + "dest": "192.0.2.80/28", + }, ], - ), + }, ], - ), - dict( - address_families=[ - dict( - afi="ipv4", - routes=[ - dict( - dest="192.0.2.16/28", - next_hops=[ - dict( - forward_router_address="192.0.2.24", - route_name="initial_route", - ), + }, + { + "vrf": "trial_vrf", + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + { + "forward_router_address": "192.0.2.23", + "admin_distance": 1, + "route_name": "merged_route", + }, ], - ), + "dest": "192.0.2.0/28", + }, ], - ), + }, ], - ), + }, ], state="overridden", ), ) - self.execute_module(changed=False, commands=[]) + commands = [ + "ip route 192.0.2.16/28 192.0.2.23 name replaced_route1 3", + "ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2", + "ip route 192.0.2.80/28 192.0.2.27 tag 13", + "no ip route 192.0.2.17/28 192.0.2.23 name replaced_route1 3", + "no ip route 192.0.2.17/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2", + "no ip route 192.0.2.79/28 192.0.2.26 tag 12", + "vrf context trial_vrf", + "ip route 192.0.2.0/28 192.0.2.23 name merged_route 1", + "no ip route 192.0.2.64/28 192.0.2.22 tag 4", + "no ip route 192.0.2.64/28 192.0.2.23 name merged_route 1", + "vrf context Test", + "no ip route 192.0.2.48/28 192.0.2.13", + "no ip route 192.0.2.48/28 192.0.2.14 5", + "vrf context management", + "no ip route 0.0.0.0/0 192.168.255.1", + "vrf context newvrf", + "no ip route 10.0.10.0/25 10.0.10.3 name test_name tag 22323 11", + "no ip route 10.0.11.0/25 10.0.11.10 tag 22 11", + "no ip route 10.0.11.0/25 10.0.11.12 vrf Test tag 22 11", + "no ip route 192.0.2.48/28 loopback22 192.0.2.13", + "no ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5", + "no ipv6 route 2200:10::/36 mgmt0 2048:ae12::1 tag 22 11", + "no ipv6 route 2200:10::/36 port-channel22 2048:ae12::1", + "no ipv6 route 2200:10::/36 Ethernet2/1 2048:ae12::1 name test_name2 22", + ] + result = self.execute_module(changed=True) + self.assertEqual(result["commands"], commands) def test_nxos_static_routes_deletedvrf(self): - set_module_args(dict(config=[dict(vrf="test")], state="deleted")) + self.execute_show_command.return_value = dedent( + """\ + ip route 192.0.2.17/28 192.0.2.23 name replaced_route1 3 + ip route 192.0.2.17/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2 + ip route 192.0.2.79/28 192.0.2.26 tag 12 + vrf context Test + ip route 192.0.2.48/28 192.0.2.13 + ip route 192.0.2.48/28 192.0.2.14 5 + vrf context management + ip name-server 192.168.255.1 + ip route 0.0.0.0/0 192.168.255.1 + vrf context newvrf + ip route 10.0.10.0/25 10.0.10.3 name test_name tag 22323 11 + ip route 10.0.11.0/25 10.0.11.10 tag 22 11 + ip route 10.0.11.0/25 10.0.11.12 vrf Test tag 22 11 + ip route 192.0.2.48/28 loopback22 192.0.2.13 + ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5 + ipv6 route 2200:10::/36 mgmt0 2048:ae12::1 tag 22 11 + ipv6 route 2200:10::/36 port-channel22 2048:ae12::1 + ipv6 route 2200:10::/36 Ethernet2/1 2048:ae12::1 name test_name2 22 + vrf context trial_vrf + ip route 192.0.2.64/28 192.0.2.22 tag 4 + ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 + """, + ) + set_module_args(dict(config=[dict(vrf="Test")], state="deleted")) commands = [ - "vrf context test", - "no ip route 192.0.2.96/28 192.0.2.122 vrf dest_vrf", - "no ipv6 route 2001:db8:12::/32 2001:db8::1001 name ipv6_route 3", + "vrf context Test", + "no ip route 192.0.2.48/28 192.0.2.13", + "no ip route 192.0.2.48/28 192.0.2.14 5", ] - self.execute_module(changed=True, commands=commands) + result = self.execute_module(changed=True) + self.assertEqual(result["commands"], commands) def test_nxos_static_routes_deletedafi(self): + self.execute_show_command.return_value = dedent( + """\ + ip route 192.0.2.17/28 192.0.2.23 name replaced_route1 3 + ip route 192.0.2.17/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2 + ip route 192.0.2.79/28 192.0.2.26 tag 12 + vrf context Test + ip route 192.0.2.48/28 192.0.2.13 + ip route 192.0.2.48/28 192.0.2.14 5 + vrf context management + ip name-server 192.168.255.1 + ip route 0.0.0.0/0 192.168.255.1 + vrf context newvrf + ip route 10.0.10.0/25 10.0.10.3 name test_name tag 22323 11 + ip route 10.0.11.0/25 10.0.11.10 tag 22 11 + ip route 10.0.11.0/25 10.0.11.12 vrf Test tag 22 11 + ip route 192.0.2.48/28 loopback22 192.0.2.13 + ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5 + ipv6 route 2200:10::/36 mgmt0 2048:ae12::1 tag 22 11 + ipv6 route 2200:10::/36 port-channel22 2048:ae12::1 + ipv6 route 2200:10::/36 Ethernet2/1 2048:ae12::1 name test_name2 22 + vrf context trial_vrf + ip route 192.0.2.64/28 192.0.2.22 tag 4 + ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 + """, + ) set_module_args( dict( config=[dict(address_families=[dict(afi="ipv4")])], @@ -297,62 +711,152 @@ class TestNxosStaticRoutesModule(TestNxosModule): ), ) commands = [ - "configure terminal", - "no ip route 192.0.2.16/28 192.0.2.24 name initial_route", + "no ip route 192.0.2.17/28 192.0.2.23 name replaced_route1 3", + "no ip route 192.0.2.17/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2", + "no ip route 192.0.2.79/28 192.0.2.26 tag 12", ] - self.execute_module(changed=True, commands=commands) + result = self.execute_module(changed=True) + self.assertEqual(result["commands"], commands) def test_nxos_static_routes_deleteddest(self): + self.execute_show_command.return_value = dedent( + """\ + ip route 192.0.2.17/28 192.0.2.23 name replaced_route1 3 + ip route 192.0.2.17/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2 + ip route 192.0.2.79/28 192.0.2.26 tag 12 + vrf context Test + ip route 192.0.2.48/28 192.0.2.13 + ip route 192.0.2.48/28 192.0.2.14 5 + vrf context management + ip name-server 192.168.255.1 + ip route 0.0.0.0/0 192.168.255.1 + vrf context newvrf + ip route 10.0.10.0/25 10.0.10.3 name test_name tag 22323 11 + ip route 10.0.11.0/25 10.0.11.10 tag 22 11 + ip route 10.0.11.0/25 10.0.11.12 vrf Test tag 22 11 + ip route 192.0.2.48/28 loopback22 192.0.2.13 + ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5 + ipv6 route 2200:10::/36 mgmt0 2048:ae12::1 tag 22 11 + ipv6 route 2200:10::/36 port-channel22 2048:ae12::1 + ipv6 route 2200:10::/36 Ethernet2/1 2048:ae12::1 name test_name2 22 + vrf context trial_vrf + ip route 192.0.2.64/28 192.0.2.22 tag 4 + ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 + """, + ) set_module_args( dict( config=[ dict( - vrf="test", - address_families=[dict(afi="ipv4", routes=[dict(dest="192.0.2.96/28")])], + vrf="Test", + address_families=[dict(afi="ipv4", routes=[dict(dest="192.0.2.48/28")])], ), ], state="deleted", ), ) commands = [ - "vrf context test", - "no ip route 192.0.2.96/28 192.0.2.122 vrf dest_vrf", + "vrf context Test", + "no ip route 192.0.2.48/28 192.0.2.13", + "no ip route 192.0.2.48/28 192.0.2.14 5", ] - self.execute_module(changed=True, commands=commands) + result = self.execute_module(changed=True) + self.assertEqual(result["commands"], commands) def test_nxos_static_routes_deletedroute(self): + self.execute_show_command.return_value = dedent( + """\ + ip route 192.0.2.17/28 192.0.2.23 name replaced_route1 3 + ip route 192.0.2.17/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2 + ip route 192.0.2.79/28 192.0.2.26 tag 12 + vrf context Test + ip route 192.0.2.48/28 192.0.2.13 + ip route 192.0.2.48/28 192.0.2.14 5 + vrf context management + ip name-server 192.168.255.1 + ip route 0.0.0.0/0 192.168.255.1 + vrf context newvrf + ip route 10.0.10.0/25 10.0.10.3 name test_name tag 22323 11 + ip route 10.0.11.0/25 10.0.11.10 tag 22 11 + ip route 10.0.11.0/25 10.0.11.12 vrf Test tag 22 11 + ip route 192.0.2.48/28 loopback22 192.0.2.13 + ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5 + ipv6 route 2200:10::/36 mgmt0 2048:ae12::1 tag 22 11 + ipv6 route 2200:10::/36 port-channel22 2048:ae12::1 + ipv6 route 2200:10::/36 Ethernet2/1 2048:ae12::1 name test_name2 22 + vrf context trial_vrf + ip route 192.0.2.64/28 192.0.2.22 tag 4 + ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 + """, + ) set_module_args( dict( config=[ - dict( - vrf="test", - address_families=[ - dict( - afi="ipv6", - routes=[ - dict( - dest="2001:db8:12::/32", - next_hops=[ - dict( - forward_router_address="2001:db8::1001", - route_name="ipv6_route", - admin_distance=3, - ), + { + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + { + "forward_router_address": "192.0.2.23", + "admin_distance": 3, + "route_name": "replaced_route1", + }, + { + "interface": "Ethernet1/2", + "forward_router_address": "192.0.2.45", + "dest_vrf": "destinationVRF", + "route_name": "replaced_route2", + }, ], - ), + "dest": "192.0.2.16/28", + }, + { + "next_hops": [ + {"forward_router_address": "192.0.2.26", "tag": 12}, + ], + "dest": "192.0.2.80/28", + }, ], - ), + }, ], - ), + }, + { + "vrf": "Test", + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + {"forward_router_address": "192.0.2.13"}, + { + "forward_router_address": "192.0.2.14", + "admin_distance": 5, + }, + ], + "dest": "192.0.2.48/28", + }, + ], + }, + ], + }, ], state="deleted", ), ) commands = [ - "vrf context test", - "no ipv6 route 2001:db8:12::/32 2001:db8::1001 name ipv6_route 3", + "no ip route 192.0.2.17/28 192.0.2.23 name replaced_route1 3", + "no ip route 192.0.2.17/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2", + "no ip route 192.0.2.79/28 192.0.2.26 tag 12", + "vrf context Test", + "no ip route 192.0.2.48/28 192.0.2.13", + "no ip route 192.0.2.48/28 192.0.2.14 5", ] - self.execute_module(changed=True, commands=commands) + result = self.execute_module(changed=True) + self.assertEqual(result["commands"], commands) def test_nxos_static_routes_rendered(self): set_module_args( @@ -369,7 +873,7 @@ class TestNxosStaticRoutesModule(TestNxosModule): next_hops=[ dict( forward_router_address="2048:ae12::/64", - interface="Eth1/4", + interface="Ethernet1/4", admin_distance=5, ), ], @@ -387,128 +891,386 @@ class TestNxosStaticRoutesModule(TestNxosModule): "ipv6 route 1200:10::/64 Ethernet1/4 2048:ae12::/64 5", ] result = self.execute_module(changed=False) - self.assertEqual(sorted(result["rendered"]), sorted(commands), result["rendered"]) + self.assertEqual(result["rendered"], commands) def test_nxos_static_routes_parsed(self): set_module_args( dict( - running_config="""ip route 192.0.2.16/28 192.0.2.24 name initial_route - vrf context test - ip route 192.0.2.96/28 192.0.2.122 vrf dest_vrf - ipv6 route 2001:db8:12::/32 2001:db8::1001 name ipv6_route 3""", + running_config=dedent( + """\ + ip route 192.0.2.16/28 192.0.2.23 name replaced_route1 3 + ip route 192.0.2.16/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2 + ip route 192.0.2.80/28 192.0.2.26 tag 12 + vrf context Test + ip route 192.0.2.48/28 192.0.2.13 + ip route 192.0.2.48/28 192.0.2.14 5 + vrf context management + ip name-server 192.168.255.1 + ip route 0.0.0.0/0 192.168.255.1 + vrf context newvrf + ip route 10.0.10.0/25 10.0.10.3 name test_name tag 22323 11 + ip route 10.0.11.0/25 10.0.11.10 tag 22 11 + ip route 10.0.11.0/25 10.0.11.12 vrf Test tag 22 11 + ip route 192.0.2.48/28 loopback22 192.0.2.13 + ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5 + ipv6 route 2200:10::/36 mgmt0 2048:ae12::1 tag 22 11 + ipv6 route 2200:10::/36 port-channel22 2048:ae12::1 + ipv6 route 2200:10::/36 Ethernet2/1 2048:ae12::1 name test_name2 22 + vrf context trial_vrf + ip route 192.0.2.64/28 192.0.2.22 tag 4 + ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 + """, + ), state="parsed", ), ) result = self.execute_module(changed=False) compare_list = [ { - "vrf": "test", "address_families": [ { + "afi": "ipv4", "routes": [ { - "dest": "192.0.2.96/28", "next_hops": [ { - "dest_vrf": "dest_vrf", - "forward_router_address": "192.0.2.122", + "forward_router_address": "192.0.2.23", + "admin_distance": 3, + "route_name": "replaced_route1", + }, + { + "interface": "Ethernet1/2", + "forward_router_address": "192.0.2.45", + "dest_vrf": "destinationVRF", + "route_name": "replaced_route2", }, ], + "dest": "192.0.2.16/28", + }, + { + "next_hops": [{"forward_router_address": "192.0.2.26", "tag": 12}], + "dest": "192.0.2.80/28", + }, + ], + }, + ], + }, + { + "vrf": "Test", + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + {"forward_router_address": "192.0.2.13"}, + {"forward_router_address": "192.0.2.14", "admin_distance": 5}, + ], + "dest": "192.0.2.48/28", }, ], + }, + ], + }, + { + "vrf": "management", + "address_families": [ + { "afi": "ipv4", + "routes": [ + { + "next_hops": [{"forward_router_address": "192.168.255.1"}], + "dest": "0.0.0.0/0", + }, + ], }, + ], + }, + { + "vrf": "newvrf", + "address_families": [ { + "afi": "ipv4", "routes": [ { - "dest": "2001:db8:12::/32", "next_hops": [ { - "route_name": "ipv6_route", - "forward_router_address": "2001:db8::1001", - "admin_distance": 3, + "forward_router_address": "10.0.10.3", + "admin_distance": 11, + "tag": 22323, + "route_name": "test_name", + }, + ], + "dest": "10.0.10.0/25", + }, + { + "next_hops": [ + { + "forward_router_address": "10.0.11.10", + "admin_distance": 11, + "tag": 22, + }, + { + "forward_router_address": "10.0.11.12", + "admin_distance": 11, + "dest_vrf": "Test", + "tag": 22, + }, + ], + "dest": "10.0.11.0/25", + }, + { + "next_hops": [ + { + "interface": "loopback22", + "forward_router_address": "192.0.2.13", }, ], + "dest": "192.0.2.48/28", }, ], + }, + { "afi": "ipv6", + "routes": [ + { + "next_hops": [ + { + "forward_router_address": "2048:ae12::1", + "admin_distance": 5, + "dest_vrf": "dest", + }, + { + "interface": "mgmt0", + "forward_router_address": "2048:ae12::1", + "admin_distance": 11, + "tag": 22, + }, + { + "interface": "port-channel22", + "forward_router_address": "2048:ae12::1", + }, + { + "interface": "Ethernet2/1", + "forward_router_address": "2048:ae12::1", + "admin_distance": 22, + "route_name": "test_name2", + }, + ], + "dest": "2200:10::/36", + }, + ], }, ], }, { + "vrf": "trial_vrf", "address_families": [ { + "afi": "ipv4", "routes": [ { - "dest": "192.0.2.16/28", "next_hops": [ + {"forward_router_address": "192.0.2.22", "tag": 4}, { - "route_name": "initial_route", - "forward_router_address": "192.0.2.24", + "forward_router_address": "192.0.2.23", + "admin_distance": 1, + "route_name": "merged_route", }, ], + "dest": "192.0.2.64/28", }, ], - "afi": "ipv4", }, ], }, ] - self.assertEqual(result["parsed"], compare_list, result["parsed"]) + self.assertEqual(result["parsed"], compare_list) def test_nxos_static_routes_gathered(self): + self.execute_show_command.return_value = dedent( + """\ + ip route 192.0.2.17/28 192.0.2.23 name replaced_route1 3 + ip route 192.0.2.17/28 Ethernet1/2 192.0.2.45 vrf destinationVRF name replaced_route2 + ip route 192.0.2.79/28 192.0.2.26 tag 12 + vrf context Test + ip route 192.0.2.48/28 192.0.2.13 + ip route 192.0.2.48/28 192.0.2.14 5 + vrf context management + ip name-server 192.168.255.1 + ip route 0.0.0.0/0 192.168.255.1 + vrf context newvrf + ip route 10.0.10.0/25 10.0.10.3 name test_name tag 22323 11 + ip route 10.0.11.0/25 10.0.11.10 tag 22 11 + ip route 10.0.11.0/25 10.0.11.12 vrf Test tag 22 11 + ip route 192.0.2.48/28 loopback22 192.0.2.13 + ipv6 route 2200:10::/36 2048:ae12::1 vrf dest 5 + ipv6 route 2200:10::/36 mgmt0 2048:ae12::1 tag 22 11 + ipv6 route 2200:10::/36 port-channel22 2048:ae12::1 + ipv6 route 2200:10::/36 Ethernet2/1 2048:ae12::1 name test_name2 22 + vrf context trial_vrf + ip route 192.0.2.64/28 192.0.2.22 tag 4 + ip route 192.0.2.64/28 192.0.2.23 name merged_route 1 + """, + ) set_module_args(dict(config=[], state="gathered")) result = self.execute_module(changed=False) compare_list = [ { - "vrf": "test", "address_families": [ { + "afi": "ipv4", "routes": [ { - "dest": "192.0.2.96/28", "next_hops": [ { - "dest_vrf": "dest_vrf", - "forward_router_address": "192.0.2.122", + "forward_router_address": "192.0.2.23", + "admin_distance": 3, + "route_name": "replaced_route1", }, + { + "interface": "Ethernet1/2", + "forward_router_address": "192.0.2.45", + "dest_vrf": "destinationVRF", + "route_name": "replaced_route2", + }, + ], + "dest": "192.0.2.17/28", + }, + { + "next_hops": [{"forward_router_address": "192.0.2.26", "tag": 12}], + "dest": "192.0.2.79/28", + }, + ], + }, + ], + }, + { + "vrf": "Test", + "address_families": [ + { + "afi": "ipv4", + "routes": [ + { + "next_hops": [ + {"forward_router_address": "192.0.2.13"}, + {"forward_router_address": "192.0.2.14", "admin_distance": 5}, ], + "dest": "192.0.2.48/28", }, ], + }, + ], + }, + { + "vrf": "management", + "address_families": [ + { "afi": "ipv4", + "routes": [ + { + "next_hops": [{"forward_router_address": "192.168.255.1"}], + "dest": "0.0.0.0/0", + }, + ], }, + ], + }, + { + "vrf": "newvrf", + "address_families": [ { + "afi": "ipv4", "routes": [ { - "dest": "2001:db8:12::/32", "next_hops": [ { - "route_name": "ipv6_route", - "forward_router_address": "2001:db8::1001", - "admin_distance": 3, + "forward_router_address": "10.0.10.3", + "admin_distance": 11, + "tag": 22323, + "route_name": "test_name", + }, + ], + "dest": "10.0.10.0/25", + }, + { + "next_hops": [ + { + "forward_router_address": "10.0.11.10", + "admin_distance": 11, + "tag": 22, + }, + { + "forward_router_address": "10.0.11.12", + "admin_distance": 11, + "dest_vrf": "Test", + "tag": 22, + }, + ], + "dest": "10.0.11.0/25", + }, + { + "next_hops": [ + { + "interface": "loopback22", + "forward_router_address": "192.0.2.13", }, ], + "dest": "192.0.2.48/28", }, ], + }, + { "afi": "ipv6", + "routes": [ + { + "next_hops": [ + { + "forward_router_address": "2048:ae12::1", + "admin_distance": 5, + "dest_vrf": "dest", + }, + { + "interface": "mgmt0", + "forward_router_address": "2048:ae12::1", + "admin_distance": 11, + "tag": 22, + }, + { + "interface": "port-channel22", + "forward_router_address": "2048:ae12::1", + }, + { + "interface": "Ethernet2/1", + "forward_router_address": "2048:ae12::1", + "admin_distance": 22, + "route_name": "test_name2", + }, + ], + "dest": "2200:10::/36", + }, + ], }, ], }, { + "vrf": "trial_vrf", "address_families": [ { + "afi": "ipv4", "routes": [ { - "dest": "192.0.2.16/28", "next_hops": [ + {"forward_router_address": "192.0.2.22", "tag": 4}, { - "route_name": "initial_route", - "forward_router_address": "192.0.2.24", + "forward_router_address": "192.0.2.23", + "admin_distance": 1, + "route_name": "merged_route", }, ], + "dest": "192.0.2.64/28", }, ], - "afi": "ipv4", }, ], }, diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/storage/test_nxos_vsan.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_vsan.py index db79f8668..af9ee7ad3 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/storage/test_nxos_vsan.py +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_vsan.py @@ -9,11 +9,11 @@ __metaclass__ = type import pytest -from ansible_collections.cisco.nxos.plugins.modules.storage import nxos_vsan +from ansible_collections.cisco.nxos.plugins.modules import nxos_vsan from ansible_collections.cisco.nxos.tests.unit.compat.mock import patch from ansible_collections.cisco.nxos.tests.unit.modules.utils import AnsibleFailJson -from ..nxos_module import TestNxosModule, load_fixture, set_module_args +from .nxos_module import TestNxosModule, load_fixture, set_module_args class TestNxosVsanModule(TestNxosModule): @@ -21,7 +21,7 @@ class TestNxosVsanModule(TestNxosModule): def setUp(self): super(TestNxosVsanModule, self).setUp() - module_path = "ansible_collections.cisco.nxos.plugins.modules.storage.nxos_vsan." + module_path = "ansible_collections.cisco.nxos.plugins.modules.nxos_vsan." self.mock_run_commands = patch(module_path + "run_commands") self.run_commands = self.mock_run_commands.start() diff --git a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/storage/test_nxos_zone_zoneset.py b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_zone_zoneset.py index b49dbf2fd..6afe78a5b 100644 --- a/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/storage/test_nxos_zone_zoneset.py +++ b/ansible_collections/cisco/nxos/tests/unit/modules/network/nxos/test_nxos_zone_zoneset.py @@ -8,10 +8,10 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type -from ansible_collections.cisco.nxos.plugins.modules.storage import nxos_zone_zoneset +from ansible_collections.cisco.nxos.plugins.modules import nxos_zone_zoneset from ansible_collections.cisco.nxos.tests.unit.compat.mock import patch -from ..nxos_module import TestNxosModule, load_fixture, set_module_args +from .nxos_module import TestNxosModule, load_fixture, set_module_args class TestNxosZoneZonesetModule(TestNxosModule): @@ -19,7 +19,7 @@ class TestNxosZoneZonesetModule(TestNxosModule): def setUp(self): super(TestNxosZoneZonesetModule, self).setUp() - module_path = "ansible_collections.cisco.nxos.plugins.modules.storage.nxos_zone_zoneset." + module_path = "ansible_collections.cisco.nxos.plugins.modules.nxos_zone_zoneset." self.mock_run_commands = patch(module_path + "run_commands") self.run_commands = self.mock_run_commands.start() @@ -34,7 +34,9 @@ class TestNxosZoneZonesetModule(TestNxosModule): ) self.execute_show_cmd_zoneset = self.mock_execute_show_cmd_zoneset.start() - self.mock_execute_show_cmd_zone = patch(module_path + "ShowZone.execute_show_zone_vsan_cmd") + self.mock_execute_show_cmd_zone = patch( + module_path + "ShowZone.execute_show_zone_vsan_cmd", + ) self.execute_show_cmd_zone = self.mock_execute_show_cmd_zone.start() self.mock_execute_show_cmd_zone_status = patch( @@ -213,13 +215,20 @@ class TestNxosZoneZonesetModule(TestNxosModule): # Test zone add/removal def test_zone_add_rem(self): - a = dict(zone_zoneset_details=[dict(vsan=923, zone=[dict(name="zoneB", remove=True)])]) + a = dict( + zone_zoneset_details=[ + dict(vsan=923, zone=[dict(name="zoneB", remove=True)]), + ], + ) set_module_args(a, True) self.execute_show_cmd_zone_status.return_value = load_fixture( "nxos_zone_zoneset", "shzonestatus_1.cfg", ) - self.execute_show_cmd_zone.return_value = load_fixture("nxos_zone_zoneset", "shzone_0.cfg") + self.execute_show_cmd_zone.return_value = load_fixture( + "nxos_zone_zoneset", + "shzone_0.cfg", + ) result = self.execute_module(changed=True) self.assertEqual( result["commands"], @@ -232,13 +241,20 @@ class TestNxosZoneZonesetModule(TestNxosModule): ) def test_zone_add_rem_1(self): - a = dict(zone_zoneset_details=[dict(vsan=923, zone=[dict(name="zoneC", remove=True)])]) + a = dict( + zone_zoneset_details=[ + dict(vsan=923, zone=[dict(name="zoneC", remove=True)]), + ], + ) set_module_args(a, True) self.execute_show_cmd_zone_status.return_value = load_fixture( "nxos_zone_zoneset", "shzonestatus_1.cfg", ) - self.execute_show_cmd_zone.return_value = load_fixture("nxos_zone_zoneset", "shzone_0.cfg") + self.execute_show_cmd_zone.return_value = load_fixture( + "nxos_zone_zoneset", + "shzone_0.cfg", + ) result = self.execute_module(changed=False, failed=False) m = "zone 'zoneC' is not present in vsan 923" assert m in str(result["messages"]) @@ -251,7 +267,10 @@ class TestNxosZoneZonesetModule(TestNxosModule): "nxos_zone_zoneset", "shzonestatus_1.cfg", ) - self.execute_show_cmd_zone.return_value = load_fixture("nxos_zone_zoneset", "shzone_0.cfg") + self.execute_show_cmd_zone.return_value = load_fixture( + "nxos_zone_zoneset", + "shzone_0.cfg", + ) result = self.execute_module(changed=True) self.assertEqual( result["commands"], @@ -270,7 +289,10 @@ class TestNxosZoneZonesetModule(TestNxosModule): "nxos_zone_zoneset", "shzonestatus_1.cfg", ) - self.execute_show_cmd_zone.return_value = load_fixture("nxos_zone_zoneset", "shzone_0.cfg") + self.execute_show_cmd_zone.return_value = load_fixture( + "nxos_zone_zoneset", + "shzone_0.cfg", + ) result = self.execute_module(changed=False, failed=False) m = "zone 'zoneB' is already present in vsan 923" assert m in str(result["messages"]) @@ -293,7 +315,10 @@ class TestNxosZoneZonesetModule(TestNxosModule): "nxos_zone_zoneset", "shzonestatus_1.cfg", ) - self.execute_show_cmd_zone.return_value = load_fixture("nxos_zone_zoneset", "shzone_0.cfg") + self.execute_show_cmd_zone.return_value = load_fixture( + "nxos_zone_zoneset", + "shzone_0.cfg", + ) result = self.execute_module(changed=True) self.assertEqual( result["commands"], @@ -312,14 +337,19 @@ class TestNxosZoneZonesetModule(TestNxosModule): mem1 = {"pwwn": "11:11:11:11:11:11:11:11", "remove": True} mem2 = {"device_alias": "test123", "remove": True} a = dict( - zone_zoneset_details=[dict(vsan=923, zone=[dict(name="zoneA", members=[mem1, mem2])])], + zone_zoneset_details=[ + dict(vsan=923, zone=[dict(name="zoneA", members=[mem1, mem2])]), + ], ) set_module_args(a, True) self.execute_show_cmd_zone_status.return_value = load_fixture( "nxos_zone_zoneset", "shzonestatus_1.cfg", ) - self.execute_show_cmd_zone.return_value = load_fixture("nxos_zone_zoneset", "shzone_0.cfg") + self.execute_show_cmd_zone.return_value = load_fixture( + "nxos_zone_zoneset", + "shzone_0.cfg", + ) result = self.execute_module(changed=True) self.assertEqual( result["commands"], @@ -338,14 +368,19 @@ class TestNxosZoneZonesetModule(TestNxosModule): mem1 = {"pwwn": "11:11:11:11:11:11:11:11", "remove": True} mem2 = {"device_alias": "test123", "remove": True} a = dict( - zone_zoneset_details=[dict(vsan=923, zone=[dict(name="zoneA1", members=[mem1, mem2])])], + zone_zoneset_details=[ + dict(vsan=923, zone=[dict(name="zoneA1", members=[mem1, mem2])]), + ], ) set_module_args(a, True) self.execute_show_cmd_zone_status.return_value = load_fixture( "nxos_zone_zoneset", "shzonestatus_1.cfg", ) - self.execute_show_cmd_zone.return_value = load_fixture("nxos_zone_zoneset", "shzone_0.cfg") + self.execute_show_cmd_zone.return_value = load_fixture( + "nxos_zone_zoneset", + "shzone_0.cfg", + ) result = self.execute_module(changed=False, failed=False) m = "zone 'zoneA1' is not present in vsan 923 , hence cannot remove the members" assert m in str(result["messages"]) @@ -369,7 +404,10 @@ class TestNxosZoneZonesetModule(TestNxosModule): "nxos_zone_zoneset", "shzonestatus_0.cfg", ) - self.execute_show_cmd_zone.return_value = load_fixture("nxos_zone_zoneset", "shzone_1.cfg") + self.execute_show_cmd_zone.return_value = load_fixture( + "nxos_zone_zoneset", + "shzone_1.cfg", + ) result = self.execute_module(changed=True) self.assertEqual( result["commands"], @@ -387,13 +425,20 @@ class TestNxosZoneZonesetModule(TestNxosModule): def test_zonemem_add_rem_4(self): mem2 = {"device_alias": "test123", "devtype": "both", "remove": True} - a = dict(zone_zoneset_details=[dict(vsan=922, zone=[dict(name="zoneA", members=[mem2])])]) + a = dict( + zone_zoneset_details=[ + dict(vsan=922, zone=[dict(name="zoneA", members=[mem2])]), + ], + ) set_module_args(a, True) self.execute_show_cmd_zone_status.return_value = load_fixture( "nxos_zone_zoneset", "shzonestatus_0.cfg", ) - self.execute_show_cmd_zone.return_value = load_fixture("nxos_zone_zoneset", "shzone_1.cfg") + self.execute_show_cmd_zone.return_value = load_fixture( + "nxos_zone_zoneset", + "shzone_1.cfg", + ) result = self.execute_module(changed=True) self.assertEqual( result["commands"], @@ -408,7 +453,9 @@ class TestNxosZoneZonesetModule(TestNxosModule): # Test zoneset add/removal def test_zoneset_add_rem(self): a = dict( - zone_zoneset_details=[dict(vsan=922, zoneset=[dict(name="zsetname21", remove=True)])], + zone_zoneset_details=[ + dict(vsan=922, zoneset=[dict(name="zsetname21", remove=True)]), + ], ) set_module_args(a, True) self.execute_show_cmd_zone_status.return_value = load_fixture( @@ -430,7 +477,9 @@ class TestNxosZoneZonesetModule(TestNxosModule): ) def test_zoneset_add_rem_1(self): - a = dict(zone_zoneset_details=[dict(vsan=922, zoneset=[dict(name="zsetname21New")])]) + a = dict( + zone_zoneset_details=[dict(vsan=922, zoneset=[dict(name="zsetname21New")])], + ) set_module_args(a, True) self.execute_show_cmd_zone_status.return_value = load_fixture( "nxos_zone_zoneset", @@ -451,7 +500,9 @@ class TestNxosZoneZonesetModule(TestNxosModule): ) def test_zoneset_add_rem_2(self): - a = dict(zone_zoneset_details=[dict(vsan=922, zoneset=[dict(name="zsetname21")])]) + a = dict( + zone_zoneset_details=[dict(vsan=922, zoneset=[dict(name="zsetname21")])], + ) set_module_args(a, True) self.execute_show_cmd_zone_status.return_value = load_fixture( "nxos_zone_zoneset", @@ -570,7 +621,9 @@ class TestNxosZoneZonesetModule(TestNxosModule): # Test zoneset activate/deactivate def test_zoneset_activate_deactivate(self): a = dict( - zone_zoneset_details=[dict(vsan=221, zoneset=[dict(name="zsv221", action="activate")])], + zone_zoneset_details=[ + dict(vsan=221, zoneset=[dict(name="zsv221", action="activate")]), + ], ) set_module_args(a, True) self.execute_show_cmd_zone_status.return_value = load_fixture( @@ -659,14 +712,19 @@ class TestNxosZoneZonesetModule(TestNxosModule): mem1 = {"pwwn": "21:01:00:1b:32:a1:c0:a8", "remove": True} mem2 = {"pwwn": "50:06:01:6a:47:e4:6e:59", "remove": True} a = dict( - zone_zoneset_details=[dict(vsan=221, zone=[dict(name="zv221", members=[mem1, mem2])])], + zone_zoneset_details=[ + dict(vsan=221, zone=[dict(name="zv221", members=[mem1, mem2])]), + ], ) set_module_args(a, True) self.execute_show_cmd_zone_status.return_value = load_fixture( "nxos_zone_zoneset", "shzonestatus_4.cfg", ) - self.execute_show_cmd_zone.return_value = load_fixture("nxos_zone_zoneset", "shzone_2.cfg") + self.execute_show_cmd_zone.return_value = load_fixture( + "nxos_zone_zoneset", + "shzone_2.cfg", + ) self.execute_show_cmd_zoneset_active.return_value = load_fixture( "nxos_zone_zoneset", "shzonesetactive_0.cfg", |