diff options
Diffstat (limited to 'ansible_collections/arista/eos')
229 files changed, 16467 insertions, 17226 deletions
diff --git a/ansible_collections/arista/eos/.ansible-lint b/ansible_collections/arista/eos/.ansible-lint new file mode 100644 index 000000000..8d9bb70b8 --- /dev/null +++ b/ansible_collections/arista/eos/.ansible-lint @@ -0,0 +1,5 @@ +--- +profile: production + +exclude_paths: + - changelogs/changelog.yaml diff --git a/ansible_collections/arista/eos/.github/dependabot.yml b/ansible_collections/arista/eos/.github/dependabot.yml new file mode 100644 index 000000000..5b32d4c10 --- /dev/null +++ b/ansible_collections/arista/eos/.github/dependabot.yml @@ -0,0 +1,9 @@ +--- +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: daily + labels: + - "skip-changelog" diff --git a/ansible_collections/arista/eos/.github/release-drafter.yml b/ansible_collections/arista/eos/.github/release-drafter.yml new file mode 100644 index 000000000..e3e5966e4 --- /dev/null +++ b/ansible_collections/arista/eos/.github/release-drafter.yml @@ -0,0 +1,3 @@ +--- +# see https://github.com/ansible-community/devtools +_extends: ansible-community/devtools diff --git a/ansible_collections/arista/eos/.github/workflows/ack.yml b/ansible_collections/arista/eos/.github/workflows/ack.yml new file mode 100644 index 000000000..fda595dc5 --- /dev/null +++ b/ansible_collections/arista/eos/.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/arista/eos/.github/workflows/codecoverage.yml b/ansible_collections/arista/eos/.github/workflows/codecoverage.yml new file mode 100644 index 000000000..c2a7ad60d --- /dev/null +++ b/ansible_collections/arista/eos/.github/workflows/codecoverage.yml @@ -0,0 +1,15 @@ +--- +name: code_coverage + +on: # yamllint disable-line rule:truthy + push: + pull_request: + branches: [ main ] + +jobs: + codecoverage: + uses: ansible-network/github_actions/.github/workflows/coverage_network_devices.yml@main + with: + collection_pre_install: >- + git+https://github.com/ansible-collections/ansible.utils.git + git+https://github.com/ansible-collections/ansible.netcommon.git diff --git a/ansible_collections/arista/eos/.github/workflows/push.yml b/ansible_collections/arista/eos/.github/workflows/push.yml new file mode 100644 index 000000000..67940aa72 --- /dev/null +++ b/ansible_collections/arista/eos/.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: arista + COLLECTION_NAME: eos + ANSIBLE_COLLECTIONS_PATHS: ./ + +jobs: + update_release_draft: + uses: ansible/devtools/.github/workflows/push_network.yml@main + with: + repo: ansible-collections/arista.eos + secrets: + BOT_PAT: ${{ secrets.BOT_PAT }} diff --git a/ansible_collections/arista/eos/.github/workflows/release.yml b/ansible_collections/arista/eos/.github/workflows/release.yml new file mode 100644 index 000000000..eb04259d1 --- /dev/null +++ b/ansible_collections/arista/eos/.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/arista/eos/.github/workflows/tests.yml b/ansible_collections/arista/eos/.github/workflows/tests.yml index e77967b34..e9f92a2a0 100644 --- a/ansible_collections/arista/eos/.github/workflows/tests.yml +++ b/ansible_collections/arista/eos/.github/workflows/tests.yml @@ -1,20 +1,24 @@ --- -name: Test collection +name: CI concurrency: - group: ${{ github.head_ref }} + group: ${{ github.head_ref || github.run_id }} cancel-in-progress: true on: # yamllint disable-line rule:truthy pull_request: branches: [main] workflow_dispatch: + schedule: + - cron: '0 0 * * *' + jobs: ansible-lint: 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 == 'pull_request' sanity: uses: ansible-network/github_actions/.github/workflows/sanity.yml@main unit-galaxy: @@ -36,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/arista/eos/.pre-commit-config.yaml b/ansible_collections/arista/eos/.pre-commit-config.yaml index 89fa9a674..a18fd6062 100644 --- a/ansible_collections/arista/eos/.pre-commit-config.yaml +++ b/ansible_collections/arista/eos/.pre-commit-config.yaml @@ -1,7 +1,13 @@ --- repos: + - repo: https://github.com/ansible-network/collection_prep + rev: 1.1.1 + hooks: + # - id: autoversion # removed as being handled by GHA push and release drafter + - 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 +18,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.4" + rev: "v3.0.3" 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,13 +38,9 @@ repos: hooks: - id: isort name: Sort import statements using isort + args: ["--filter-files"] - repo: https://github.com/psf/black - rev: 23.1.0 + rev: 23.10.0 hooks: - id: black - - - repo: https://github.com/ansible-network/collection_prep - rev: 1.1.0 - hooks: - - id: update-docs diff --git a/ansible_collections/arista/eos/.vscode/settings.json b/ansible_collections/arista/eos/.vscode/settings.json new file mode 100644 index 000000000..2120b8f01 --- /dev/null +++ b/ansible_collections/arista/eos/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "ansible.python.interpreterPath": "/bin/python" +} diff --git a/ansible_collections/arista/eos/CHANGELOG.rst b/ansible_collections/arista/eos/CHANGELOG.rst index 71d46465a..7067ecc24 100644 --- a/ansible_collections/arista/eos/CHANGELOG.rst +++ b/ansible_collections/arista/eos/CHANGELOG.rst @@ -5,6 +5,82 @@ Arista Eos Collection Release Notes .. contents:: Topics +v6.2.2 +====== + +Bugfixes +-------- + +- correct the reference of string attribute 'reference_bandwith'. + +v6.2.1 +====== + +Release Summary +--------------- + +Rereleased 6.2.0 with updated galaxy reference. + +v6.2.0 +====== + +Minor Changes +------------- + +- arista_config - Relax restrictions on I(src) parameter so it can be used more like I(lines). + +Bugfixes +-------- + +- Fix command generated for local-interface with in ntp server attribute. +- Fix command generation for source_interface attribute. +- Fix secondary ip address parsing. +- fix line attribute fact generation and placement in ACE, when ACE is not fully parsed. + +Documentation Changes +--------------------- + +- Fix docs for static_routes and prefix_lists Resource modules. +- eos_interfaces - update examples and use YAML output for better readability. +- eos_l2_interfaces - update examples and use YAML output for better readability. +- eos_l3_interfaces - update examples and use YAML output for better readability. + +v6.1.2 +====== + +Bugfixes +-------- + +- Skip compile testing for python <3.6. + +v6.1.1 +====== + +Bugfixes +-------- + +- fix sanity issues w.r.t python27 + +v6.1.0 +====== + +Minor Changes +------------- + +- Add support for overridden operation in bgp_global resource module. + +Documentation Changes +--------------------- + +- Update bgp examples with yaml callback result +- Update bgp_global examples with yaml callback result +- Update examples for ospfv3 +- Update examples with yaml formatted output in ospf_interfaces. +- Update ospf_interfaces examples with yaml callback result +- Update ospfv2 examples with yaml callback result +- Update ospfv3 examples with yaml callback result +- Updateb bgp_address_family examples with yaml callback result + v6.0.1 ====== diff --git a/ansible_collections/arista/eos/FILES.json b/ansible_collections/arista/eos/FILES.json index 1c30ea86e..54aa8737c 100644 --- a/ansible_collections/arista/eos/FILES.json +++ b/ansible_collections/arista/eos/FILES.json @@ -8,9502 +8,9607 @@ "format": 1 }, { - "name": ".github", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "ignore-2.9.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "434c723567b8bb4d59f1b64bdbf674e2869789650c878f84f08f3ebe93a97b60", "format": 1 }, { - "name": ".github/workflows", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "LICENSE", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986", "format": 1 }, { - "name": ".github/workflows/tests.yml", + "name": ".yamllint", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fb6838827012c333b7aa2b445987ce5aef5727b640e7647846d09e30d32b54b6", + "chksum_sha256": "827ef9e031ecdcaf137be239d33ef93fcbbc3611cbb6b30b0e507d0e03373d0e", "format": 1 }, { - "name": "changelogs", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "requirements.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "883b106f13b0c6536f55619685ddca25968b4167dedb12e08fa37c93f4c63b25", "format": 1 }, { - "name": "changelogs/fragments", + "name": "meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "changelogs/fragments/.keep", + "name": "meta/runtime.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "69670a3bc346361e18ee69fe1db6b47c18a20cd436bb72086e4b5e95d9ac3f36", "format": 1 }, { - "name": "changelogs/changelog.yaml", + "name": "README.md", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7e071dc377ff2a9d39db51e997485a5230aa549fc490bd4b810586f06a529631", + "chksum_sha256": "acdc105c02de4ccd8d44e0dae9894189c936d9993ae6853a99caa80a40e9d10f", "format": 1 }, { - "name": "changelogs/config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "aa1b22e6fd4e93f7afc36ed9fef6112537f017671068f99daa9380fb425771c4", + "name": "plugins", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "docs", + "name": "plugins/terminal", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "docs/arista.eos.eos_acl_interfaces_module.rst", + "name": "plugins/terminal/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bd3f5943071d6b6f18f2a1e2b8c99b2156ad4aa201d2359e707a56acf1a6130a", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs/arista.eos.eos_acls_module.rst", + "name": "plugins/terminal/eos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a94aed8beaca958713ec7b94bb9de2abe85fbfc669d12bed57f2f3b7277d0df6", + "chksum_sha256": "6966d43cd1b18aa12c7abdd37278000985b69d3ffe827ed250146825246c40d3", "format": 1 }, { - "name": "docs/arista.eos.eos_banner_module.rst", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b128807c32c6a491aa78a1b56512e2982f5d6811641d0b14e8e347d4cf8a5b06", + "name": "plugins/inventory", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "docs/arista.eos.eos_bgp_address_family_module.rst", + "name": "plugins/inventory/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2848f5bc77219b5ed28aee87d0c1aeff0067e87b48ff9dbfcf6855b6d4d7dc21", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs/arista.eos.eos_bgp_global_module.rst", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b3d9af5872ae5b1c5492e7c5c26f0df771560723f1bedf086f912d66ad605dc9", + "name": "plugins/httpapi", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "docs/arista.eos.eos_bgp_module.rst", + "name": "plugins/httpapi/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0a96d9a14d3cb8f07df3690093bc1c12c007d74ee7283ecd9892ba087a26ff6f", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs/arista.eos.eos_cliconf.rst", + "name": "plugins/httpapi/eos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "52b6530cf3a4711a1b8e40dcff5063e73fc3e868e6cba0b91976e8ba53af8a14", + "chksum_sha256": "a72e79bffe3d82ed6d78180b5814bd72b55ef15c57123411aef573dc18081a0b", "format": 1 }, { - "name": "docs/arista.eos.eos_command_module.rst", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "581face7d73549d455f07613d7665a37b275137694b557bb5d87aad639adf49d", + "name": "plugins/cliconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "docs/arista.eos.eos_config_module.rst", + "name": "plugins/cliconf/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eecae5ca3c0920b8dd021788000b1bb7c00bd5a95acdc45c04a3594327051938", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs/arista.eos.eos_eapi_module.rst", + "name": "plugins/cliconf/eos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d44d2a02822ef6bd44f951423cb9a970852522076260713e79a439eec19c5ea", + "chksum_sha256": "87d6fa9386ee1db637cad55e955984a5ace088ded304828294d217688891a4a7", "format": 1 }, { - "name": "docs/arista.eos.eos_facts_module.rst", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3fd5b5627623b7c6b972c872e2e7e535fd9fb1c4c05aef6bbaba19c9aafc2122", + "name": "plugins/modules", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "docs/arista.eos.eos_hostname_module.rst", + "name": "plugins/modules/eos_bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "248961e051dc070a9b283a64d5cc426a87e71efa3d5d985bb4e041b1781f0eb5", + "chksum_sha256": "9d785bf8b326b2abba6c6742b427cca2938d6dac15b6dd2c8fe26033fb8032e6", "format": 1 }, { - "name": "docs/arista.eos.eos_httpapi.rst", + "name": "plugins/modules/eos_lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74c0cc2f16ee0793613c76713e192749dcd24f3e73ecd49cca4599ed62c22f9e", + "chksum_sha256": "90ab8557eb680e0abea6fd8cdb5d463f0ef1fd73d0073ef47981a74bff0c84e7", "format": 1 }, { - "name": "docs/arista.eos.eos_interfaces_module.rst", + "name": "plugins/modules/eos_vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74bcccf9763f905a928d9b864d04861e4f6918c930948ff1316d1c54fb7cf2f0", + "chksum_sha256": "ecd8f836dc780f467c049242138c48b1dd0d65469dab247ec66816aa36b19a30", "format": 1 }, { - "name": "docs/arista.eos.eos_l2_interfaces_module.rst", + "name": "plugins/modules/eos_eapi.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "611fd42eff9681cc2de52b3289f9ab84f0e06674d173d255d00f87dac2488d7b", + "chksum_sha256": "38c5950430f09e4eb10546aa674b41c0b9ae5c85957108433008c260282cc2b0", "format": 1 }, { - "name": "docs/arista.eos.eos_l3_interfaces_module.rst", + "name": "plugins/modules/eos_ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e123839227429be6dd08bd60bd6ee7cf9c2fd421eb065a262497186f975302d1", + "chksum_sha256": "929edf4a24cf11021732e8e530f293f5802343e7930b6de8d629e98c005a3683", "format": 1 }, { - "name": "docs/arista.eos.eos_lacp_interfaces_module.rst", + "name": "plugins/modules/eos_command.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "14d1f3306a902caaec60817227a2b9b41267044a5a54bc1670dd6a55fbccd428", + "chksum_sha256": "355cb38f9dfa902d56c0563dfcca9c4579221f341df5b64ff3c9e22086b70016", "format": 1 }, { - "name": "docs/arista.eos.eos_lacp_module.rst", + "name": "plugins/modules/eos_snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c1a6520e52c8882167cf2f30562949045d463c4e40e4b4adf301eeb9b5e9e58d", + "chksum_sha256": "b259b2d2a4ba741df2f35a8d52ef4e6a1507e840891328d2b8748ecaaffd8afb", "format": 1 }, { - "name": "docs/arista.eos.eos_lag_interfaces_module.rst", + "name": "plugins/modules/eos_banner.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96627e7f51c810369bbd73584ec0351affefb9f1007390e840fde6f1eb23d3ca", + "chksum_sha256": "c9a40fe93e2835e8e2ef138f63de065a737fee2710b108b7ac7c3fdbba5002a8", "format": 1 }, { - "name": "docs/arista.eos.eos_lldp_global_module.rst", + "name": "plugins/modules/eos_facts.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f0fea31fef727f45440a5363e764f99345b4f7e3d079fe5e36388f0ac2b20948", + "chksum_sha256": "4c7b074df78792a848f53b5fb6994a2673249e659dfc74cc181fb1569812425c", "format": 1 }, { - "name": "docs/arista.eos.eos_lldp_interfaces_module.rst", + "name": "plugins/modules/eos_logging.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c2b1858b141cce138e5a2f562c6a6c6e66c74acb8bad7f391e3b3acffdc40be5", + "chksum_sha256": "e6d59a3e4e6ba1459ca5cd94d378daf7f9bdfb84ba076929aa4a747e6c1242c9", "format": 1 }, { - "name": "docs/arista.eos.eos_lldp_module.rst", + "name": "plugins/modules/eos_l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7aa54a176f3d95e20db2127d8b7428ff5ccd511016b007f80d469c7e64922ee2", + "chksum_sha256": "9d426533a5e9c6918115e53437bc078ff85eccefbafda1d7d4dadb796a8006f3", "format": 1 }, { - "name": "docs/arista.eos.eos_logging_global_module.rst", + "name": "plugins/modules/eos_ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "14c2e844470c657812c29e4ccf55c1c215f91d31cc7990ea195a82c0b118e00b", + "chksum_sha256": "0aa39b82eae1a84fbbcdb9b19ff2ca409799f31d72a4ddc7371540ddb360ef57", "format": 1 }, { - "name": "docs/arista.eos.eos_logging_module.rst", + "name": "plugins/modules/eos_bgp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "939eefceedc0fe72bdc08cc3d7051ab08ab629d113aab2ea02974e75cd04988c", + "chksum_sha256": "d933005afd3c8db70638164e7f010d00531861cbed4b03d21f5438894a6250b8", "format": 1 }, { - "name": "docs/arista.eos.eos_ntp_global_module.rst", + "name": "plugins/modules/eos_ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b3e63ba5ddae4166099f537c44ffcd7cfccdff7c319ccd90d4f226150ef1b325", + "chksum_sha256": "a0eaa5f6b3d3704c84d8dbadb6e35cbc3810598bfc9a341a4df42e68847af0e0", "format": 1 }, { - "name": "docs/arista.eos.eos_ospf_interfaces_module.rst", + "name": "plugins/modules/eos_lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5b47d5816400ef01b0d573e0d5046114edc7722de466e4f653c51667c6170acb", + "chksum_sha256": "32172bac4360cbd4c9aba0bc4776294eca0dda71a97f472a71c9424a5260fc78", "format": 1 }, { - "name": "docs/arista.eos.eos_ospfv2_module.rst", + "name": "plugins/modules/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "38b6163ea43ab4f88040dfec4cd283a4eea0e35b92ae87463c0888adde78bcb5", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs/arista.eos.eos_ospfv3_module.rst", + "name": "plugins/modules/eos_static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2a0dc26c17e8e7feba299ad66dc014533cf2c2a4630984dc8d7eb6eb38da26cb", + "chksum_sha256": "1b30f6f27a471fabda82eaf6ab7d9f310c5e1b39f64ad7effd01e2d5d0dae9fc", "format": 1 }, { - "name": "docs/arista.eos.eos_prefix_lists_module.rst", + "name": "plugins/modules/eos_hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d9895c47e0facb5ff6b2938b6620041a8f95602471f0d27ce54f6071c4d8ae6f", + "chksum_sha256": "6973fb2c1d99bcd964c8c2e5124fea3acb52432c4859ca9f9911b22429e7eff3", "format": 1 }, { - "name": "docs/arista.eos.eos_route_maps_module.rst", + "name": "plugins/modules/eos_bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c39b1252e385d95b1d443720aeccd3ac6fd2ad597ddf5e76ea5ea347b05d7613", + "chksum_sha256": "8fb638856c7852953717ffd65e1e2b4a6dec7ec0a005fd4ef9506be5f2d09694", "format": 1 }, { - "name": "docs/arista.eos.eos_snmp_server_module.rst", + "name": "plugins/modules/eos_lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "994c5c7c70fdb828ccdd69f9bba074b7411647d5437f59f5a5d5a3f4ee3d578f", + "chksum_sha256": "2417aa86814f86ae45fa1b4bbe5f8ad7262032467ecef305a74b0a69e04ee7ba", "format": 1 }, { - "name": "docs/arista.eos.eos_static_routes_module.rst", + "name": "plugins/modules/eos_prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "30e9194e6dde435a6413bdc1a752133aca0c356ad26b0c942f6f83702d9d6211", + "chksum_sha256": "47bacc85ac1895d0be80898303dd039edfdf63370cf60e54efc3d9716332983e", "format": 1 }, { - "name": "docs/arista.eos.eos_system_module.rst", + "name": "plugins/modules/eos_system.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b2bf42cdbef6a283cb6306b2f83bb9229d65a5ea6e744f67fa8818c39b2dbce7", + "chksum_sha256": "a47be5a23d7bd09a965ed06f020ce990db0a9401257c49978c248ca832d71804", "format": 1 }, { - "name": "docs/arista.eos.eos_user_module.rst", + "name": "plugins/modules/eos_lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4b73fcd07e28314cc7b3ecbdf643c847015b95637d3f3c1d3a76b831032c9a5c", + "chksum_sha256": "21e703a7728c2601313b810413ac0143ad7d0d70340ab7a7be7794c164f154b3", "format": 1 }, { - "name": "docs/arista.eos.eos_vlans_module.rst", + "name": "plugins/modules/eos_acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6a1142b82a9c76a29ecaef4cced6e5ec3936eeb97c54601ef1458c9343a1b8f9", + "chksum_sha256": "01f152c6892474ad74fa3fe4d5f3828099f7d0db1eaf56d0d05f818ab6cfaf81", "format": 1 }, { - "name": "docs/arista.eos.eos_vrf_module.rst", + "name": "plugins/modules/eos_lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96f8cafc164b8d6431ef4c1d3f56c9e3ff712fe695db94af875d90cc1fcc92e6", + "chksum_sha256": "33e27255d8f4e09d9d5ec270b99a6095596fd0d633db610b92aaa3a85f415738", "format": 1 }, { - "name": "meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "meta/runtime.yml", + "name": "plugins/modules/eos_route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "69670a3bc346361e18ee69fe1db6b47c18a20cd436bb72086e4b5e95d9ac3f36", - "format": 1 - }, - { - "name": "plugins", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "plugins/action", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "b2dc1be3caa9efc8e1f36a1bcfa6a7a0cfd5d780a5ebfce3273c19dd6354b997", "format": 1 }, { - "name": "plugins/action/acl_interfaces.py", + "name": "plugins/modules/eos_logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "a067a17142a631b1a972707e598306677df4061e190847ad07d517d577c4640e", "format": 1 }, { - "name": "plugins/action/acls.py", + "name": "plugins/modules/eos_config.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "75240b4868941e59b523617b9e01cadd64fd82061014a65183c20a2453d43d07", "format": 1 }, { - "name": "plugins/action/banner.py", + "name": "plugins/modules/eos_acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "dcea489708bed333c4d29737c4e57db3eaea6e0d19a3b9d0c77e21054ca5d68a", "format": 1 }, { - "name": "plugins/action/bgp.py", + "name": "plugins/modules/eos_l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "aa387fe06abd306df299f1303069a805fad22466a56ce59d0854de6e4ed6212f", "format": 1 }, { - "name": "plugins/action/bgp_address_family.py", + "name": "plugins/modules/eos_ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "d500948a6b1208e705ef00ab881c41e227d4104ecdd83f513ba8b041068cad7f", "format": 1 }, { - "name": "plugins/action/bgp_global.py", + "name": "plugins/modules/eos_user.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "0ae4d5492d26aa27ee9b8d9937258914af7b4cbfe77064847e141d294652d925", "format": 1 }, { - "name": "plugins/action/command.py", + "name": "plugins/modules/eos_vrf.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "17d794bb9eedeb41ff57d22fdc295db27315ebd274e5d1463d8463868511b704", "format": 1 }, { - "name": "plugins/action/config.py", + "name": "plugins/modules/eos_lldp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "2f477f9e4ececee706fcc9de764dd76fabfbc958b608034bbb6c556e92af836d", "format": 1 }, { - "name": "plugins/action/eapi.py", + "name": "plugins/modules/eos_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "6cbcf37f8e0d3a441c5923b65168ba380c1e78dd0d0081019ccc38b3209de2be", "format": 1 }, { - "name": "plugins/action/facts.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "name": "plugins/filter", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/hostname.py", + "name": "plugins/filter/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/interface.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "name": "plugins/module_utils", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/interfaces.py", + "name": "plugins/module_utils/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/l2_interface.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "name": "plugins/module_utils/network", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/l2_interfaces.py", + "name": "plugins/module_utils/network/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/l3_interface.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "name": "plugins/module_utils/network/eos", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/l3_interfaces.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "name": "plugins/module_utils/network/eos/rm_templates", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/lacp.py", + "name": "plugins/module_utils/network/eos/rm_templates/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "024e8dbf0bec4943c24a26d99ce20e6c992f146c6dec61fd53ce3973e2a3d9f1", "format": 1 }, { - "name": "plugins/action/lacp_interfaces.py", + "name": "plugins/module_utils/network/eos/rm_templates/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "793f9c3e5428e09f3352cb561dc58c9707700305c419af539862702641177484", "format": 1 }, { - "name": "plugins/action/lag_interfaces.py", + "name": "plugins/module_utils/network/eos/rm_templates/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "ad569ba6de7f63168a5a8b6dff50abb5fb40e8329ba52c2412408526e22a5ca9", "format": 1 }, { - "name": "plugins/action/linkagg.py", + "name": "plugins/module_utils/network/eos/rm_templates/ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "44e6b60a7ba28b25feee1b18a38435d17fd0998e7f84925258ed15e9fcc5e335", "format": 1 }, { - "name": "plugins/action/lldp.py", + "name": "plugins/module_utils/network/eos/rm_templates/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "416f060b23612c3906a20fd5ac4276d2ad8577f73c44dfad6f159f742f0db2be", "format": 1 }, { - "name": "plugins/action/lldp_global.py", + "name": "plugins/module_utils/network/eos/rm_templates/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/lldp_interfaces.py", + "name": "plugins/module_utils/network/eos/rm_templates/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "84bdbe377db05a723806e43b45d4473a6659aa5f3cdc640838a6e91145e7d8e3", "format": 1 }, { - "name": "plugins/action/logging.py", + "name": "plugins/module_utils/network/eos/rm_templates/route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "cd769e2e13a0b7f1e201d647d70cec84eb7b374c31952da5a88e5436e9204f94", "format": 1 }, { - "name": "plugins/action/logging_global.py", + "name": "plugins/module_utils/network/eos/rm_templates/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "830240634630601293eab68bd902aaae19e5d83bad59bb91410bdf85fa8670e7", "format": 1 }, { - "name": "plugins/action/ntp_global.py", + "name": "plugins/module_utils/network/eos/rm_templates/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "99e1a95abbb6b1fd6dfe0544c955a4f8c209b5df57f538392a9277f03d529898", "format": 1 }, { - "name": "plugins/action/ospf_interfaces.py", + "name": "plugins/module_utils/network/eos/rm_templates/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "f4602d1d97809c09f7d472207a6b96b7ac058f33618cbcb5ad5b0ae593935a06", "format": 1 }, { - "name": "plugins/action/ospfv2.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "name": "plugins/module_utils/network/eos/providers", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/ospfv3.py", + "name": "plugins/module_utils/network/eos/providers/module.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "f01b61830d3543669f47b987507fb7b55933588f7a1a2f731e4f9c50d848a558", "format": 1 }, { - "name": "plugins/action/prefix_lists.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "name": "plugins/module_utils/network/eos/providers/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/route_maps.py", + "name": "plugins/module_utils/network/eos/providers/cli/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/snmp_server.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "name": "plugins/module_utils/network/eos/providers/cli/config", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/static_route.py", + "name": "plugins/module_utils/network/eos/providers/cli/config/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/static_routes.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "name": "plugins/module_utils/network/eos/providers/cli/config/bgp", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/system.py", + "name": "plugins/module_utils/network/eos/providers/cli/config/bgp/neighbors.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "177c15749b198e2780b1e512f2d5164999fa8e64b30647672c0a490360e76088", "format": 1 }, { - "name": "plugins/action/user.py", + "name": "plugins/module_utils/network/eos/providers/cli/config/bgp/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/vlan.py", + "name": "plugins/module_utils/network/eos/providers/cli/config/bgp/process.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "a47f5b38ed3ce70270b517d5d14afb25aabfae512da4891e55041c881f751878", "format": 1 }, { - "name": "plugins/action/vlans.py", + "name": "plugins/module_utils/network/eos/providers/cli/config/bgp/address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "bf393826b172df53d3cd8d0b59a39e4c8020bce080b6ea6d11ca5cdc305de992", "format": 1 }, { - "name": "plugins/action/vrf.py", + "name": "plugins/module_utils/network/eos/providers/providers.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "7c92fe09b2aa69b9556470313aaece6f91b79412bc7dd972634e8b891f8ee11b", "format": 1 }, { - "name": "plugins/action/__init__.py", + "name": "plugins/module_utils/network/eos/providers/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/eos.py", + "name": "plugins/module_utils/network/eos/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/cliconf", + "name": "plugins/module_utils/network/eos/facts", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/cliconf/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "name": "plugins/module_utils/network/eos/facts/bgp_address_family", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/cliconf/eos.py", + "name": "plugins/module_utils/network/eos/facts/bgp_address_family/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b543defd38a41e5e3ec1d6fc7baaf75d76da4db695be2f44b071ab653d54ea65", + "chksum_sha256": "c4cb44586c09aa01ade548e7fd768cc5acdb6184657cc69f4b7e19ef3810cdbb", "format": 1 }, { - "name": "plugins/filter", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "plugins/filter/__init__.py", + "name": "plugins/module_utils/network/eos/facts/bgp_address_family/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/httpapi", + "name": "plugins/module_utils/network/eos/facts/static_routes", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/httpapi/__init__.py", + "name": "plugins/module_utils/network/eos/facts/static_routes/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "d3bc5db1d739a23b0c993f770d3cca4af6ee7ab514e3c7222d1ebc7985546033", "format": 1 }, { - "name": "plugins/httpapi/eos.py", + "name": "plugins/module_utils/network/eos/facts/static_routes/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f299ed9406aa61a5d072e7555b5eae76fef114b9494a093c8e9874e10a603954", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/inventory", + "name": "plugins/module_utils/network/eos/facts/prefix_lists", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/inventory/__init__.py", + "name": "plugins/module_utils/network/eos/facts/prefix_lists/__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/eos/facts/prefix_lists/prefix_lists.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "fcc290aaba4af1b68805d1d0f47147352c09109f364e113a9766e1af4500cb1f", "format": 1 }, { - "name": "plugins/module_utils/network", + "name": "plugins/module_utils/network/eos/facts/hostname", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/module_utils/network/eos/facts/hostname/hostname.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0c91edb1d5112e43527a1eb7bcc9de697035a388267a2636b23546709b119aa3", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/module_utils/network/eos/facts/hostname/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/acl_interfaces", + "name": "plugins/module_utils/network/eos/facts/lldp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/acl_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/facts/lldp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/acl_interfaces/acl_interfaces.py", + "name": "plugins/module_utils/network/eos/facts/lldp_interfaces/lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6c0046bf6afab4a996e33f24201ed519569eb08acbf16761b5b11a314533c0d3", + "chksum_sha256": "000d63e8514cc27c9f1bfaaeb16c5e689544b2c0062d5a05d7c62f010b35c982", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/acls", + "name": "plugins/module_utils/network/eos/facts/lacp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/acls/__init__.py", + "name": "plugins/module_utils/network/eos/facts/lacp/lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "67b727b9fe18197bb9bf3b9270e3e127d30618b3115bc58a5d8562763f82b7c9", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/acls/acls.py", + "name": "plugins/module_utils/network/eos/facts/lacp/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7edb5254efbad96919b6344dced7ca2825fea82ed161894fb32947c9230b5d6d", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/bgp_address_family", + "name": "plugins/module_utils/network/eos/facts/ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/bgp_address_family/__init__.py", + "name": "plugins/module_utils/network/eos/facts/ospfv2/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/bgp_address_family/bgp_address_family.py", + "name": "plugins/module_utils/network/eos/facts/ospfv2/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e219a1d388d9e62d9e5e8752ac2a6762bf30de1fe20367d9ec9e0a88c978b87d", + "chksum_sha256": "4c026c178eb5e79d3c4f721b90bf6a81a497563700b7bdaa0e275cbab1095689", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/bgp_global", + "name": "plugins/module_utils/network/eos/facts/logging_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/bgp_global/__init__.py", + "name": "plugins/module_utils/network/eos/facts/logging_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/bgp_global/bgp_global.py", + "name": "plugins/module_utils/network/eos/facts/logging_global/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6e3fe8902238d6352ed046fbc36527e5b814277123a53e2b5da37bcca2eb4550", + "chksum_sha256": "347a952bb18e664542416104c269d623d0d74f4095e975e29bd38ffa6a8b9471", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/facts", + "name": "plugins/module_utils/network/eos/facts/ospfv3", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/facts/__init__.py", + "name": "plugins/module_utils/network/eos/facts/ospfv3/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/facts/facts.py", + "name": "plugins/module_utils/network/eos/facts/ospfv3/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f2c14a6c7b2ee25446a1d7eeda2dd5dc7acfb694719ffa90d8be271146291266", + "chksum_sha256": "3decdeb768d4beac99f8dac300d0dd3fc39a35e94d4b9eebf5796c4566eb6df8", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/hostname", + "name": "plugins/module_utils/network/eos/facts/legacy", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/hostname/__init__.py", + "name": "plugins/module_utils/network/eos/facts/legacy/base.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "ae7be9226844a6c41d306bf463c00087631931af57be3242325fe69994a022d7", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/hostname/hostname.py", + "name": "plugins/module_utils/network/eos/facts/legacy/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "efb917c5d1ae4dda5fab13fad9f6132c614f22f1ea51046338715e8f5bdd2fa2", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/interfaces", + "name": "plugins/module_utils/network/eos/facts/l2_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/facts/l2_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/interfaces/interfaces.py", + "name": "plugins/module_utils/network/eos/facts/l2_interfaces/l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "612279d76fe8e822c0b94fd23af3766e62811e27b2564bcfeedeb1eb5c94cb5c", + "chksum_sha256": "c19ff2a5d085a131ceec0742c38a9eae468962d91f3250e7427d4caf432ce56d", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/l2_interfaces", + "name": "plugins/module_utils/network/eos/facts/ospf_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/l2_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/facts/ospf_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/l2_interfaces/l2_interfaces.py", + "name": "plugins/module_utils/network/eos/facts/ospf_interfaces/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "65c41dc95f80ca90d8833a275cdb9e480a10b9a196dbe87f7f60fc52aec24cdb", + "chksum_sha256": "276c32be6cf47273f43a594743a08f0caefcc569821891a9ba26a6b5e688dc65", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/l3_interfaces", + "name": "plugins/module_utils/network/eos/facts/route_maps", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/l3_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/facts/route_maps/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/l3_interfaces/l3_interfaces.py", + "name": "plugins/module_utils/network/eos/facts/route_maps/route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0afcc24d23d35e458492c17efac75178b89d730a902907310aad2a2385c03d74", + "chksum_sha256": "85cf372cc7a142671feee4678aca01c08f756a97dd036e080fc71e14d16e237c", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lacp", + "name": "plugins/module_utils/network/eos/facts/acl_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lacp/__init__.py", + "name": "plugins/module_utils/network/eos/facts/acl_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lacp/lacp.py", + "name": "plugins/module_utils/network/eos/facts/acl_interfaces/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b3f0f3894afa99a36f3ef7e6970a7ca4f5ddf1ee0f78e617f43467534fc76435", + "chksum_sha256": "8223e431fab62ffe96492525da21806ce3dcc683b0bfad6535bacdbe20a5ec19", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lacp_interfaces", + "name": "plugins/module_utils/network/eos/facts/lldp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lacp_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/facts/lldp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lacp_interfaces/lacp_interfaces.py", + "name": "plugins/module_utils/network/eos/facts/lldp_global/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "af428e8eafdfd3e0dd804f01995bb19ba139200c29d115f943bdea29f03cb9ba", - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/argspec/lag_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "9070fe8b2f5532a17160617ef9396da4e9c60439f912065895d1115ab43b4845", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lag_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/facts/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lag_interfaces/lag_interfaces.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "47ba1c980be914d8442a770d7e3f8d853ddd0b2f16cdf09e49626540a6b5ea54", - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/argspec/lldp_global", + "name": "plugins/module_utils/network/eos/facts/snmp_server", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lldp_global/__init__.py", + "name": "plugins/module_utils/network/eos/facts/snmp_server/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "bfd8498527758e863e712edab89d198cdc41010ff53015fad8278302a2636305", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lldp_global/lldp_global.py", + "name": "plugins/module_utils/network/eos/facts/snmp_server/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a7f1026b736127cb2e7700478502956fd2d82a3ae060d56843c34eeb59ed1cc3", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lldp_interfaces", + "name": "plugins/module_utils/network/eos/facts/lacp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lldp_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/facts/lacp_interfaces/lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "13672c35f2afb1139aea840803a5e5e7a8bacc7ad56310573829a7429f41f9a5", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lldp_interfaces/lldp_interfaces.py", + "name": "plugins/module_utils/network/eos/facts/lacp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "19867782c170d8d43dba9d1f18eaca89971df1a153528ff64ed5e0aca3251e97", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/logging_global", + "name": "plugins/module_utils/network/eos/facts/acls", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/logging_global/__init__.py", + "name": "plugins/module_utils/network/eos/facts/acls/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/logging_global/logging_global.py", + "name": "plugins/module_utils/network/eos/facts/acls/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2622ca645838091e8437dd720f2ed7574015fb51171e2f1b2414baf13b16a04c", + "chksum_sha256": "4281e9c092fcf8592b3f4edc4652f84c2fc2f234ca12b49878d38ee7ee39302a", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ntp_global", + "name": "plugins/module_utils/network/eos/facts/ntp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ntp_global/__init__.py", + "name": "plugins/module_utils/network/eos/facts/ntp_global/ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "393b9394fd4523d0c25c90898c6d417ef652ba6ad4224c7d811b78e74f883d43", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ntp_global/ntp_global.py", + "name": "plugins/module_utils/network/eos/facts/ntp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "56e9a6a4aa20da957e209497d8a486de5778d6566b9b59d01d8a753163b5455f", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ospf_interfaces", + "name": "plugins/module_utils/network/eos/facts/lag_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ospf_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/facts/lag_interfaces/lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "e4386e948fecd41b50251a68a1ae4e462ba32c0fff6aec18645cf9b9585fe196", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ospf_interfaces/ospf_interfaces.py", + "name": "plugins/module_utils/network/eos/facts/lag_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dfa1590c0c70ddef240ef5fb993014c24214e6fa4ea42a08c52b1a9144049ba1", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ospfv2", + "name": "plugins/module_utils/network/eos/facts/vlans", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ospfv2/__init__.py", + "name": "plugins/module_utils/network/eos/facts/vlans/vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "36bb3a37dcee0798b2b9cda6bd4259fcb70e67e8974dad36a3ffb8e5fd718e16", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ospfv2/ospfv2.py", + "name": "plugins/module_utils/network/eos/facts/vlans/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5cac76000d64eae4f6a3dfaf9c1bc001637f7e31e4b92cdd04df8c3b544dd2f7", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ospfv3", + "name": "plugins/module_utils/network/eos/facts/interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ospfv3/__init__.py", + "name": "plugins/module_utils/network/eos/facts/interfaces/interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "d77de5b9f125a7a3718689e11f951e3ccea22fc2a326ff403a51cbff5b95d850", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ospfv3/ospfv3.py", + "name": "plugins/module_utils/network/eos/facts/interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8c05a7e649ddc285459fd9e69eb1b5f60988ce60c115d29961439b90cdd5fae8", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/prefix_lists", + "name": "plugins/module_utils/network/eos/facts/l3_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/prefix_lists/__init__.py", + "name": "plugins/module_utils/network/eos/facts/l3_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/prefix_lists/prefix_lists.py", + "name": "plugins/module_utils/network/eos/facts/l3_interfaces/l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e6e8db5f08a08179db44df3aa76e7b82cfb54deb2bde8583a683a267d1695d5c", + "chksum_sha256": "81a152c689e6101b61ec6094742e4048bac91e192e4ce580b29ab9ca6958a9d0", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/route_maps", + "name": "plugins/module_utils/network/eos/facts/bgp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/route_maps/__init__.py", + "name": "plugins/module_utils/network/eos/facts/bgp_global/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "e526a761ad44c7d0b819eaf02202a1239807ea3d9831b9c0f7691203106d9731", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/route_maps/route_maps.py", + "name": "plugins/module_utils/network/eos/facts/bgp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e56bf6c5fcac1647331f79af77bc2c75c80809ef6c2ff2323393094c320ff781", - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/argspec/snmp_server", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/snmp_server/__init__.py", + "name": "plugins/module_utils/network/eos/facts/facts.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "e7331bdec12957b960b8e1951c7acb4fe7e90eb759bc1d77691a3efd97a0afe1", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/snmp_server/snmp_server.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1cfd87d2929d294b4921ef21b6db0d3e5f9eeb86ae1e997f7ed6ccb0d49d6104", + "name": "plugins/module_utils/network/eos/argspec", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/static_routes", + "name": "plugins/module_utils/network/eos/argspec/bgp_address_family", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/static_routes/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/bgp_address_family/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "e219a1d388d9e62d9e5e8752ac2a6762bf30de1fe20367d9ec9e0a88c978b87d", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/static_routes/static_routes.py", + "name": "plugins/module_utils/network/eos/argspec/bgp_address_family/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ba889e4244aec9094d7db701cac2eb5b815f8ed0046f8a3e9c04fe6aa2fa217b", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/vlans", + "name": "plugins/module_utils/network/eos/argspec/static_routes", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/vlans/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/argspec/vlans/vlans.py", + "name": "plugins/module_utils/network/eos/argspec/static_routes/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7559652223d1ec6112b628ebb5ec5575ac0df8a7861c1d34e8e4383af157e972", + "chksum_sha256": "ba889e4244aec9094d7db701cac2eb5b815f8ed0046f8a3e9c04fe6aa2fa217b", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/static_routes/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/config/acl_interfaces", + "name": "plugins/module_utils/network/eos/argspec/prefix_lists", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/acl_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/prefix_lists/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/acl_interfaces/acl_interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/prefix_lists/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bcc84c7148d3f02b2d3b8d9cb3e50bdd1139abe5143bff27e5c9b20868e4ae9", + "chksum_sha256": "e6e8db5f08a08179db44df3aa76e7b82cfb54deb2bde8583a683a267d1695d5c", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/acls", + "name": "plugins/module_utils/network/eos/argspec/hostname", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/acls/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/hostname/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "efb917c5d1ae4dda5fab13fad9f6132c614f22f1ea51046338715e8f5bdd2fa2", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/acls/acls.py", + "name": "plugins/module_utils/network/eos/argspec/hostname/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0a61d9abda1eb471864b0b9f20f50a89c496659c6a02916e566fe1ba0b2380d1", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/bgp_address_family", + "name": "plugins/module_utils/network/eos/argspec/lldp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/bgp_address_family/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/lldp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/bgp_address_family/bgp_address_family.py", + "name": "plugins/module_utils/network/eos/argspec/lldp_interfaces/lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "449bf1ed8975b0c2c5d8f0406f87561d8c475a869ea4b36b703a53f33e485963", + "chksum_sha256": "19867782c170d8d43dba9d1f18eaca89971df1a153528ff64ed5e0aca3251e97", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/bgp_global", + "name": "plugins/module_utils/network/eos/argspec/lacp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/bgp_global/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/lacp/lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "b3f0f3894afa99a36f3ef7e6970a7ca4f5ddf1ee0f78e617f43467534fc76435", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/bgp_global/bgp_global.py", + "name": "plugins/module_utils/network/eos/argspec/lacp/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "008cb853b542ce4e4a4ff28f2252855018af535568dea1af428cda6b57634319", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/hostname", + "name": "plugins/module_utils/network/eos/argspec/ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/hostname/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/ospfv2/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/hostname/hostname.py", + "name": "plugins/module_utils/network/eos/argspec/ospfv2/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a0e020d8c1148be859bb789ef8a2d868916e3a9ac32f9954e6a878e6fcc1343c", + "chksum_sha256": "5cac76000d64eae4f6a3dfaf9c1bc001637f7e31e4b92cdd04df8c3b544dd2f7", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/interfaces", + "name": "plugins/module_utils/network/eos/argspec/logging_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/logging_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/interfaces/interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/logging_global/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b048d2445ad4f82022ea8e3ef02711fd22392324f154663a9c15b3a4181bdf12", + "chksum_sha256": "2622ca645838091e8437dd720f2ed7574015fb51171e2f1b2414baf13b16a04c", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/l2_interfaces", + "name": "plugins/module_utils/network/eos/argspec/ospfv3", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/l2_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/ospfv3/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/l2_interfaces/l2_interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/ospfv3/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cafa38ba33cd92ceaa9757fdf4853562b6a05585e2eafcde72e8a153a3bfb811", + "chksum_sha256": "8c05a7e649ddc285459fd9e69eb1b5f60988ce60c115d29961439b90cdd5fae8", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/l3_interfaces", + "name": "plugins/module_utils/network/eos/argspec/l2_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/l3_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/l2_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/l3_interfaces/l3_interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/l2_interfaces/l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "671d24ae1302fa2ffc93a7410db998da06e2e3ca35335b85fbefed0dca634eaa", + "chksum_sha256": "65c41dc95f80ca90d8833a275cdb9e480a10b9a196dbe87f7f60fc52aec24cdb", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lacp", + "name": "plugins/module_utils/network/eos/argspec/ospf_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lacp/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/ospf_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lacp/lacp.py", + "name": "plugins/module_utils/network/eos/argspec/ospf_interfaces/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "66fe47ba0b24b135e9e9d926236f6fea3e1900c02c2cb05b7704ab922f446fde", + "chksum_sha256": "dfa1590c0c70ddef240ef5fb993014c24214e6fa4ea42a08c52b1a9144049ba1", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lacp_interfaces", + "name": "plugins/module_utils/network/eos/argspec/route_maps", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lacp_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/route_maps/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lacp_interfaces/lacp_interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/route_maps/route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "09cc3fbfc6ddbd926c1425a4b62e43abc8a9393bfb1b14c49cf3b4ab58c5f987", + "chksum_sha256": "e56bf6c5fcac1647331f79af77bc2c75c80809ef6c2ff2323393094c320ff781", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lag_interfaces", + "name": "plugins/module_utils/network/eos/argspec/acl_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lag_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/acl_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lag_interfaces/lag_interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/acl_interfaces/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "86f2636c8a44b864c8b53bc799c0f7ec6166c55a435860ad413dc0c097ceac49", + "chksum_sha256": "6c0046bf6afab4a996e33f24201ed519569eb08acbf16761b5b11a314533c0d3", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lldp_global", + "name": "plugins/module_utils/network/eos/argspec/lldp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lldp_global/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/lldp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lldp_global/lldp_global.py", + "name": "plugins/module_utils/network/eos/argspec/lldp_global/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "69ad272fdf21f4e0cedaf1cc0507238ccee6ad917211a5c0dd04e027ee5fbaa8", - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/config/lldp_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "a7f1026b736127cb2e7700478502956fd2d82a3ae060d56843c34eeb59ed1cc3", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lldp_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lldp_interfaces/lldp_interfaces.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cc4707fdf204c32f781c07f7b7824f3bb39f7c04924cf75918afd9f35c00e2d5", - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/config/logging_global", + "name": "plugins/module_utils/network/eos/argspec/snmp_server", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/logging_global/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/snmp_server/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "1cfd87d2929d294b4921ef21b6db0d3e5f9eeb86ae1e997f7ed6ccb0d49d6104", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/logging_global/logging_global.py", + "name": "plugins/module_utils/network/eos/argspec/snmp_server/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2877f5747eead1587e92ab99d9daaabffda287c76d2a485f89e77591a89d7bc6", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ntp_global", + "name": "plugins/module_utils/network/eos/argspec/facts", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ntp_global/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/facts/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ntp_global/ntp_global.py", + "name": "plugins/module_utils/network/eos/argspec/facts/facts.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "61ea3465ab0ff85439a847d968c8c00d1d966c839e08e0f4db95951f942adfc0", + "chksum_sha256": "f2c14a6c7b2ee25446a1d7eeda2dd5dc7acfb694719ffa90d8be271146291266", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ospf_interfaces", + "name": "plugins/module_utils/network/eos/argspec/lacp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ospf_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/lacp_interfaces/lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "af428e8eafdfd3e0dd804f01995bb19ba139200c29d115f943bdea29f03cb9ba", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ospf_interfaces/ospf_interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/lacp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "530431a9bf9d551f742e24e54587ab583c50d2dd9a6f81dc7a7604a91e56500f", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ospfv2", + "name": "plugins/module_utils/network/eos/argspec/acls", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ospfv2/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/acls/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ospfv2/ospfv2.py", + "name": "plugins/module_utils/network/eos/argspec/acls/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1a3717ac6166b33973e551c554a67d4f3b5a52b8e215061823ac52e9b66c4313", + "chksum_sha256": "7edb5254efbad96919b6344dced7ca2825fea82ed161894fb32947c9230b5d6d", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ospfv3", + "name": "plugins/module_utils/network/eos/argspec/ntp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ospfv3/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/ntp_global/ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "56e9a6a4aa20da957e209497d8a486de5778d6566b9b59d01d8a753163b5455f", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ospfv3/ospfv3.py", + "name": "plugins/module_utils/network/eos/argspec/ntp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cbba118ca02097c8f101fa8163dd4533687aa654c47af5f384361c15bbf18f6e", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/prefix_lists", + "name": "plugins/module_utils/network/eos/argspec/lag_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/prefix_lists/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/lag_interfaces/lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "47ba1c980be914d8442a770d7e3f8d853ddd0b2f16cdf09e49626540a6b5ea54", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/prefix_lists/prefix_lists.py", + "name": "plugins/module_utils/network/eos/argspec/lag_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3f8ca442e36c6e9eac52baeb69bae9252872bb4dd433da3dfd85e437274391d", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/route_maps", + "name": "plugins/module_utils/network/eos/argspec/vlans", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/route_maps/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/vlans/vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "7559652223d1ec6112b628ebb5ec5575ac0df8a7861c1d34e8e4383af157e972", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/route_maps/route_maps.py", + "name": "plugins/module_utils/network/eos/argspec/vlans/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4cf2bba32a5d31eea914f4316edaa3220b8c70999f281be36cc992e9e0dce6a7", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/snmp_server", + "name": "plugins/module_utils/network/eos/argspec/interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/snmp_server/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/interfaces/interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "612279d76fe8e822c0b94fd23af3766e62811e27b2564bcfeedeb1eb5c94cb5c", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/snmp_server/snmp_server.py", + "name": "plugins/module_utils/network/eos/argspec/interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b8577aa776165a61ca16d1bd7b8f82dd951a853beb2cc10fdddf4d3ff2386e60", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/static_routes", + "name": "plugins/module_utils/network/eos/argspec/l3_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/static_routes/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/l3_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/static_routes/static_routes.py", + "name": "plugins/module_utils/network/eos/argspec/l3_interfaces/l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b9c311e50db4ce0154df789c5661f0e2dcba38ead5b9427d9d07096ed41aaee2", + "chksum_sha256": "0afcc24d23d35e458492c17efac75178b89d730a902907310aad2a2385c03d74", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/vlans", + "name": "plugins/module_utils/network/eos/argspec/bgp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/vlans/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/config/vlans/vlans.py", + "name": "plugins/module_utils/network/eos/argspec/bgp_global/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8a28a0e8ece189d0c244dbcd8f65277b8012178cac3553df6bf213162dff688e", + "chksum_sha256": "9cad63a8bae8aa7461c019d8cff5529b7a3453cdd5d37eb59050a53b94d68b3e", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/bgp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts", + "name": "plugins/module_utils/network/eos/config", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/acl_interfaces", + "name": "plugins/module_utils/network/eos/config/bgp_address_family", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/acl_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/config/bgp_address_family/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "2410ce1f65a84875e8e2c70444c51865f55419aee7c96f56dbd7f7d5bc2eb354", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/acl_interfaces/acl_interfaces.py", + "name": "plugins/module_utils/network/eos/config/bgp_address_family/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e9dab98bc5b7651ffb351e6f455907a14d6f9edce78793bb2abc50793a526696", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/acls", + "name": "plugins/module_utils/network/eos/config/static_routes", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/acls/__init__.py", + "name": "plugins/module_utils/network/eos/config/static_routes/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "a9bb861e16329d067117e9cb3b0fef10a9e67a601bc95820303daf9e2b972d60", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/acls/acls.py", + "name": "plugins/module_utils/network/eos/config/static_routes/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1e9d06a56d37ea1cc38f4bc3e975a38110eccfb02bd4d02f9b1c5c5987ab697d", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/bgp_address_family", + "name": "plugins/module_utils/network/eos/config/prefix_lists", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/bgp_address_family/__init__.py", + "name": "plugins/module_utils/network/eos/config/prefix_lists/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/bgp_address_family/bgp_address_family.py", + "name": "plugins/module_utils/network/eos/config/prefix_lists/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "713c3dc0eee935154f158427bae98116584c593f9ef2a02cc2183a0aa1a073f4", + "chksum_sha256": "3d05e91016ebf5f6b8256a5118c25653c400cb61bad450fe5e046c36932ea656", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/bgp_global", + "name": "plugins/module_utils/network/eos/config/hostname", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/bgp_global/__init__.py", + "name": "plugins/module_utils/network/eos/config/hostname/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "ef3523fd8423c7145629ab9976979aec5e03bee95e211d5898e488300fe25328", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/bgp_global/bgp_global.py", + "name": "plugins/module_utils/network/eos/config/hostname/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7b037e31f1ba32c4d39d42d7b63164e4ad982fee2d23a681489ad947d222be1f", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/hostname", + "name": "plugins/module_utils/network/eos/config/lldp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/hostname/__init__.py", + "name": "plugins/module_utils/network/eos/config/lldp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/hostname/hostname.py", + "name": "plugins/module_utils/network/eos/config/lldp_interfaces/lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7f0aa4b6dd78573bafa4984b8cc441ab1e5e5b1f5ce81b9c7d5012e631cbe54d", + "chksum_sha256": "adf36c086148185987dcdd19a201be6b090568800b814719800526329303728f", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/interfaces", + "name": "plugins/module_utils/network/eos/config/lacp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/config/lacp/lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "31ed665eb142d97e3c896b6f85ce63caeb7e25aed708ec32da60f9c67a14303d", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/interfaces/interfaces.py", + "name": "plugins/module_utils/network/eos/config/lacp/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "381dfacbf5de0b7e10e7998c2c9ef6de461f76106e597712f4e1d1f094373866", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/l2_interfaces", + "name": "plugins/module_utils/network/eos/config/ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/l2_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/config/ospfv2/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/l2_interfaces/l2_interfaces.py", + "name": "plugins/module_utils/network/eos/config/ospfv2/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ffc4f7351fe5ea0ac3476b9242c40f56839cb455c8f81844bb8fe8b7abe7dd2", + "chksum_sha256": "4d3bed93486d3875f85938ecbe63e45db9f4b9a1504bcd9b7b5fc36b65614d7d", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/l3_interfaces", + "name": "plugins/module_utils/network/eos/config/logging_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/l3_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/config/logging_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/l3_interfaces/l3_interfaces.py", + "name": "plugins/module_utils/network/eos/config/logging_global/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "288c25e6439539b5ab38e4eb24ff13e2383b4997620a04ff9f5151e058865319", + "chksum_sha256": "707dc8dc34c94d1fb23ab69132240b92f96ec167938309189c1a7abb38179df2", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lacp", + "name": "plugins/module_utils/network/eos/config/ospfv3", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lacp/__init__.py", + "name": "plugins/module_utils/network/eos/config/ospfv3/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lacp/lacp.py", + "name": "plugins/module_utils/network/eos/config/ospfv3/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "be88b1b00ffd9d2a1053c2e284d81b62753791bf1ae23f3124595991d87eb68b", + "chksum_sha256": "37dbf6d9294a56a3493931f12f6c963d086eac79aba42ca3ec34dd2f174ff7ce", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lacp_interfaces", + "name": "plugins/module_utils/network/eos/config/l2_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lacp_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/config/l2_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lacp_interfaces/lacp_interfaces.py", + "name": "plugins/module_utils/network/eos/config/l2_interfaces/l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8317aedd2a88b234a2af6ca54bc67d81423cec835cb42c52df7ac2b71132eb32", + "chksum_sha256": "2a6862117f6bd1e9bf1672f8b9064d46ee1591fb666f451dd35aa5efe6e27400", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lag_interfaces", + "name": "plugins/module_utils/network/eos/config/ospf_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lag_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/config/ospf_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lag_interfaces/lag_interfaces.py", + "name": "plugins/module_utils/network/eos/config/ospf_interfaces/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "296a67cfe58f8450c03fb79f0dbfec348fead8478fe2966cedefd611bfc6b996", + "chksum_sha256": "ae0e49ac0a39b42b7e884e2f299b9ca9ac41cd7fab9477a0fcd67dbc662c5078", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/legacy", + "name": "plugins/module_utils/network/eos/config/route_maps", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/legacy/__init__.py", + "name": "plugins/module_utils/network/eos/config/route_maps/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/legacy/base.py", + "name": "plugins/module_utils/network/eos/config/route_maps/route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ae7be9226844a6c41d306bf463c00087631931af57be3242325fe69994a022d7", + "chksum_sha256": "5aec84f3a36201ff7967cfb2213033e78601517c9d9e9950271e2c9d6b706ae4", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lldp_global", + "name": "plugins/module_utils/network/eos/config/acl_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lldp_global/__init__.py", + "name": "plugins/module_utils/network/eos/config/acl_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lldp_global/lldp_global.py", + "name": "plugins/module_utils/network/eos/config/acl_interfaces/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d4b1359483582657e92c964e22a4250d83f2f5b9cc81c1172cd23ef2b26698b3", + "chksum_sha256": "b6d4dde06ac68d4d095efecb55bde60c39d70a82219586d244d2067de19ba81a", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lldp_interfaces", + "name": "plugins/module_utils/network/eos/config/lldp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lldp_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/config/lldp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lldp_interfaces/lldp_interfaces.py", + "name": "plugins/module_utils/network/eos/config/lldp_global/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a0fa6baa3560ab08624fb30a79f807e64db902d3f6db24237de6a1685625f0b5", + "chksum_sha256": "27d08d64512225b47da179d0e081fc0608f1f48cd8cccab963e955e08df2c774", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/logging_global", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/facts/logging_global/__init__.py", + "name": "plugins/module_utils/network/eos/config/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/logging_global/logging_global.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "310b7b976792690784c41fab723926c75b0ad79bbee6562d02ee869ea6e2b1bb", - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/facts/ntp_global", + "name": "plugins/module_utils/network/eos/config/snmp_server", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ntp_global/__init__.py", + "name": "plugins/module_utils/network/eos/config/snmp_server/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "486843b85b3910419ae61b299ee310dcea42eba21d65bd9158b43dc65f3dcdd3", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ntp_global/ntp_global.py", + "name": "plugins/module_utils/network/eos/config/snmp_server/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "577216d559173e21134dc506d580d527b150ecb7c450e0a7cc57d5ade06a0632", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospf_interfaces", + "name": "plugins/module_utils/network/eos/config/lacp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospf_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/config/lacp_interfaces/lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "a9703e96ab5eda5b95d5c0069333b89dc0ff157359b1fbcdc912e8ee5e451631", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospf_interfaces/ospf_interfaces.py", + "name": "plugins/module_utils/network/eos/config/lacp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ed0e26eb1dcb088e6492841b4ce09c8dee5d5b51e913bb389e155320815b92eb", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospfv2", + "name": "plugins/module_utils/network/eos/config/acls", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospfv2/__init__.py", + "name": "plugins/module_utils/network/eos/config/acls/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospfv2/ospfv2.py", + "name": "plugins/module_utils/network/eos/config/acls/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "27328c3a07bd2e986780dc75d7878de801e937191d77650eaffba9907132ae96", + "chksum_sha256": "1a6be42cb681d771db7a2ed06959b2f4b5efb781ed41358f11c6f00a576ed7c8", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospfv3", + "name": "plugins/module_utils/network/eos/config/ntp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospfv3/__init__.py", + "name": "plugins/module_utils/network/eos/config/ntp_global/ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "5f562cf150ed3ee9b270f26b2f3510c028cf3903686677bf9d1b77c847b61782", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospfv3/ospfv3.py", + "name": "plugins/module_utils/network/eos/config/ntp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e6c8aa3f3c4d5c36cff05e44876ff6e4165c3b8e77195a92d276637984a0a39a", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/prefix_lists", + "name": "plugins/module_utils/network/eos/config/lag_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/prefix_lists/__init__.py", + "name": "plugins/module_utils/network/eos/config/lag_interfaces/lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "1f837132ef6cd38ae6a05e68dcc8f061e77eb811a27df2e763c26c57fdca5845", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/prefix_lists/prefix_lists.py", + "name": "plugins/module_utils/network/eos/config/lag_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2de6d61f47175a1bad0d38f025e724821d8f3a8abfaa646eb45f5c271741d4b7", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/route_maps", + "name": "plugins/module_utils/network/eos/config/vlans", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/route_maps/__init__.py", + "name": "plugins/module_utils/network/eos/config/vlans/vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "731a58d75154de32049ade89361dc64cdfcf2153ef27f37fac8ac21ad9570f4a", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/route_maps/route_maps.py", + "name": "plugins/module_utils/network/eos/config/vlans/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3a8e0c6554ba35f7aea6e59ee77998f6743ecc6489a275a06183ba21a7e10ddd", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/snmp_server", + "name": "plugins/module_utils/network/eos/config/interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/snmp_server/__init__.py", + "name": "plugins/module_utils/network/eos/config/interfaces/interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "0029737e5ba87bb4e877598e76612224530d61ec3bb691e14d5d50c050897fe3", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/snmp_server/snmp_server.py", + "name": "plugins/module_utils/network/eos/config/interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "06d1b755cb083a6cd52d264cd436ff90713c1ffcde2f5ef29e5c195ef0303887", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/static_routes", + "name": "plugins/module_utils/network/eos/config/l3_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/static_routes/__init__.py", + "name": "plugins/module_utils/network/eos/config/l3_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/static_routes/static_routes.py", + "name": "plugins/module_utils/network/eos/config/l3_interfaces/l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "92d12a6d64f821005211e378906244327b65079ea3c773615feada839f678b02", + "chksum_sha256": "02bfd7533ef86f4474fb202a0cd6d710ae65bd35c68b2e25f0c4b3410ea93c29", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/vlans", + "name": "plugins/module_utils/network/eos/config/bgp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/vlans/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/facts/vlans/vlans.py", + "name": "plugins/module_utils/network/eos/config/bgp_global/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "85e3a117c391b5fd5455588997f9b8c6a6ed586ebb510dee3eadf15b41524fa6", + "chksum_sha256": "c81b5c555f1df05264b446bf4697ca1e25ecef7464d10ef217584f34a12ed6ea", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/__init__.py", + "name": "plugins/module_utils/network/eos/config/bgp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/facts.py", + "name": "plugins/module_utils/network/eos/eos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e7331bdec12957b960b8e1951c7acb4fe7e90eb759bc1d77691a3efd97a0afe1", + "chksum_sha256": "779df2cf7e60b4788a6c84848b7fbf892aa12e793d7f1e325cdafbe2d87ef114", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers", + "name": "plugins/module_utils/network/eos/utils", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/cli", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/module_utils/network/eos/utils/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/cli/config", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/module_utils/network/eos/utils/utils.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3f7d9467ef57217864bdc55cd3cf38c58744ff24a124b7cb06f6914adcc67196", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/cli/config/bgp", + "name": "plugins/action", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/cli/config/bgp/__init__.py", + "name": "plugins/action/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/cli/config/bgp/address_family.py", + "name": "plugins/action/lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fe71d209bb4ed7f7e4e527ad0181794be700417e2c338811849061cba130f3c0", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/cli/config/bgp/neighbors.py", + "name": "plugins/action/vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4fd213d8022945b90746aec74e55ce5773f48bc51c770d6770faa5b9edf70417", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/cli/config/bgp/process.py", + "name": "plugins/action/eapi.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4cca1c0a1c00b59bc529674d5fa7c3eab9fc388af4614967a154c7a26a4ad58c", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/cli/config/__init__.py", + "name": "plugins/action/lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/cli/__init__.py", + "name": "plugins/action/l2_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/__init__.py", + "name": "plugins/action/user.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/module.py", + "name": "plugins/action/interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b52006c8f96f10f8e3bcfa90697aee64220c85a152f83ce82d7516cd0a736c31", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/providers.py", + "name": "plugins/action/linkagg.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dac6aa756020d92b0db728480170013f096c87389f0035dff4919334adaa9273", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/bgp_address_family.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/__init__.py", + "name": "plugins/action/system.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/bgp_address_family.py", + "name": "plugins/action/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7a158b0833fa05d798d332873a5400488210d51569035070b8349aeb4ce30964", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/bgp_global.py", + "name": "plugins/action/l3_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d39494947370b65512f0429ce0d3e93de02aae9e7b1c67ba008f884ecabadab5", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/hostname.py", + "name": "plugins/action/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ad569ba6de7f63168a5a8b6dff50abb5fb40e8329ba52c2412408526e22a5ca9", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/logging_global.py", + "name": "plugins/action/lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1c72afc32c41d92b2679a64d953f4ecc008990f8493546ab178d9d5797ee1df7", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/ntp_global.py", + "name": "plugins/action/logging.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5d7983f6f0e9486dc88a68198106c8c6c4b3927f475e2def8b9cebf0702e2628", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/ospf_interfaces.py", + "name": "plugins/action/ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3d4befffd9881adf431f9fd2010568ef349eb1767d4a125952e50932c12a2c1f", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/ospfv3.py", + "name": "plugins/action/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ac269ead5d9b8dfe779208f65d278bf39cd61fcd91cc2c97dd3ea00bd75064f0", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/prefix_lists.py", + "name": "plugins/action/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f4602d1d97809c09f7d472207a6b96b7ac058f33618cbcb5ad5b0ae593935a06", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/route_maps.py", + "name": "plugins/action/interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e5e6c53a56d7346c55caa728299f11f3db706e7be58eeaae274e07788c6ba7c3", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/snmp_server.py", + "name": "plugins/action/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f3173e8c9a9e17aa46121952040721a82b8dd0a14a309cd6a793a3f51f93d9bf", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/utils", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/route_maps.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/utils/__init__.py", + "name": "plugins/action/bgp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/utils/utils.py", + "name": "plugins/action/l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3f7d9467ef57217864bdc55cd3cf38c58744ff24a124b7cb06f6914adcc67196", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/__init__.py", + "name": "plugins/action/command.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/eos.py", + "name": "plugins/action/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fd730a1fc3bd0c5ef0e604aee79afb799d0d15f0e201252043725bc44435866c", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/__init__.py", + "name": "plugins/action/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/__init__.py", + "name": "plugins/action/config.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/eos.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/__init__.py", + "name": "plugins/action/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/eos_acl_interfaces.py", + "name": "plugins/action/static_route.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dffc5b66412ba048c9b4ef4bcc0f27af5fe2f805485450da661963b7980b86bd", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/eos_acls.py", + "name": "plugins/action/lldp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5e066de071b7fac7aa304dd9051389d29d6d814c8e84ff1518532457a3f49cb", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/eos_banner.py", + "name": "plugins/action/l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c9a40fe93e2835e8e2ef138f63de065a737fee2710b108b7ac7c3fdbba5002a8", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/eos_bgp.py", + "name": "plugins/action/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "81f6df8f4bdbb49dfb362cb4f6f1be725eb58880d0fd130912c064d81392abc0", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/eos_bgp_address_family.py", + "name": "plugins/action/lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0855ab5e39574228ac20e05bde1e0460931a1ec0fbe1fd274fdf0ae567807019", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/eos_bgp_global.py", + "name": "plugins/action/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "335586e03f0a9b8a6bf3329f90639eb32b0b78a4fd5e64bf4b95eaec4642545b", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/eos_command.py", + "name": "plugins/action/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5e2e3b77e337f259e6d98b46923b363fd56caae339baad75426ab3a299257eb5", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/eos_config.py", + "name": "plugins/action/vlan.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "928d6defbd9036ea351ee30c67cf290ed4894036068ab5fa5897bfc9c7a00feb", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/eos_eapi.py", + "name": "plugins/action/banner.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "10baf8783de260b3d4987837a488e162374fd5f7ac46a436bdc902f54ada4675", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/eos_facts.py", + "name": "plugins/action/vrf.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6d1d2227f9c1a7e65f7a388d06631dc08f45ca6f4f58f44011133f5fd5c8f79e", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/eos_hostname.py", + "name": "plugins/action/facts.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cf0e35f2b3765bb25d5950e6c91681ded597c31faaf3eae64afe445d3fbb72ba", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/eos_interfaces.py", + "name": "plugins/action/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0f7f0c7940992d72766effe9fbe5837351911b7c39c68ac510d2f49202627a60", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/modules/eos_l2_interfaces.py", + "name": ".ansible-lint", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8554efe1c6868e5d68b76e9fecd4835978403942c41b66b46d0ac96f272d4b1e", + "chksum_sha256": "b47f72e159f93a5ff07ea2534752e0fa977b214e9ac05c667fa83ac13be4e50c", "format": 1 }, { - "name": "plugins/modules/eos_l3_interfaces.py", + "name": "test-requirements.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0484177d5f87109f6890c88a76545832eda63db662a0337fd27366fec66976d8", + "chksum_sha256": "e8467be9cdbc47d5456dc3d15b1fb6821f730b7e4ceafac79bddf466a38eb053", "format": 1 }, { - "name": "plugins/modules/eos_lacp.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b120e44e4f4dcb6b3b0e0b5323a54acaeeade4d05ff579f08fc30af69550ca87", + "name": ".vscode", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/modules/eos_lacp_interfaces.py", + "name": ".vscode/settings.json", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "35545f0df6e96f1ad2747ad9e6782b100ca571b354a2c17b99d55e378ce9900a", + "chksum_sha256": "689cb2b210cace81743b1da8f00db7a4a7027b193dc85b17be2918b6f9977bfe", "format": 1 }, { - "name": "plugins/modules/eos_lag_interfaces.py", + "name": "tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/sanity", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/sanity/ignore-2.9.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3fc25733ebca35a7d6ce3eb49255a0af16a3091b86069e955f8faf9fb3158c56", + "chksum_sha256": "8c562d6941e7798adfb9f88ff0791f32d9e867dcd22292a4d8041c32585285a1", "format": 1 }, { - "name": "plugins/modules/eos_lldp.py", + "name": "tests/sanity/ignore-2.13.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2f477f9e4ececee706fcc9de764dd76fabfbc958b608034bbb6c556e92af836d", + "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", "format": 1 }, { - "name": "plugins/modules/eos_lldp_global.py", + "name": "tests/sanity/ignore-2.11.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ec639faf3df0ff7bad3856d6fc62ba7c9540353eebf8739789d6e5a564eb8f6", + "chksum_sha256": "7c9647b2dee513f57df36fee1897a54856aeba3b5fed24f2b7d6612b225ead63", "format": 1 }, { - "name": "plugins/modules/eos_lldp_interfaces.py", + "name": "tests/sanity/ignore-2.10.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "77926d1a7170487fb7a35933005bd3aa6739136d79ede07eb31d4c28041af86e", + "chksum_sha256": "7c9647b2dee513f57df36fee1897a54856aeba3b5fed24f2b7d6612b225ead63", "format": 1 }, { - "name": "plugins/modules/eos_logging.py", + "name": "tests/sanity/ignore-2.14.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "06f0cc89d0706a8fbd34eed1f3b549471920309589d197ee5eb813cc94242096", + "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", "format": 1 }, { - "name": "plugins/modules/eos_logging_global.py", + "name": "tests/sanity/ignore-2.17.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "533c33b76192e2e20cb6f68edf1d2faefaff522de72e45b039a6592db7f75a5b", + "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", "format": 1 }, { - "name": "plugins/modules/eos_ntp_global.py", + "name": "tests/sanity/ignore-2.16.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "652d06cea3f84829516fe5b322978e5883602c6efaf597d64aeb32e0308f3451", + "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", "format": 1 }, { - "name": "plugins/modules/eos_ospf_interfaces.py", + "name": "tests/sanity/ignore-2.12.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "df6a85528f7ffd00eff97da8786683a980307dba93805e32eb6860f2446f0ace", + "chksum_sha256": "7c9647b2dee513f57df36fee1897a54856aeba3b5fed24f2b7d6612b225ead63", "format": 1 }, { - "name": "plugins/modules/eos_ospfv2.py", + "name": "tests/sanity/ignore-2.15.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b09a1369332f58f635a167116a34c98c5df0402a648f6c9ac865219ee157a416", + "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", "format": 1 }, { - "name": "plugins/modules/eos_ospfv3.py", + "name": "tests/config.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0daf72a054da083ded9df445dc2c5f2a0afcdc4c158b43db0974e54beb66b239", + "chksum_sha256": "de5087316490411841c67aa3307cfdd3acaea09875c9b4dee6852bca7c120764", "format": 1 }, { - "name": "plugins/modules/eos_prefix_lists.py", + "name": "tests/unit", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/unit/requirements.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "777a6b476c1259c21b82f9b4dc2ed44c824274e7150aabe83938731f4654072b", + "chksum_sha256": "49ba996dc4735c3463e9af561344346dfae14bcc1a68096ce78364b377f0df1f", "format": 1 }, { - "name": "plugins/modules/eos_route_maps.py", + "name": "tests/unit/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "303a4e384e71fdca3b52f78bcb0b659a51ceff2709f49c106671498dc99e762f", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/modules/eos_snmp_server.py", + "name": "tests/unit/mock", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/unit/mock/vault_helper.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "16385a6a853ef36ac311ec2067ba389ee85a0cef5dcf0662643836a963d9ff70", + "chksum_sha256": "55bd0e924dcc22d050612c944bff0ef745e51faac9260dce9b9b2018c4c8a661", "format": 1 }, { - "name": "plugins/modules/eos_static_routes.py", + "name": "tests/unit/mock/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e97fdb21e12c56449f2be0df87695c8fef7af503c532499d7642c3bb89cb58ae", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/modules/eos_system.py", + "name": "tests/unit/mock/procenv.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "613e0159ccaeb41f0df5ead02effe8c4639cf5905d7caae648f031b972fc68c8", + "chksum_sha256": "d0f54fd298f7888bfada6f867ee0f883f776a368916410abe2e5d31b8d17faec", "format": 1 }, { - "name": "plugins/modules/eos_user.py", + "name": "tests/unit/mock/loader.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "56320fd94aaa4e7537f5443f99f30b3e27b6c5cfbcde91c721f585df7b3ad04e", + "chksum_sha256": "bea80cf14afd91d02e652a3a395bed3d74fdf373d12d5af6a41daf5516646663", "format": 1 }, { - "name": "plugins/modules/eos_vlans.py", + "name": "tests/unit/mock/yaml_helper.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1b4ba58768680a041addb0599fb365c19d2407b8b015d5676ff66aa05ae413c6", + "chksum_sha256": "4dbe503c0585b634f72b82eef6b9f8d078ae383ed865bb016db31992dac97600", "format": 1 }, { - "name": "plugins/modules/eos_vrf.py", + "name": "tests/unit/mock/path.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "43852a94548a65b760502abe46fb5cc4af0850bc31d250fb8e1aa4411c728e94", + "chksum_sha256": "44b6e5b20c52ab9f4f57eaf79948d7ce9b6fa0546ae7d103abaa3bbfa66c5f19", "format": 1 }, { - "name": "plugins/terminal", + "name": "tests/unit/modules", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/terminal/__init__.py", + "name": "tests/unit/modules/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/terminal/eos.py", + "name": "tests/unit/modules/conftest.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ea1b198625696b314fb39b4f4db5dccc2ddc22d89fdb75fd0ec58ee3c2bb241", - "format": 1 - }, - { - "name": "tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "e0ae70fa7c2a5e56d7f02a47c3602398cff60c8eb021772ac59a76df2a234048", "format": 1 }, { - "name": "tests/integration", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/utils.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1e9c58b776c4d76cfc671ebfddb1a290a50af7dd0aa1b69b2ad1c5ae1b2545b7", "format": 1 }, { - "name": "tests/integration/targets", + "name": "tests/unit/modules/network", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/defaults", + "name": "tests/unit/modules/network/eos", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/defaults/main.yaml", + "name": "tests/unit/modules/network/eos/test_eos_acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a79b77c93a1982c2682c177681bfcef5f3fb3421e3ef10be452fc81dc3ce8871", + "chksum_sha256": "dc656eddee1d1e7d1e19f853e822ddd2e3278e8bbd2d3b3b3dbdb1b92ef881a7", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/test_eos_ospfv3.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1041888b1a9bc1959250af27978e23620b8ed9aa14db113d338643394461e0f5", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/meta/main.yaml", + "name": "tests/unit/modules/network/eos/test_eos_static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "9bff61e7421e9ead114f758cedede3e348e783e5b8962a4efc1737926a95a319", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/test_eos_user.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5c25ffa2c6c9151aa2917352cead5c31e710b989f478cbf1b2633414d8267d7c", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tasks/cli.yaml", + "name": "tests/unit/modules/network/eos/eos_module.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "b3f4714ae9af0063ed76f955c15e8492b3f7d69ecc52b3c1e139f49f2a0ea4d4", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tasks/eapi.yaml", + "name": "tests/unit/modules/network/eos/test_eos_l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "f0cd14e440fa9fde8c41f357b4349ecfb990b3e55079a95ee85c1047adf82bb6", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tasks/main.yaml", + "name": "tests/unit/modules/network/eos/test_eos_bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", + "chksum_sha256": "82670df14b058649c33891ba1a4c3bfdfda6ef39a1d199244626d9f051bf6675", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/test_eos_command.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e22eb99b373411967bf240388b482c5bdfe4448b00f963a6fbf0081517bca097", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/test_eos_lag_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cba4b3add8c9d73648c923686cef9d7f824fdc4e73df92e831265b2e809e1744", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/_parsed.cfg", + "name": "tests/unit/modules/network/eos/test_eos_ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dad0f95e9549bce843069bc4584803994e2549a64e70c6d844e5d37e41190630", + "chksum_sha256": "80ac2358e9441421006c95dfa8e0cde4fb72187c00abd27f1e90ffa887663365", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/_populate.yaml", + "name": "tests/unit/modules/network/eos/test_eos_snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4cfbb7d9c017eea2318fb53edf60ff9b83e6dfeccae2d6bc85f16d05d33a7ff0", + "chksum_sha256": "a8a1c34ad13c8b2fc1094b04fedd2d647e7dc8a5f067988a4739b3d84c076a29", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/_remove_config.yaml", + "name": "tests/unit/modules/network/eos/test_eos_lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b87b082bd1a6efb8a4fcffbc804615955068460aa128235e5bc6833b551be9b2", + "chksum_sha256": "70ae233aea97e698eecf3bd6bea988be6424762c798f685fafb45c23a850b75d", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/deleted.yaml", + "name": "tests/unit/modules/network/eos/test_eos_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dfc9f3e78036a19826feccd2fad6679dd22d05d44fdf5226540ce1f29256f261", + "chksum_sha256": "6268f4ef47c8ae2582c0a4493cd2dab406ad317073fa51d33db5363714e991b9", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/empty_config.yaml", + "name": "tests/unit/modules/network/eos/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e304de25e98dfbbd3e8b884f6478d7b841a022b232febe94380f256a50a51557", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/gathered.yaml", + "name": "tests/unit/modules/network/eos/test_eos_bgp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e43043f8a8c88832634fb29c4839abc2be35598c34df4a953d0eda562a90c78e", + "chksum_sha256": "46cf0755d9c960c529dc800d9d05a42491ab167c1a5308c0b7ae11f04e1c8715", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/merged.yaml", + "name": "tests/unit/modules/network/eos/test_eos_acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1668ec34e8d2f67dc611925ddf3b4f00ae826f0a65c72d939a8b1046d64c873d", + "chksum_sha256": "8c8ec6d225cf7b4fe555df3f8b0496cbc214d8cd7d0eea0077e7b6939abc593c", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/overridden.yaml", + "name": "tests/unit/modules/network/eos/test_eos_l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1f5be632f4525a5de8591f6aa83113ccf37fd9cb62d0f5b6ef4c62dcfb1c6fa7", + "chksum_sha256": "02074974c27359bbd52ba8d27eda47a1c212abc5bfb2189e1384b34698286f8f", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/parsed.yaml", + "name": "tests/unit/modules/network/eos/test_eos_ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "86b04f3482cda3dd386cac6bd225865c4f3637845bc2b38165814e6c89bbaa2a", + "chksum_sha256": "8815ea63958a8ff0e2be4f247efe981ea816db5668ea2f6fe15cd719a863e875", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/rendered.yaml", + "name": "tests/unit/modules/network/eos/test_eos_vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "876b6b7da3c239e569da81974334a14293ce92683bae9643239bcd4bb083c94b", + "chksum_sha256": "6867734a8347edfe2b6ec59b80effe6cb821ed8092009502476b9f1bf7dce55c", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/replaced.yaml", + "name": "tests/unit/modules/network/eos/test_eos_logging.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0d3dca47353e80e36f629fd572a1b64e2c49dd75d82bf4ab28fc53634d33803b", + "chksum_sha256": "c2aaac1a0154b77aadf3845c8222783d731cec4595c5b795c9d10654d54449de", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/rtt.yaml", + "name": "tests/unit/modules/network/eos/test_eos_lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f2b15009df3b8b2bd9936379027b7f544a9c81a23e5c33fb9847b25a0b54645c", + "chksum_sha256": "606176c03a6d9a7e8414b4b432cb09112c00727e2fad9af2a5409a70faa4f040", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/test_eos_bgp_address_family.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "95e130c9d56b7b425c88a68932ae20fe75971f08455030fc6597f92d9bf7b666", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/vars/main.yaml", + "name": "tests/unit/modules/network/eos/test_eos_route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8631d3b93d4bf6c66a2d3f5e5c11f188f364dc3a36a4bfa5614a51a045a1d49f", + "chksum_sha256": "64c5e7252ff26e97a830919c94b339097fe2efacfded5072b7c47783deae9bd1", "format": 1 }, { - "name": "tests/integration/targets/eos_acls", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/test_eos_prefix_lists.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "dc8288bf978fd5a41ce1b5ede8df2cdeb53e034fca88e864dd1384c31df0fb8e", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/test_eos_lacp.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "50ed02ab288dbc74ddcf9c0d1b22f3871f21ffcb71a0d22c8b5c023175c31510", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/defaults/main.yaml", + "name": "tests/unit/modules/network/eos/test_eos_config.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "2226be54468edd007e582baa0bb937f2ad19460b0904084500b632388f55bfc4", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/meta", + "name": "tests/unit/modules/network/eos/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_acls/meta/main.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_eapi_show_mgmt.json", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "963dde77e29e22955f66b6d4a4d880c327419e3c719556219b19cf2d9d515c07", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "7011ff501cdde31949153491b1f1092e8d8afa6a27510ab594deb1504403c2d0", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tasks/cli.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_config_config_updated.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "123f47356786e4facd8bf8169639c0286878d1ad6e37b71c283d8729848ee841", + "chksum_sha256": "199f6fddff67988e4e15efde118949a06623ac6cda6cc56a43110fab3da655d9", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tasks/eapi.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_eapi_show_mgmt_unconfigured.json", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9f3757d49c81f01e6fdc9ed127fe45328fca0d8bb2871cf5277a0af7f27ea533", + "chksum_sha256": "09f3bdc48ce35e7200a5a5da2f2722dff46de4bd8ebc1d1718fa4ed7a08310df", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tasks/main.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_l2_interfaces_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", + "chksum_sha256": "501ad2cead9d2a90aa7529319befbf62a4f58f7988995788c5206c90fbec5afc", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_route_maps_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "64a5a2e160aff448bb567d8d4fdba4c3231f85ab0b44e2f596fe2784148e8554", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv3_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "97763a63f53b38b8c864ed38f800e4270d600065cdd4acde805c3b1ca384e6b5", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/_parsed.cfg", + "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv2_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "25852caa484a525b76e22e5d7a3b3e342764303140a98f3c1c9f15dde4231776", + "chksum_sha256": "c4e0126af072bca2ca99eb356d26868e44adae27ffa3622f54fc431122e66ace", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/_parsed_cfg.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_lag_interfaces_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6dcdb52677d56b4ae0290de99c8cd013fb1aae46a1a08e59c84d8f15fffa7205", + "chksum_sha256": "996743ab19a23f6fbb30754d1f4beb2911c6b4ffa69a28665dfc79b5ad519b65", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/_populate.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_ospf_interfaces_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "adf72055e9bffeaa9a7d332e77898a2ff6f1748eb02046d0867c907601c72cc7", + "chksum_sha256": "2c664a8713d7ccd543333cca425528c1726d6790b8364bdd6a5e8720ce4183be", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/_remove_config.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv3_config_gather.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c567c0a070d35ae7dc0def99be6a57bdf14d0485dd785e72c4c9e192c98d12ec", + "chksum_sha256": "091b340fe2578196b84cd9b133d0cc01e479a27a12caeb2a796355c571a39cb4", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/deleted.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_config_candidate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6688f31ad22c98409e9af72340492edcfb288cef4d3c30037ed424b886cf634e", + "chksum_sha256": "3352c8002ead9454c96fa97e82bc2bf245ac57a69edbf8a934bed4ef809de3de", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/gathered.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_acl_interfaces_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d9b49e9cd0c20334e2f3ac1aaa7cf75fa51acfe5d2d47b60d35d77260d77b145", + "chksum_sha256": "29bdd16b7032ccf6dd42d4c2e78ebe00aaaf155ea7f5d9049c638f742478f312", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/merged.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_static_routes_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8ae640e0d6726b443b36e33c066555aab81c0c865d21f92a9218fb449839df17", + "chksum_sha256": "9de7fbc93c152431ec2baf2f7c8ba736ced12148e8bff2e7b54eb7dd39c4b04d", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/overridden.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_acls_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "161b63801d5e2e1ed876dc6929ab54c7f2f89bef189ab4b7f394679b6561b244", + "chksum_sha256": "c58fb25414acf3b04a882b8172c4c048c637b5906670a1c3a5f36e8a3aad0380", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/parsed.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_l3_interfaces_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8b73e35944c74b107af433bbcc6e7b7c4cf64f928a29dadffa1f8d469c1c6d25", + "chksum_sha256": "0989f0ad8aea46b6b4b7111aee264687387c44e8cc68154f8d9c054d22581d1d", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/rendered.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_global_af_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "50f9aa1e9a9c7e29fc6efd923caa8cfb358bbd69417b539d2ecd978af5e1519c", + "chksum_sha256": "dd5318703b4822b5a27eb24bb0d1898c7e5559e96151114784e5a5e92d07f535", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/replaced.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_vlan_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "02a799009a3c14748b28e1ca595ec784e16f7589e3d08786991775bb73edc628", + "chksum_sha256": "6e71249b2afca7c80191a77d86753e21419042d51d570de0b3c717a204f01400", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/rtt.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_command_show_version.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0659d10743e2796f81f48bae653e0cdf722e3999e7c2593453290fd0eafaf63e", + "chksum_sha256": "cd0ee8985d66e4cff1ebeff617108414d701cdb2acebf9327329f62e093f7062", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/vars/main.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_logging_global_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4ac57542e8c5b785dac916943f46c3166ab7e8ed158541a5f38c8d83ba8247c2", + "chksum_sha256": "616869cf79f4faf6f64276e039fbcad728d3e012eba2073b118b0296d9334013", "format": 1 }, { - "name": "tests/integration/targets/eos_banner", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_lldp_global_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "41eb838c679e2fd974f15bd92461a1627b29a0f2b8b1c5a5c3fef8a472efaad3", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_interfaces_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "05edee2806d57e1a907026a24ea0fd51582008c1d24b63c5fc1463e86204683e", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/defaults/main.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_ntp_global_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "1c841ab014af5105c26d977cfcac4de50919a8537bf632698f95e5ea5f2b5c0b", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_global_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3cef54b0f53689ccdd9a9de7e3d23fa7fa591582506b438f1b628752b5b0847b", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/meta/main.yml", + "name": "tests/unit/modules/network/eos/fixtures/eos_snmp_server_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "955317964226d2639660f6006be99a9c1d67e3a8dcea25ba7b2c4a569059a4f9", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_hostname_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "55cfe4746ef24943eac865d5b0fd9b6a6884e0e529983e253d5764175c01c6e9", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tasks/cli.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_banner_show_banner.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "chksum_sha256": "dc2e6349862de27bfb1d50da78684b7b6320c6c8626a7ae378ce07852d64f984", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tasks/eapi.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_lacp_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", + "chksum_sha256": "5a89a5f03e68185c4a50f5410ea4fb04caca756685c8d906c1b4558fa52896aa", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tasks/main.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_prefix_lists_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "ed6dda06d2158651429f03d9db644514e20f89e6d3c58331fc09e059c76a22ff", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_eapi_show_vrf.text", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a43e222ce4d0e6aec92afabb2d5ff7f6cc7fd96ce4e055b6ffc02ad1492373d5", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tests/cli", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_logging_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d35c0e1702f10694008ce77f2d405c569d3745738fa4ceab306cdb638f5b465d", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tests/cli/basic-login.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_lacp_interfaces_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5a6ff4ad57df259c1322d52be030e6bda317af6738e2e3ebf043ca14b5fc9d64", + "chksum_sha256": "414cc25eb0be567529b328993c191ea1f282c2620ff5f45b57462ec7e950ddca", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tests/cli/basic-motd.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_af_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4b2551d785983506768deb63cd2f8ba8ae35c5e6ce5eae18e340fd75291e390a", + "chksum_sha256": "9cfca9294069868122bcad8e9a7bcfdfd6101949fd9959ec32766b682f635a68", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tests/eapi", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_config_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "03abdcaedc2f739a12fd1c31f37164f02ed471aff024ad8e654a0d7ec3e611e6", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tests/eapi/basic-login.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_user_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d7cd4bec5ba015f96ac020675f8b4a256dcc1e2bdd9f4b59775237acaa8d809c", + "chksum_sha256": "2b11830bd90b2c0e492cba03f0af73a5229a4723e47959812544961bde1ac438", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tests/eapi/basic-motd.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_system_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c8e94533c27b7c01e870af443aae37c16cb5180e86658a8de5a2a6b5599efb97", + "chksum_sha256": "d1cb12a14186402c703d639d484b7ea9829e52f9159afac4f7779bd396f5e43f", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv2_config_gather.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6271cc911105743891d46bde906d969ad2ce562d8bfa9364d845da33cb9c3bde", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_static_routes_config1.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "22d8eb393f411a1034b6d77b5137ca205b1d01b09a6488c5c30199145b99bf7c", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/defaults/main.yaml", + "name": "tests/unit/modules/network/eos/test_eos_hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "d475c839bd9eec611ad9226f604113e43f3ee337f7ae1fa839a5cd7812c74d99", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/test_eos_ntp_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f5c329f3a991e1aef099556f1b128a6d31e6bc16c160c8df7ac9c311278c6a3d", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/meta/main.yaml", + "name": "tests/unit/modules/network/eos/test_eos_eapi.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "55469a55bf8e298dc208f9a8d85fe7a50d4b0e38979b1e8e68601b04455ad5a3", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/test_eos_system.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d70923c1e52358c5aca24ec7db07df4fc7f35482f9167494f5239ecd8b835ff9", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/tasks/cli.yaml", + "name": "tests/unit/modules/network/eos/test_eos_logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "chksum_sha256": "2a4e09637aeb8e41fbadb07cd02b0006f9a5c7ca1404ef912177a383f9e3a614", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/tasks/main.yaml", + "name": "tests/unit/modules/network/eos/test_eos_banner.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8d0f3e120b5e0f83314d06ed429b515b98e122ebdd4111b4e5be0bf09098877c", + "chksum_sha256": "53e44aeafc087453c5a441b201e08dd8b11058cfc88f0b89fa60d9afaa8d2e44", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/tests", + "name": "tests/unit/compat", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/tests/cli", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/compat/unittest.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "727203a3846be41893b78a4b77852a1658925e936fb19539551958a5d8e8fb81", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/tests/cli/basic.yaml", + "name": "tests/unit/compat/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bdebd0673be1e39039dcb426a889e569042dad0c5cb7b2bf01ba68d7091b894", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/compat/mock.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a4e0ca26e6e2982bc40db782db3a0d4950e8c5a749171c0da22c27c85acd23ea", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/defaults", + "name": "tests/integration", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/defaults/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_bgp_address_family/meta", + "name": "tests/integration/targets", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/meta/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_bgp_address_family/tasks", + "name": "tests/integration/targets/eos_lldp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "name": "tests/integration/targets/eos_lldp_global/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_lldp_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tasks/main.yaml", + "name": "tests/integration/targets/eos_lldp_global/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e40fe291a7e7d70bd846b4acf8f4a1a465948b9a02b037d9b0fd0a4193055baa", + "chksum_sha256": "f53f0ae420b815a40999516a0df43dbf6be6478362d4fd00f938647cd31ea997", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tasks/redirection.yaml", + "name": "tests/integration/targets/eos_lldp_global/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7b61bd7a713c0b9735361ff90fb07b90d1b4fb97b9c822c2c979bd6eb82b892c", + "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/templates", + "name": "tests/integration/targets/eos_lldp_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/templates/populate.cfg", + "name": "tests/integration/targets/eos_lldp_global/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0b889f292c92b4630f9cd7f3ff38826eb0db4f2937fc2f9e5af1f266245cca74", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_bgp_address_family/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common", + "name": "tests/integration/targets/eos_lldp_global/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/_parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0b889f292c92b4630f9cd7f3ff38826eb0db4f2937fc2f9e5af1f266245cca74", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_lldp_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/_redirection.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6ed262f5f0ecec25b856f900c3bf6d2b460b8988d495e8b8bd2a94be0e4b136f", + "name": "tests/integration/targets/eos_lldp_global/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/_remove_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "36c8fb15c11b0806cf005745d3430a56d953e9f6780a7cef5aafd2a09a0535ad", + "name": "tests/integration/targets/eos_lldp_global/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2d367a172a6119e19318a7925d0f93ab844f3285d5e7818894d5754dff1c3879", + "chksum_sha256": "b4cce5198a2d66a44e8775b311ff670c877aed0d7d37c5f7b43d843f0f1e1f08", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1e8015071f7ffcce80ad0ededdef7f16e73a69a32d9f045d358db22e27e0bc37", + "chksum_sha256": "4ac4431a75c62d1a70050d834f822be901e87b57cf6178b14069bd0dba8a95fe", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5a72b2cdd640e76fd8cebc5dc40db9e7f021f219a006e0e202f38753e67f3e66", + "chksum_sha256": "44cb429ba9a7352289e7ce9c1f1b46965ea1c360510d031c554472b04012c4ae", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b2bbbe9bb69931adedbcb614bd349ce9dc7291f38b6dfa81420db786051dac73", + "chksum_sha256": "61363b2fbb08af548968fd3bef7e529f5f1a15d59d8c36732c9a430488d4d2ff", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "19423e7d29df73b400d5b47fea1fce275bcd2b04d184470aa5659097038915e1", + "chksum_sha256": "0048d6a4374fade15d938c1d79b79eb8b3d95500fe31a55b8e2509b3fc39cef6", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e6039629f8dcaf5a5985dde73f3aeadf9a238c6bb09cba2cf52953fd33d75fdf", + "chksum_sha256": "13d7c23ac9137d74bd2614020c8d8c585f3fb9ae30d53d8a120a1abe168d47d0", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "501991afb657b98d52a6b17858e19fc4def44d6fc1b308af9d9339ed9b1bcbfc", + "chksum_sha256": "ecfacbd7e8e994b8e1ca0db698eb1226a9f0cdecd0bc4dcaee71466d7fa237b3", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b772bb07168e677fd6bf5c7cefdb28b4343d2c51f4463422e7b6a0cf9959f327", + "chksum_sha256": "97c3ee1287e7584f46521ddc1bd32b3f6928c6f0c2f30fb00ded22272649ab1d", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "768a7c9e05c637f812712a5de2588a2fae4c9296e89f082ef30ce5efefe0939a", + "chksum_sha256": "cb37329f298bade2c13b44af8e8036f83bdda812f2acca9eead754340be8d829", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/vars", + "name": "tests/integration/targets/eos_lldp_global/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/vars/main.yaml", + "name": "tests/integration/targets/eos_lldp_global/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "80bb6f23199fee8ae2ed4149e4706e9a23f0b0093a9f03c982fc8f3590919fc5", + "chksum_sha256": "2e8be33a4b8c4f6ed1238e648834c66b382d5d0c9638b2aaa15d23e5433e181e", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global", + "name": "tests/integration/targets/eos_logging_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/defaults", + "name": "tests/integration/targets/eos_logging_global/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/defaults/main.yaml", + "name": "tests/integration/targets/eos_logging_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_logging_global/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/meta/main.yaml", + "name": "tests/integration/targets/eos_logging_global/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tasks", + "name": "tests/integration/targets/eos_logging_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_bgp_global/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_bgp_global/tasks/main.yaml", + "name": "tests/integration/targets/eos_logging_global/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/templates", + "name": "tests/integration/targets/eos_logging_global/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/templates/populate.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cbb352548a62d123453d921de875e2acb84594a405ddafe0c04460de66e62928", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_bgp_global/templates/populate_af.cfg", + "name": "tests/integration/targets/eos_logging_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a890c9293ff8120b194c107a6f70bdca6d62433ed701398a8214feaecb42bba6", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests", + "name": "tests/integration/targets/eos_logging_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common", + "name": "tests/integration/targets/eos_logging_global/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_logging_global/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cbb352548a62d123453d921de875e2acb84594a405ddafe0c04460de66e62928", + "chksum_sha256": "b2770a4c9d78449e45cb039ca95cc66215d4b5fca8aeca52e28280daacb29ee5", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "653a99b2d157d5894d94aacc19083fc14c76b23077a390c15c6c6ef57aea62f5", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/_populate_af.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f02550439ab2971f3dedc3958ee676bf2f3dd53532dca527bc619cf2f1a1d9e", + "chksum_sha256": "61de4747e7132e7d8e54ec9eb6443f26e2896927739607b0dc6074d5369beae3", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "36c8fb15c11b0806cf005745d3430a56d953e9f6780a7cef5aafd2a09a0535ad", + "chksum_sha256": "7c490f97548080abda0e8ebf836466a8a6bde8787bc433c6223ba3d59fd42170", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4d04fc66d72fa6c188227956f100f60c5653c829ef71f493379e1aaaed85fb60", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5d8689ef6e49ccbba62ad1ebc44268ac6d8f82c7f001b21251b5d09c7ec7d32b", + "chksum_sha256": "f7ae7444cf6cc04a2541fabd62ec1667d165cb39ce0b7d171f6efac9e4bd7638", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5c0343e2441998a70cccd7a221674cd22a585a30cb660edf3089ac0b090e798f", + "chksum_sha256": "a3027ab685c832aec9f4b8cfa8e26cc8589f25f9fc802b246d3935ab7f1206c5", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6fd9e647d40d57feb5aa630c4ad460edcc0a5053310451f19ede0fd8d741ffe3", + "chksum_sha256": "1340381f48cc0d4caa0403bbab7b72de9484ba5fb9efa952068ef9af8234e596", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "de7a1434091a39ef8cc7b4dd5439d3b37ae5b77a68f90ff04d5a83160cdbfc9b", + "chksum_sha256": "04ab08225d0e0b263fb06ebafa021ee73c6117852c370d5266d36a5c13fff449", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/purged.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c4383c852e0367d67b96145d03829375611f90a60fa91aebf9ae41e7f8de1d2", + "chksum_sha256": "5776e2445ac71c922c12d4f1a1aa667a2c824a3e4e6653bbe6f834a1da2dec19", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "58ef58d4be3aa6e9478afcdb9010c490d331d3523a5d4804a0a68f3d1555d9d9", + "chksum_sha256": "108321fdfd99cdb6ff1b98da4741aa931453d409480f06c8c9af67e1aaae93e9", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/replaced.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c43d6297de44a8d0ff51684af71b0f6837eaaa5d475561572902e6683b194247", + "name": "tests/integration/targets/eos_logging_global/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_logging_global/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f749361ee14f98e79fa6a1f95335d7c2e66d2c28f517b1852b5b7f4cfbb9d429", + "chksum_sha256": "c2b71c8e8843f1fa24e2f0bafd6c1bd7880c076e0f5ded8086f8ac71f46955d6", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/vars", + "name": "tests/integration/targets/eos_logging_global/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/vars/main.yaml", + "name": "tests/integration/targets/eos_logging_global/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a1c6b658736d10bad13d5b973aa9955f414ef50fa30aa23a890374ab544a2f3b", + "chksum_sha256": "0637d1b53afb46a8eec79f5c0763905f7f7c182db42f823402261479d71fae15", "format": 1 }, { - "name": "tests/integration/targets/eos_command", + "name": "tests/integration/targets/eos_eapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/defaults", + "name": "tests/integration/targets/eos_eapi/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/defaults/main.yaml", + "name": "tests/integration/targets/eos_eapi/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_command/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "8d0f3e120b5e0f83314d06ed429b515b98e122ebdd4111b4e5be0bf09098877c", "format": 1 }, { - "name": "tests/integration/targets/eos_command/meta/main.yml", + "name": "tests/integration/targets/eos_eapi/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tasks", + "name": "tests/integration/targets/eos_eapi/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/tasks/cli.yaml", + "name": "tests/integration/targets/eos_eapi/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", + "name": "tests/integration/targets/eos_eapi/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/tasks/main.yaml", + "name": "tests/integration/targets/eos_eapi/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests", + "name": "tests/integration/targets/eos_eapi/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli", + "name": "tests/integration/targets/eos_eapi/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/bad_operator.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/start.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7519d9b6d82234763393ccb21be1c3b1aee3457627c963bddb6db8ddb11df7ea", + "chksum_sha256": "66702395e736d29c01bdfcf6f45a349937108ce757696dde4cef46ca1986ba7c", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/cli_command.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/stop.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "da86906ca5b2fd63ecc66e426e89f951058a3c90f0e9fd36accf6001837fda25", + "chksum_sha256": "70621105e0b6c97e34047f0ce8408da1cb5e03868c8678df2f28bcf817c57527", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/contains.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/vrf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e4e02af125647f0d0812ea8f3d43e8ca78a8ba11e4a572c39a8a061f836aada7", + "chksum_sha256": "64545c869099218860beec3678baf8209b39d66a5841128afafc15775a6e9eff", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/equal.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/configure.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "762cb51b120a123a9af5a8256b45ff6103bf26624e6425e4a8b42c1c34cb70df", + "chksum_sha256": "6efb0ff5e69c8eb46e1101343bc93272549578ad68a74fede9781a99bfb5983a", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/greaterthan.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/off.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "84cf8932e41d9e08041c38f84dfb9b1d62680abc42a4b645245ef5fd365b362a", + "chksum_sha256": "593ed779304b25cb537ca13fc88e95a91a938109f5d5f9f6722a29f37573c040", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/greaterthanorequal.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/zzz_reset.1", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0410c3b348dcd910c449696a7ca05847e90d4e9d0504287ef1ede60d9f526308", + "chksum_sha256": "01cd53e28355e0d65ba10accb15c95a17f824555796003f0225d7879a40382e9", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/invalid.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/on.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b5fad1e7df8589dfd24573eb51f93dfb513d5fae99d434fd92edeb5ee1e96945", + "chksum_sha256": "626f6ef04d9b5eeec3c2633d9517c0c632fe4b758470326278e7df918eec58c1", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/lessthan.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6829309ca8cf687d623c0c9f497e1f145aea6dc7df99c832174e549c18c83620", + "chksum_sha256": "37b279c3fc0c94ed140a3e3890e309424710bcd35856f31b4211d5e7841f4656", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/lessthanorequal.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/badtransport.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "02dac1c05e69cfe6e0db11694305e27d5cf5c18b916c83725145a01c45d151ce", + "chksum_sha256": "1620fab5693bd0fb373e2d53372188eb73a2fe5a3d389b11052ea42df490ee26", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/notequal.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3bb2dfd7a6a694105573c6eadaa72f817458acc9dcb0dd0a1a854d319d09cef5", + "name": "tests/integration/targets/eos_snmp_server", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/output.yaml", + "name": "tests/integration/targets/eos_snmp_server/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_snmp_server/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c4f066d2e8544080a5cf534d49cac23b6af9380724df99f1ac2ea601fdae230d", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/timeout.yaml", + "name": "tests/integration/targets/eos_snmp_server/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0710688d24996846459569d49568102b47517ceb62da0be0168f8f4cc10744b2", + "chksum_sha256": "2d8c084f757657a7a323a0fd6c49fef789d8ef373f770fb46f864563bc23c4ef", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/version.yaml", + "name": "tests/integration/targets/eos_snmp_server/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7e1ca984e5d0cff37df1d4029e0a9044daa287e5b6355387920054695dfd61cc", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi", + "name": "tests/integration/targets/eos_snmp_server/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/bad_operator.yaml", + "name": "tests/integration/targets/eos_snmp_server/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "92b19c1a1597bad3fe8920c6d15810f2df039981b9488dc802e31b599255ca7c", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/contains.yaml", + "name": "tests/integration/targets/eos_snmp_server/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_snmp_server/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "35fa217e836688b2d7399c66f9408109429434afe4e85a78fa57ba9d440e7083", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/equal.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_snmp_server/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_snmp_server/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bf0a37bd334e4ac7039fa458189a52163c074d38da24e01b4e31b1a5df564bf5", + "chksum_sha256": "49411b2c85202029944048c9b98c93755510c85f9912a6de5c31987bd5fb199d", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/greaterthan.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c4156873ff938c4126af0092303770286cd3c1829ec579689a0413d85b57a7d6", + "chksum_sha256": "e15abd88634fd0d4e37994033dbad069c4c6a5a74032fbdcb28054fd2ce24f50", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/greaterthanorequal.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "58247b34643e80aa852c3069ab18673c02c98a30845b2edc808262ccd0e26a37", + "chksum_sha256": "92b980a2b2ec6624a2d10d807e8026953ec336d0c8f56ee070d27b0b8cd66ed6", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/invalid.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e0ff41bbdbf781316e8f8b28ae72d5c6f2dd45d9040e340ed8e089632c62dfb5", + "chksum_sha256": "03a12bd881dbe8be8c2a60638c8f2e564cc0b176ea9764af6a17d015098c8ac0", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/lessthan.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9cf1473ef81732265c8fab9d4aac0e2412a160b4cd1b8bccf474a6b4b872093a", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/lessthanorequal.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5762ba9c8c56c10a9473447afc5e4be6f14c8a13f64840fe001e0b1fb1a0cf9a", + "chksum_sha256": "7de001d983e8873496684af8bbd816f668626f0cb61280f1e0d07326af32bdda", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/notequal.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fa8076a05fc1d4cfc801e077a2204d20cb1c7eca29ee7efca969fb68bb4969a9", + "chksum_sha256": "a65a37d14b4764392ea5d9ccfa3debe6b1bfdcb5f4501477a51714f1f38eeefa", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/output.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "693de41c9288eff0fecd465d42917945b0304d9ed5e0ac8f0370e25daf21b8c3", + "chksum_sha256": "90b472eb859697c791cb385ea0972ab042ffe3af2afedd902bf780cbd29ceac7", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/timeout.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "77c15954650a439dd4fad91b81be94d802c38168a3ab63478d957492874362e5", + "chksum_sha256": "5498af2763ccdc85790108ce60fec119ee9ee184694ab4dbb73bcc84411931a2", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/version.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3a28c24b52f933e2a767f91719be61f48f473d42854b0f2bb17583d1ec9b6d6a", + "chksum_sha256": "fd35e88f8ab1a36691e324cf1c5e98721a41035cc9ef210966b4f744869fbd17", "format": 1 }, { - "name": "tests/integration/targets/eos_config", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_snmp_server/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c058c00472d829b53fb556f986cb2fbf9943b02212719a676530c1ca1ef3864e", "format": 1 }, { - "name": "tests/integration/targets/eos_config/defaults", + "name": "tests/integration/targets/eos_snmp_server/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/defaults/main.yaml", + "name": "tests/integration/targets/eos_snmp_server/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "ae7da77e7cf9b6b97d3b5f42e00cb9f2ab4b591724f14421ce31ecaa491a410a", "format": 1 }, { - "name": "tests/integration/targets/eos_config/meta", + "name": "tests/integration/targets/eos_snmp_server/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/meta/main.yml", + "name": "tests/integration/targets/eos_snmp_server/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "955317964226d2639660f6006be99a9c1d67e3a8dcea25ba7b2c4a569059a4f9", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tasks", + "name": "tests/integration/targets/eos_lldp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/tasks/cli.yaml", + "name": "tests/integration/targets/eos_lldp/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_lldp/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "chksum_sha256": "6c58c665f3d46c7e382b12352535b4c300ea576b2c8e2e075b93a6ce18f2031b", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tasks/cli_config.yaml", + "name": "tests/integration/targets/eos_lldp/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cad1c35e72ece6063b7dd0600ae72e4e0f2f29b963d58733833bfb71db1ff1dc", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_lldp/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tasks/main.yaml", + "name": "tests/integration/targets/eos_lldp/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_lldp/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fbf830cf0b2f6eccbbf21e658888b119977106bee0aa263cc2ac4393ddc19d4f", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tasks/redirection.yaml", + "name": "tests/integration/targets/eos_lldp/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_lldp/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b49deae160fc4dfe8307a0ffb0749eedf58bfe63871c77531866e164fe7f955b", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/eos_config/templates", + "name": "tests/integration/targets/eos_lldp/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/templates/basic", + "name": "tests/integration/targets/eos_lldp/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/templates/basic/cmds.j2", + "name": "tests/integration/targets/eos_lldp/tests/cli/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "635043eb1da106cc08711181db0d52331cc4ba2cda07e30466641f4c7497f10f", + "chksum_sha256": "53b18d54488b69edfd167f85e21b91301fdea473379481f5d96be206edd7124f", "format": 1 }, { - "name": "tests/integration/targets/eos_config/templates/basic/config.j2", + "name": "tests/integration/targets/eos_lldp/tests/eapi", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_lldp/tests/eapi/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6d6e2f3a34e61e1912c313154341699bc6398ccd884e4663bbdcefab7e76f6ec", + "chksum_sha256": "f7b48fe0eac8caa3e2d627764dfa3fb2a4d9ccb00db62e4fad31670c2a390671", "format": 1 }, { - "name": "tests/integration/targets/eos_config/templates/defaults", + "name": "tests/integration/targets/eos_lldp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/templates/defaults/config.j2", + "name": "tests/integration/targets/eos_lldp_interfaces/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_lldp_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "82249ebe8dcfdb0ab85598bd0f7ba759187bfc19c5c04a772d3308f27d85eefe", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_config/templates/defaults/test.j2", + "name": "tests/integration/targets/eos_lldp_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6d6e2f3a34e61e1912c313154341699bc6398ccd884e4663bbdcefab7e76f6ec", + "chksum_sha256": "f53f0ae420b815a40999516a0df43dbf6be6478362d4fd00f938647cd31ea997", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests", + "name": "tests/integration/targets/eos_lldp_interfaces/tasks/eapi.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_lldp_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli", + "name": "tests/integration/targets/eos_lldp_interfaces/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_lldp_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/backup.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6d9bdcefed31e07edf3c37a38a9bdd50b83b235723758b4f4afee6afddb1b9e5", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/check_mode.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8b8ade7952b3bdfbe87a27bef6a6072bf1559fb682ed03477c2c4bbb95add14d", + "name": "tests/integration/targets/eos_lldp_interfaces/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9a76cb30e8f9c86209fa61ebfd779b91e9f5996a527b4856ec5d1f91d5bdfb77", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/defaults.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4390d24f8debc9f9a06bd6f75cedac8f6de373193dd6f477329d0479908e66b7", + "chksum_sha256": "e10f178b46e0a654204ab75a7487641c6345c51592481e64d7c7d5d15317ac67", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/diff_against_config.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1ba680c356fa88e96ed721f29df59097b2aabe32030286f032e3f981db797276", + "chksum_sha256": "7576f665b34ce43ec4245fd5765611aa031ffbf73096d9f8907b7e5a9f537c52", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/save.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b576d2db1098db6187c8dabf08b98f2f768c955c0fc76d32f946c50df47d3bc3", + "chksum_sha256": "0e5f55128df4f7326db45dfc8c478e59a39d68053caf563625473079580d6838", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/src_basic.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "115d6ac4c64b7d029afd2ddb9588b5eeb323ccf12391cf9bc1ba7db051c0847e", + "chksum_sha256": "61c502d64492d3127c5503a4c6180c49d6bfba16ce0b4db6d37f5547b8bed58c", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/src_invalid.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "52ca0bec01fc312731dc6e4be0b4439a1ffcbdb24716321987fbea517a5e145a", + "chksum_sha256": "8fbe99406870ccff9922c49a2ae193a563edcfb51cd7a4e2797181d1a3edf3ec", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/src_match_none.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e6f0ba65100459757c0b7dab013d12f4b901e2af19979c49047b6c403e2a1877", + "chksum_sha256": "2a49e3976aa794644e2cb1ed765367a39ad81b39a42c16bca3bf32c8043dc9b1", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/sublevel.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0f7743e4751629f7b7b985959361b7ac07cf23c267d74777401cd2e45bcff7d1", + "chksum_sha256": "73c669fdf692d5f7f3b578f6a4a46f8b0fff6d62da0f62ad903648405e9934dc", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/sublevel_block.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f954e5787b9b7e557b058e9f4e8720bfe36b468b4822bf29913ed3d14042475c", + "chksum_sha256": "670d9e454375f4479720d7a70e5099afd23319aa52bf2d01ba9b916ffd385d8e", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/sublevel_exact.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8a6f66fe3cca7fc667d32dd2de4f5bc6fc7d82d2d92953316ad3d6e4f16ec463", + "chksum_sha256": "23e7bceb1fd85748923512e2facfaf4cb2727570be530b30897febd6c79f2a1a", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/sublevel_strict.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eb86226952eb153150fe0e1b41d8bbd2d38bbb2323831ff4a865553f161ead28", + "chksum_sha256": "c711ecfe5d02de94fed82b58d3402e733c1e575fea60c3f9744f3379b01d1b33", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/sublevel_strict_mul_parents.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ab71a8f63f346ecaac7f063da41865f2e61466559bd8e3b01c5c8cd5d4e63ff", + "chksum_sha256": "b4f0aac4ed1a3d18ee04a35d42b989ee6a3e2a8ad07ee8b98f56f275b027e826", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/toplevel.yaml", + "name": "tests/integration/targets/eos_route_maps", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_route_maps/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_route_maps/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fb6ec870503106ced6935c661248ff3e9d637bafc418f9b50f6bd01329c26ce2", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/toplevel_after.yaml", + "name": "tests/integration/targets/eos_route_maps/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "caea8fad79205e27a673f4ee9fe66ae8337bed0172587d7f41f27f4c3354fa2d", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/toplevel_before.yaml", + "name": "tests/integration/targets/eos_route_maps/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "727839044c517b93bff6eeb4786a005f52b4c17adcca79db896113ef5a788ff5", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli_config", + "name": "tests/integration/targets/eos_route_maps/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli_config/cli_backup.yaml", + "name": "tests/integration/targets/eos_route_maps/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3bd7e06189b2e0a2c94746eeacb0988676f417f3a6740b1ef65a39609ae5d735", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli_config/cli_basic.yaml", + "name": "tests/integration/targets/eos_route_maps/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_route_maps/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "135e26aae8c87670f187e83c82608ece8fe523e21e51824780e082ed0b4bf4ff", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi", + "name": "tests/integration/targets/eos_route_maps/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/backup.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8b7ff6fa23044a1941225d49d2d23d85c1cede5f6d194625515b78a94ceccef0", + "name": "tests/integration/targets/eos_route_maps/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/defaults.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0ece39d7ef9b05d0e14b28c199af6dd0181c05c687fcf8555b7e41f35406f4c6", + "chksum_sha256": "cdabf064aef1475c5f3ca82c999bf1b31e113c0dc8e8c23c043b792d4ea0d6f1", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/save.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b10fe8c1dec1cc8276a16bcfeb6b70ac9667c8fc42cc5acd7f742fbdd2a2a2f6", + "chksum_sha256": "28c7426a5b17a56f3b95701a57e71358f555978f8411340e51b098932fbe5bc4", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/src_basic.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb891145f21b067fae034a29cded633ad42f8c834d477f8997b2517753fa7300", + "chksum_sha256": "15d0e603090321cfdddd64967bc56c26dfb3003af6930743aa03bc6171ff0a3f", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/src_invalid.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "751ce477a9a859e0fe8c0a420a836a9aeb6ee4e4d00d58af9e96fa4b15731577", + "chksum_sha256": "a089af65191e7c43d545eca51f782b7d202e2cb2d56494bface34b020cb45666", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/src_match_none.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c42bb681923e1aea5664c1a629c22da23afd186fbdcbaa1c8f6a5df716e69bec", + "chksum_sha256": "60cc6ccf0b2663bfb35b98686d984c74580676ff0f846553237213ea77df4177", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/sublevel.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "402e518d37d1d8a5c283de5593d26f4067c6ce3312b90e9f9b5c41c8c52892af", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/sublevel_block.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3dde12483d855a7b2da463f885ac18f0b10b36b9b6acc538de96c4de23157c61", + "chksum_sha256": "a43b4966005a8a7ff89e03d834bdafcc7bca6d64de605c312d06bce503883af5", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/sublevel_exact.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5501acfbe1e6d31324268704c74ddf6bf1d7d9eb0e158edcbbe4ff4b214cc76a", + "chksum_sha256": "79312d821332f81704323f4a81c7a25bc6028b81da83946485016d95669068d7", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/sublevel_strict.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dbf1e3fd93dc6e50049a62d8107765cdbba14ee1f843606845bf30d0a982cd42", + "chksum_sha256": "64a5a2e160aff448bb567d8d4fdba4c3231f85ab0b44e2f596fe2784148e8554", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/toplevel.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "45276c0a74aba09ed8c7c48de80af2dd32219a324303610bc9cf80c3c8bc283b", + "chksum_sha256": "44f4351a9b5d2fe29f5ceb7b8da5353d19e68a3ee410ed12f362f8ae419faf42", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/toplevel_after.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "90e106e955ff3865916079955ddf5af545cdaa7372c491bf0ba61076cd80bb4c", + "chksum_sha256": "351d48443390baf9e5ba8e9b8856931bb61b2dfa4b78ad8c1096ca9f02a1c663", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/toplevel_before.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7f7329aacb123f76e1a2df214a99787da817035c59e9c0e2664f7934daba6efe", + "chksum_sha256": "ef67fa3a5f7c2e93109b6fe7a8241945ba90f239fab62d805af4229984ffd5d0", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/redirection", + "name": "tests/integration/targets/eos_route_maps/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/redirection/cli", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_route_maps/vars/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d337f562d76680d2b85d2144b4897034f37423f7f160a16e9c9ea66cc41f0f50", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/redirection/cli/shortname.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d944cd696544ff17ad20e40bea70421da8141a1c22b5b4227b8b2cec348ce085", + "name": "tests/integration/targets/eos_route_maps/templates", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/config.txt", + "name": "tests/integration/targets/eos_route_maps/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9a925a8805c82634beb0a514ef8ab88912b8b3e296763329a74d7690b0429dc6", + "chksum_sha256": "c74494f69023cfc97d41e81575736420b6f29e2d384b0e7f8f41c446ffdc603a", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi", + "name": "tests/integration/targets/eos_prefix_lists", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/defaults", + "name": "tests/integration/targets/eos_prefix_lists/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/defaults/main.yaml", + "name": "tests/integration/targets/eos_prefix_lists/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_prefix_lists/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/meta/main.yml", + "name": "tests/integration/targets/eos_prefix_lists/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tasks", + "name": "tests/integration/targets/eos_prefix_lists/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tasks/cli.yaml", + "name": "tests/integration/targets/eos_prefix_lists/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tasks/main.yaml", + "name": "tests/integration/targets/eos_prefix_lists/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_prefix_lists/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8d0f3e120b5e0f83314d06ed429b515b98e122ebdd4111b4e5be0bf09098877c", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tests", + "name": "tests/integration/targets/eos_prefix_lists/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tests/cli", + "name": "tests/integration/targets/eos_prefix_lists/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tests/cli/badtransport.yaml", + "name": "tests/integration/targets/eos_prefix_lists/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1620fab5693bd0fb373e2d53372188eb73a2fe5a3d389b11052ea42df490ee26", + "chksum_sha256": "8184f88e334762f387e4baa6b3ab70c3c160a75c861d669a89b1f2940fa0b501", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tests/cli/config.yaml", + "name": "tests/integration/targets/eos_prefix_lists/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "37b279c3fc0c94ed140a3e3890e309424710bcd35856f31b4211d5e7841f4656", + "chksum_sha256": "5789eb8ee641ebf96faa3beaba1360916812f0b72bf79005dacf09038224eb1b", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tests/cli/configure.yaml", + "name": "tests/integration/targets/eos_prefix_lists/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6efb0ff5e69c8eb46e1101343bc93272549578ad68a74fede9781a99bfb5983a", + "chksum_sha256": "75d1ef4096be7283925fda58180d9f70f9bbb42cc023228ee6bf69aab00052c8", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tests/cli/off.yaml", + "name": "tests/integration/targets/eos_prefix_lists/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "593ed779304b25cb537ca13fc88e95a91a938109f5d5f9f6722a29f37573c040", + "chksum_sha256": "1246641c583926029ffa31cf7d9f68a5a3b5d9b6c3426323965a7ace18308646", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tests/cli/on.yaml", + "name": "tests/integration/targets/eos_prefix_lists/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "626f6ef04d9b5eeec3c2633d9517c0c632fe4b758470326278e7df918eec58c1", + "chksum_sha256": "4b607978c8e64316d6196fa19665a85a0eadbf919ccb8875644857cf9b328407", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tests/cli/start.yaml", + "name": "tests/integration/targets/eos_prefix_lists/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "66702395e736d29c01bdfcf6f45a349937108ce757696dde4cef46ca1986ba7c", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tests/cli/stop.yaml", + "name": "tests/integration/targets/eos_prefix_lists/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "70621105e0b6c97e34047f0ce8408da1cb5e03868c8678df2f28bcf817c57527", + "chksum_sha256": "eee19a016590fc436d8be49414f1f5bd60598eac308df3f1581ec52677c6db1a", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tests/cli/vrf.yaml", + "name": "tests/integration/targets/eos_prefix_lists/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "64545c869099218860beec3678baf8209b39d66a5841128afafc15775a6e9eff", + "chksum_sha256": "2481891014a0b474f98bbf7691a95628da7c0897b3ee4fc8046cbc79e0f54c75", "format": 1 }, { - "name": "tests/integration/targets/eos_eapi/tests/cli/zzz_reset.1", + "name": "tests/integration/targets/eos_prefix_lists/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "01cd53e28355e0d65ba10accb15c95a17f824555796003f0225d7879a40382e9", + "chksum_sha256": "f41196dd12570c02dff69372f0539ac676553a8c97da1637db552399aa691fcd", "format": 1 }, { - "name": "tests/integration/targets/eos_facts", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_prefix_lists/tests/common/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "40b71ec679a26a406e66f31dc4b561a0671ffc493ead69d80c60d7a58a8bb871", "format": 1 }, { - "name": "tests/integration/targets/eos_facts/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_prefix_lists/tests/common/parsed.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "40293ea4167e097760e7aeb5b43e229510ef4eefe55161f18756aea2410aca32", "format": 1 }, { - "name": "tests/integration/targets/eos_facts/defaults/main.yaml", + "name": "tests/integration/targets/eos_prefix_lists/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "412ce27b1e535cfda5876456c2355d78a394ef0db13ba99c334f632732efb388", "format": 1 }, { - "name": "tests/integration/targets/eos_facts/meta", + "name": "tests/integration/targets/eos_prefix_lists/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_facts/meta/main.yml", + "name": "tests/integration/targets/eos_prefix_lists/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "fbdeab37387d1fd29e31ca469d49a5297e3fe095e30c0a02dd0f402a7bfe87a7", "format": 1 }, { - "name": "tests/integration/targets/eos_facts/tasks", + "name": "tests/integration/targets/eos_prefix_lists/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_facts/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_facts/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cb15ea77586a3f5e330abaeb5a693d1e431f3ba0d68e867fa6658ef1d00fc197", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_facts/tasks/main.yaml", + "name": "tests/integration/targets/eos_prefix_lists/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", + "chksum_sha256": "f41196dd12570c02dff69372f0539ac676553a8c97da1637db552399aa691fcd", "format": 1 }, { - "name": "tests/integration/targets/eos_facts/tests", + "name": "tests/integration/targets/eos_user", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_facts/tests/cli", + "name": "tests/integration/targets/eos_user/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_facts/tests/cli/all_facts.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9e88adb456f3bf5b08ce7b72aaa11b73bfaebd5563b39ecf155ca55bc5e326ee", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_facts/tests/cli/default_facts.yaml", + "name": "tests/integration/targets/eos_user/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0ae6cae32ba80370ac7e8254cc4103412ad26ff7ef67467f860501a93bd7ba03", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_facts/tests/cli/invalid_subset.yaml", + "name": "tests/integration/targets/eos_user/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "30ebae89f553fe7b179031c471332dde8a564a6fa8c280d90044283b59d635cf", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/integration/targets/eos_facts/tests/cli/not_hardware.yaml", + "name": "tests/integration/targets/eos_user/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "347997e8a2b793de8202fa7c55fe8fb5befc15f804046653b24305aa96dea558", + "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", "format": 1 }, { - "name": "tests/integration/targets/eos_facts/tests/eapi", + "name": "tests/integration/targets/eos_user/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_facts/tests/eapi/all_facts.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "65f1bede3bea1ae5490850f77a0d8e0d5d369af4e05050b0cef51b7bc3430859", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_facts/tests/eapi/default_facts.yaml", + "name": "tests/integration/targets/eos_user/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "784e54cb91e72291cb7c430e617b1b70840fea8f67ab2667fe8c18ad3aff5c0e", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_facts/tests/eapi/invalid_subset.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "fb127eb858414a991f7de95891bc3fb5205f0cec63fab24c58717c26355a6b18", + "name": "tests/integration/targets/eos_user/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_facts/tests/eapi/not_hardware.yaml", + "name": "tests/integration/targets/eos_user/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "412ad00f379dfbf2c04c539173c7c88068c175cf54fc2336644e1f0bfbbdc1c0", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname", + "name": "tests/integration/targets/eos_user/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/defaults", + "name": "tests/integration/targets/eos_user/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/defaults/main.yaml", + "name": "tests/integration/targets/eos_user/tests/cli/auth.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "ece4746e3d18508426ba2ab784a91bed28670217a75be85b234b03ebb66dfd89", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_user/tests/cli/basic.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "432c95aa920b1774308ea58ea6159647675bb2f7f1cffde182c64662dcc857fc", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/meta/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "name": "tests/integration/targets/eos_ospf_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tasks", + "name": "tests/integration/targets/eos_ospf_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tasks/cli.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_ospf_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tasks/main.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_ospf_interfaces/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/templates", + "name": "tests/integration/targets/eos_ospf_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/templates/populate.cfg", + "name": "tests/integration/targets/eos_ospf_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "55cfe4746ef24943eac865d5b0fd9b6a6884e0e529983e253d5764175c01c6e9", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests", + "name": "tests/integration/targets/eos_ospf_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests/common", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "55cfe4746ef24943eac865d5b0fd9b6a6884e0e529983e253d5764175c01c6e9", + "chksum_sha256": "f61d79526410667fe97aa0c1fa0c6a0162e500c6abc373d025165382643b96a4", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "4f997c36cc9170f11226c5057f8a2a6b9da5717306c07a8dcfae8517d9b4152d", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bbd01a1b82535d87fb2c5192c045a1452c02385b1d9325bdcb8013b03f3840d5", + "chksum_sha256": "7c607da23362194cb7a396214a601408e7ea7b78e895567b6a070205916f4677", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e8f9622547f2e0fa5c603e7d1e76348d76da8bac90ebfa21179749ee691cd648", + "chksum_sha256": "e9086ad58ff3a415a829921047e1c805e34d6ae95488b9b1c937b20a922ae964", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "969820bbaeb224608a4aab530cbeeb88627ac039bcacf2a1942ec42705e5514d", + "chksum_sha256": "cb5f91b025aa37891756c22bfae165a560c4c00bcee7f0d93005ddc79944886e", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aed726bbfbc34673f8da380cceaac909741a8a4533d1abf057afb6d9f5b0b214", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "079da330b620d09b22c55b8c63db98278c3347639db086a2c86f0039f2d13f35", + "chksum_sha256": "698af51d7f6a6ced71a9415495684f30be35b26cb298b53e1de7792a3d857c18", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "36160ee5a95d8b19e314fbe8b473f56c8dc87e209f3c9394803a1b7a900f9ed4", + "chksum_sha256": "e3389b2ec80e9dfa1b851de623ba7bf990b39240feebc9e3cb18dac87b85250e", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/gathered_empty_config.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9093ee823c0145791216cf2d53f00df72c6ba361f525b2337b6645bdb7d3e8c5", + "chksum_sha256": "f6ff5c23745f6f182db2a1173cd25b5a98a29465a8bc37cae61678d8c577af23", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d89644559714c65b378af2d9a1e23c0432a2f1abd4fb09f3538f844430dc06d3", + "chksum_sha256": "b5c505431c56a3bd030ee52a85e240626c905bfe2809aab18a2e761066e0ccbb", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "784e0e5db4b302883890287cd2ba18d7005403f1c05be8c8c23f7d8b1f807cea", + "chksum_sha256": "4222a5770d1b912a7ac71103749ff82d93dd903e769e87690471a59be0c7e988", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/parsed.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3fd4657ae775a57bdcda3537eaafb956b979f0a1569c80583364e96f16e2f201", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/vars/main.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9762cc4a787aec50485af807234f50902fde96f57e6ad904e62a9588c1f61373", + "chksum_sha256": "c136e2d339db165c433d2b3bd05409e542892bb8a5a94f53737891fb082d16f8", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces", + "name": "tests/integration/targets/eos_ospf_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/defaults", + "name": "tests/integration/targets/eos_ospf_interfaces/vars/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "bd015c6e2a8c0de8c44a813c8d30a6554cb1f7dec683760cd30a899ce85481c5", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_ospf_interfaces/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "e2d645f551982b7ea8613b5d94260428dbcd4cd3207d34a4bb51fb8722b0ffc4", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/meta", + "name": "tests/integration/targets/eos_config", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/meta/main.yml", + "name": "tests/integration/targets/eos_config/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_config/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "fbf830cf0b2f6eccbbf21e658888b119977106bee0aa263cc2ac4393ddc19d4f", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_config/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tasks/cli.yaml", + "name": "tests/integration/targets/eos_config/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_config/tasks/cli_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "cad1c35e72ece6063b7dd0600ae72e4e0f2f29b963d58733833bfb71db1ff1dc", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/eos_config/tasks/redirection.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", + "chksum_sha256": "b49deae160fc4dfe8307a0ffb0749eedf58bfe63871c77531866e164fe7f955b", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/templates", + "name": "tests/integration/targets/eos_config/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/templates/reset.cfg", + "name": "tests/integration/targets/eos_config/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0a096e71ea1c5a1c492cc2e33283e427338efdf9d837a590b582c2702ccee07e", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tests", + "name": "tests/integration/targets/eos_config/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tests/common", + "name": "tests/integration/targets/eos_config/defaults/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_config/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_config/tests/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_config/tests/cli/toplevel_before.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "36a0793cac2c404b733a21498bf803d7fc38942c11ea65ea26521ca4d64e04d8", + "chksum_sha256": "727839044c517b93bff6eeb4786a005f52b4c17adcca79db896113ef5a788ff5", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tests/common/_reset_config.yaml", + "name": "tests/integration/targets/eos_config/tests/cli/toplevel_after.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7ae46767fb3bead2365a6cc3aeb9acfb44d8ad8fdee5313f144fe1d248110eaf", + "chksum_sha256": "caea8fad79205e27a673f4ee9fe66ae8337bed0172587d7f41f27f4c3354fa2d", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_config/tests/cli/sublevel_strict.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a62f1fe641f551ad15f8c85593b987486f1099f5a9172a1b27e73b4520e8ee29", + "chksum_sha256": "eb86226952eb153150fe0e1b41d8bbd2d38bbb2323831ff4a865553f161ead28", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_config/tests/cli/diff_against_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bc26969057893c4516d300b795ab9a9ca599596ea075a83972b2af4ed2164596", + "chksum_sha256": "1ba680c356fa88e96ed721f29df59097b2aabe32030286f032e3f981db797276", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_config/tests/cli/src_match_none.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7f0746803db7cb46077bb261ea73492246c9973b05d4369c4830edd6181bf453", + "chksum_sha256": "e6f0ba65100459757c0b7dab013d12f4b901e2af19979c49047b6c403e2a1877", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_config/tests/cli/sublevel_block.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5a0737935c23ff3552dcf975ee16cfa42adfbcea87cf8bb0b8926b2ccf09c8d0", + "chksum_sha256": "f954e5787b9b7e557b058e9f4e8720bfe36b468b4822bf29913ed3d14042475c", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_config/tests/cli/toplevel.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2d7fe951ce7d79d1fee4fa2149e1f341d06c7910a220bda9e86118ea26349fef", + "chksum_sha256": "fb6ec870503106ced6935c661248ff3e9d637bafc418f9b50f6bd01329c26ce2", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_config/tests/cli/sublevel_strict_mul_parents.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0c3a7c9a205c5ff75308f7bb5b9ec60565eb624f45526d5712b3e1ed026e087a", + "chksum_sha256": "3ab71a8f63f346ecaac7f063da41865f2e61466559bd8e3b01c5c8cd5d4e63ff", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_config/tests/cli/config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fed3bcba071a6d00304fba18b40062463af1e4f9098048ca4385c8ee7d3703ee", + "chksum_sha256": "9a76cb30e8f9c86209fa61ebfd779b91e9f5996a527b4856ec5d1f91d5bdfb77", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_config/tests/cli/replace_block.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ca023a36a14d5f2de1b213f4e7626424523c01e952e08789e5cac48107ae0b4f", + "chksum_sha256": "8229d1f16924795dadcae8472ba22a0d6ed7efdba4a7c8c12864f2915c1ed9c6", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_config/tests/cli/sublevel_exact.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ca4a201cb5ed8e1649d04eba504fc0ba0584b9404df7d3fdc3df1d9cb708c992", + "chksum_sha256": "8a6f66fe3cca7fc667d32dd2de4f5bc6fc7d82d2d92953316ad3d6e4f16ec463", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_config/tests/cli/src_basic.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "115d6ac4c64b7d029afd2ddb9588b5eeb323ccf12391cf9bc1ba7db051c0847e", "format": 1 }, { - "name": "tests/integration/targets/eos_interfaces/vars/main.yaml", + "name": "tests/integration/targets/eos_config/tests/cli/check_mode.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "21f21b62a39efa62ebd86dc0b152614f89828c29b70b513a5eab734ba59bb230", + "chksum_sha256": "8b8ade7952b3bdfbe87a27bef6a6072bf1559fb682ed03477c2c4bbb95add14d", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_config/tests/cli/defaults.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4390d24f8debc9f9a06bd6f75cedac8f6de373193dd6f477329d0479908e66b7", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_config/tests/cli/backup.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6d9bdcefed31e07edf3c37a38a9bdd50b83b235723758b4f4afee6afddb1b9e5", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/eos_config/tests/cli/src_invalid.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "52ca0bec01fc312731dc6e4be0b4439a1ffcbdb24716321987fbea517a5e145a", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_config/tests/cli/save.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b576d2db1098db6187c8dabf08b98f2f768c955c0fc76d32f946c50df47d3bc3", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/meta/main.yml", + "name": "tests/integration/targets/eos_config/tests/cli/sublevel.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "0f7743e4751629f7b7b985959361b7ac07cf23c267d74777401cd2e45bcff7d1", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tasks", + "name": "tests/integration/targets/eos_config/tests/eapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tasks/cli.yaml", + "name": "tests/integration/targets/eos_config/tests/eapi/toplevel_before.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3d287a5645a94634b96fbeb33a93d7cc866421adb10d5e45810aae4ae003fd52", + "chksum_sha256": "7f7329aacb123f76e1a2df214a99787da817035c59e9c0e2664f7934daba6efe", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_config/tests/eapi/toplevel_after.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "90b0fb30b63afdda9bc8d5bee03e2b6cc6f785a7af550690bf002a207fa42d9c", + "chksum_sha256": "90e106e955ff3865916079955ddf5af545cdaa7372c491bf0ba61076cd80bb4c", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/eos_config/tests/eapi/sublevel_strict.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_l2_interfaces/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "dbf1e3fd93dc6e50049a62d8107765cdbba14ee1f843606845bf30d0a982cd42", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_config/tests/eapi/src_match_none.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c42bb681923e1aea5664c1a629c22da23afd186fbdcbaa1c8f6a5df716e69bec", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests/common/_cleanup.yml", + "name": "tests/integration/targets/eos_config/tests/eapi/sublevel_block.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "72c891a2b69fea4a08d88aef80ab42588f0761b3fcee4654ea769a82e2cad772", + "chksum_sha256": "3dde12483d855a7b2da463f885ac18f0b10b36b9b6acc538de96c4de23157c61", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_config/tests/eapi/toplevel.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9f5bae45f76d827baaed602070abd64acc8a7c7f22410e169b0871344f1023ba", + "chksum_sha256": "45276c0a74aba09ed8c7c48de80af2dd32219a324303610bc9cf80c3c8bc283b", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests/common/_reset_config.yaml", + "name": "tests/integration/targets/eos_config/tests/eapi/sublevel_exact.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cb38b9a77caba2c84ab6c80ba15134346ae856147e816086b43f2c90a0e8014e", + "chksum_sha256": "5501acfbe1e6d31324268704c74ddf6bf1d7d9eb0e158edcbbe4ff4b214cc76a", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_config/tests/eapi/src_basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fce0cbcecc5da5700eadd7509b5ec52749d2161ff7b3f99b95a4d2796c158f4c", + "chksum_sha256": "bb891145f21b067fae034a29cded633ad42f8c834d477f8997b2517753fa7300", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_config/tests/eapi/defaults.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aaf8f107ec4a7699b08aba428c96066164570af0da4c031499210e65a9ac976a", + "chksum_sha256": "0ece39d7ef9b05d0e14b28c199af6dd0181c05c687fcf8555b7e41f35406f4c6", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_config/tests/eapi/backup.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c9f82a69c636f9d85ef893fb5d2fba696d0a47bc9fe1e2c3e316acb63b79453d", + "chksum_sha256": "8b7ff6fa23044a1941225d49d2d23d85c1cede5f6d194625515b78a94ceccef0", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_config/tests/eapi/src_invalid.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "01c98f37d467b49d62c858aa1eb80e31829d3af8df1d67b17b95612b1e014d2f", + "chksum_sha256": "751ce477a9a859e0fe8c0a420a836a9aeb6ee4e4d00d58af9e96fa4b15731577", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_config/tests/eapi/save.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7fe18f0fa44accb4bdd0464888179e38186b2bc1bb7534786d823700eab75201", + "chksum_sha256": "b10fe8c1dec1cc8276a16bcfeb6b70ac9667c8fc42cc5acd7f742fbdd2a2a2f6", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_config/tests/eapi/sublevel.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "edb8b0ac8acd4b5e054bbfa29800537c9b159ab96d7187400f26c80be72c7abf", + "chksum_sha256": "402e518d37d1d8a5c283de5593d26f4067c6ce3312b90e9f9b5c41c8c52892af", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests/common/rendered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e27eed12e565edc2ef8199044486e7df6759cf3a8fa2c4999c06d465b416ac11", + "name": "tests/integration/targets/eos_config/tests/redirection", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests/common/replaced.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0ed56a5c9ced6b499dda2d9788c2021ea24b0d17f0d0931a7c11b9addc59f3e6", + "name": "tests/integration/targets/eos_config/tests/redirection/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_config/tests/redirection/cli/shortname.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ab629c595374a5ff76a3d76f22278948131ccfd3f5de5e08f8bb0fae170883c0", + "chksum_sha256": "d944cd696544ff17ad20e40bea70421da8141a1c22b5b4227b8b2cec348ce085", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/vars", + "name": "tests/integration/targets/eos_config/tests/cli_config", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/vars/main.yaml", + "name": "tests/integration/targets/eos_config/tests/cli_config/cli_backup.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2d11de6e7c7e491f1f5247e77d3cc3367368e71c12900e057007742b5f69b93e", + "chksum_sha256": "3bd7e06189b2e0a2c94746eeacb0988676f417f3a6740b1ef65a39609ae5d735", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces", + "name": "tests/integration/targets/eos_config/tests/cli_config/cli_basic.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "135e26aae8c87670f187e83c82608ece8fe523e21e51824780e082ed0b4bf4ff", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_config/config.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9a925a8805c82634beb0a514ef8ab88912b8b3e296763329a74d7690b0429dc6", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_config/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/defaults", + "name": "tests/integration/targets/eos_config/templates/basic", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/eos_config/templates/basic/cmds.j2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "635043eb1da106cc08711181db0d52331cc4ba2cda07e30466641f4c7497f10f", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/meta", + "name": "tests/integration/targets/eos_config/templates/basic/interface_config.j2", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6d6e2f3a34e61e1912c313154341699bc6398ccd884e4663bbdcefab7e76f6ec", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_config/templates/basic/config.j2", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6d6e2f3a34e61e1912c313154341699bc6398ccd884e4663bbdcefab7e76f6ec", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_config/templates/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/meta/main.yaml", + "name": "tests/integration/targets/eos_config/templates/defaults/test.j2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "6d6e2f3a34e61e1912c313154341699bc6398ccd884e4663bbdcefab7e76f6ec", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tasks", + "name": "tests/integration/targets/eos_config/templates/defaults/config.j2", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "82249ebe8dcfdb0ab85598bd0f7ba759187bfc19c5c04a772d3308f27d85eefe", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_lacp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tasks/cli.yaml", + "name": "tests/integration/targets/eos_lacp/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_lacp/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_lacp/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1629beb9c4c49792f78a1425442a6a6e0e5dd9a0ed824c1cced81e6e97a0e47c", + "chksum_sha256": "f53f0ae420b815a40999516a0df43dbf6be6478362d4fd00f938647cd31ea997", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/eos_lacp/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/templates", + "name": "tests/integration/targets/eos_lacp/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/templates/reset.cfg", + "name": "tests/integration/targets/eos_lacp/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3e02b044e876b189ce336a3a4802eb8af3df7d69c9d74f94877a8ec495e240dc", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tests", + "name": "tests/integration/targets/eos_lacp/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tests/common", + "name": "tests/integration/targets/eos_lacp/defaults/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_lacp/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tests/common/_parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1be80d6bfade12c26b76660664893c1846149bb7eb9398fa5e610d48d54e9b78", + "name": "tests/integration/targets/eos_lacp/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tests/common/_reset_config.yaml", + "name": "tests/integration/targets/eos_lacp/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cbf3a7bcba86ab51a41f5df9700c3361614a761a59c7a818e28b9e2b47e49826", + "chksum_sha256": "256d175eb92a50a737d23b476ff3fe20d9999764b3cdac3fe3f625bc357bc809", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_lacp/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cc35e0f775451453ac2c523a27b8ca29590551f20ba1dd504553b72cd3f48096", + "chksum_sha256": "298c194b94ae3f3750c516e2245251ed37611565c429ccf4fd7427c22df368cd", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_lacp/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "95215014c2825aee51c3c204de545ae03738dae62b0e268c617a498276643713", + "chksum_sha256": "7cc12a2c9c2b6154d7474af3cc090677b5067fa213c13ba6fb8b4203b9aa0149", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_lacp/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c4177bbc89805770c555ca12366593738cd4fcfe2830e23b35a286aecc43ed3", + "chksum_sha256": "1567cbeeee2362aa296686ff39b8a1fb0e95ee41adfb130e8612826981e7113d", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_lacp/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a65aac4ca425465052942c3fd31c9d51ffb175047cbce064752fab288c7e4367", + "chksum_sha256": "800ead8f10e3d4bc50ddf469a53b358695197f47476eb4b3789aa011e16f1dea", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_lacp/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f17e653bfdb385c99bf7db088d3269b67d962148561c5b4ae3248adfad050ce4", + "chksum_sha256": "dade4172a3223fc93e1eca92c3303456eb1f6c154c4cbcedad9a1e267821a311", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_lacp/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "03f049dcce225d8de33873ff4f8a2244b4e6053857d212b6bd473476cd429b14", + "chksum_sha256": "14973e3f346a4f8643baff860e9a35d46a16d7ed42212bc804ffa2b78f70c023", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_lacp/tests/common/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c06867d92daaf7f51b661451f56dd63be75711f4f8c407a7f7365879cb4d295c", + "chksum_sha256": "d0dcc0055c8b24c34f55531d55a1069274e7450a6592a5223e9976887437cd33", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_lacp/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e8b467b03ab2c858ce56d5520307e0482341b16e05579f077e5bf8742d71fc95", + "chksum_sha256": "bfdee3db7e752c613eb903f5b515c30d6ae3b5da4b641f9c575416aa32d77649", "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/tests/common/rtt.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4660abfc6652a70079d0ea81ddca1be88fe04998d9396edef977e7c5ba5df1af", + "name": "tests/integration/targets/eos_bgp_address_family", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/vars", + "name": "tests/integration/targets/eos_bgp_address_family/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_l3_interfaces/vars/main.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bd8cfc16471691295c6cc5b75efdef88860f2aad20ec00f62ffc614e2976776", + "chksum_sha256": "e40fe291a7e7d70bd846b4acf8f4a1a465948b9a02b037d9b0fd0a4193055baa", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_bgp_address_family/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_bgp_address_family/tasks/eapi.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/defaults/main.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tasks/redirection.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "7b61bd7a713c0b9735361ff90fb07b90d1b4fb97b9c822c2c979bd6eb82b892c", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/meta", + "name": "tests/integration/targets/eos_bgp_address_family/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/meta/main.yml", + "name": "tests/integration/targets/eos_bgp_address_family/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tasks", + "name": "tests/integration/targets/eos_bgp_address_family/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tasks/cli.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f53f0ae420b815a40999516a0df43dbf6be6478362d4fd00f938647cd31ea997", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_bgp_address_family/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", + "chksum_sha256": "36c8fb15c11b0806cf005745d3430a56d953e9f6780a7cef5aafd2a09a0535ad", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tasks/main.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "2d367a172a6119e19318a7925d0f93ab844f3285d5e7818894d5754dff1c3879", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/gathered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5a72b2cdd640e76fd8cebc5dc40db9e7f021f219a006e0e202f38753e67f3e66", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/empty_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1e8015071f7ffcce80ad0ededdef7f16e73a69a32d9f045d358db22e27e0bc37", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "800ead8f10e3d4bc50ddf469a53b358695197f47476eb4b3789aa011e16f1dea", + "chksum_sha256": "768a7c9e05c637f812712a5de2588a2fae4c9296e89f082ef30ce5efefe0939a", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/_reset_config.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d0dcc0055c8b24c34f55531d55a1069274e7450a6592a5223e9976887437cd33", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "256d175eb92a50a737d23b476ff3fe20d9999764b3cdac3fe3f625bc357bc809", + "chksum_sha256": "b2bbbe9bb69931adedbcb614bd349ce9dc7291f38b6dfa81420db786051dac73", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7cc12a2c9c2b6154d7474af3cc090677b5067fa213c13ba6fb8b4203b9aa0149", + "chksum_sha256": "19423e7d29df73b400d5b47fea1fce275bcd2b04d184470aa5659097038915e1", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "298c194b94ae3f3750c516e2245251ed37611565c429ccf4fd7427c22df368cd", + "chksum_sha256": "0b889f292c92b4630f9cd7f3ff38826eb0db4f2937fc2f9e5af1f266245cca74", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/_redirection.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1567cbeeee2362aa296686ff39b8a1fb0e95ee41adfb130e8612826981e7113d", + "chksum_sha256": "6ed262f5f0ecec25b856f900c3bf6d2b460b8988d495e8b8bd2a94be0e4b136f", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "14973e3f346a4f8643baff860e9a35d46a16d7ed42212bc804ffa2b78f70c023", + "chksum_sha256": "b772bb07168e677fd6bf5c7cefdb28b4343d2c51f4463422e7b6a0cf9959f327", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bfdee3db7e752c613eb903f5b515c30d6ae3b5da4b641f9c575416aa32d77649", + "chksum_sha256": "e6039629f8dcaf5a5985dde73f3aeadf9a238c6bb09cba2cf52953fd33d75fdf", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dade4172a3223fc93e1eca92c3303456eb1f6c154c4cbcedad9a1e267821a311", + "chksum_sha256": "501991afb657b98d52a6b17858e19fc4def44d6fc1b308af9d9339ed9b1bcbfc", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces", + "name": "tests/integration/targets/eos_bgp_address_family/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/defaults", + "name": "tests/integration/targets/eos_bgp_address_family/vars/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "80bb6f23199fee8ae2ed4149e4706e9a23f0b0093a9f03c982fc8f3590919fc5", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_bgp_address_family/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "0b889f292c92b4630f9cd7f3ff38826eb0db4f2937fc2f9e5af1f266245cca74", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/meta", + "name": "tests/integration/targets/eos_static_routes", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/meta/main.yml", + "name": "tests/integration/targets/eos_static_routes/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_static_routes/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tasks", + "name": "tests/integration/targets/eos_static_routes/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_static_routes/tasks/eapi.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_static_routes/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tasks/cli.yaml", + "name": "tests/integration/targets/eos_static_routes/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f53f0ae420b815a40999516a0df43dbf6be6478362d4fd00f938647cd31ea997", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", + "name": "tests/integration/targets/eos_static_routes/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/eos_static_routes/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tests", + "name": "tests/integration/targets/eos_static_routes/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tests/common", + "name": "tests/integration/targets/eos_static_routes/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_static_routes/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a3796a2313899acffb35cddcaa5673d76efd8751d1fed12d820f5973a9476d8d", + "chksum_sha256": "dbd2727c4906cba6e945896b24be521129405364dab6c4444652c2804f91a8ee", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/_reset_config.yaml", + "name": "tests/integration/targets/eos_static_routes/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b36bf6f528c9b79fc7a9b7f2d3b182ca1f2ddd3339579701d92b36b019ec959d", + "chksum_sha256": "6022c467edbcead6301a2203a755a2ab12fe648877cb77cdc2ab32f5d0cf6581", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_static_routes/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d6a728cf70443f8ffc3ff061c9ee8d1eb85866c930760f3b277200956f41fb99", + "chksum_sha256": "f8d6eb37916d612ff4b460b42cb1f8689420f1607695d867bf5a1ea7505bf64a", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_static_routes/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2b46d6ceee61ab907fcb57229bf38f361785e90cba1c90ac5ff50d4e9513a3d7", + "chksum_sha256": "2c42048158fb304b5951f30de6ce718b723ff26659c2f1ece7f577612f557675", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_static_routes/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1a8a850858d11124418c7fbc26742397895220754befde252ad24117705e3deb", + "chksum_sha256": "5c1986157b288504efba9959764aa6b8de99c79007f97a59c48e6ad72a496535", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_static_routes/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cce344c093d2137f12b8a9933298953bc3330081dcbae362088a5097b2514813", + "chksum_sha256": "9ab33deec36ea6b8eea7be1b6eafb943f360759fe3b3e5c78211a9ab6cda58f3", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_static_routes/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f924be9202c965db71f4880a635ba5acc81f9cb91f0101907f3e96387674e8f7", + "chksum_sha256": "c93a2f5e26cee3ca747d7dacfb5233adb9c1448b72c54119fd32dce25988f0b8", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_static_routes/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e2bc98e817414304b3ad22cf0d6747e9908af6b692824cb5dd751058968e2de3", + "chksum_sha256": "4df3d87f73db3368744f45083b9b822543ce447d77a6167922de9c3cc3908909", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_static_routes/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c417f982e3ee716d3de8a1bd93a0671eb29a513a6e4b62b7ec9ab6a06e038511", + "chksum_sha256": "08eaf829db084d4878287253871d6dde4d9027f179af071ba0b501eb474791bf", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_static_routes/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "45ec3d12aef7d086d901f4bba8e6084fe7a13cf8b31f321621c598fa2cb88405", + "chksum_sha256": "bec9055d452548f078aec3418ef1d147865a0b03c739b9a8cb7609142959736c", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_static_routes/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4bcd6ab1c2fc53eb4c774397a6ee078ce4382963c6ffb53e7514a13721c24974", + "chksum_sha256": "7efefbf1285c5fc94d42b155d5e3236241aea41a49727bf31e0d27710209a2e2", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces", + "name": "tests/integration/targets/eos_lacp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/defaults", + "name": "tests/integration/targets/eos_lacp_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_lacp_interfaces/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f53f0ae420b815a40999516a0df43dbf6be6478362d4fd00f938647cd31ea997", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/meta/main.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tasks", + "name": "tests/integration/targets/eos_lacp_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tasks/cli.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f53f0ae420b815a40999516a0df43dbf6be6478362d4fd00f938647cd31ea997", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", + "name": "tests/integration/targets/eos_lacp_interfaces/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tests", + "name": "tests/integration/targets/eos_lacp_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tests/cli", + "name": "tests/integration/targets/eos_lacp_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/_parsed.cfg", + "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e8dd392df3bb210172a0fb991fafc904367293cc00e7dbdd2289ab477d58011b", + "chksum_sha256": "d6a728cf70443f8ffc3ff061c9ee8d1eb85866c930760f3b277200956f41fb99", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/_reset_config.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e67fbf115a90966048b5dd75e61b370f6001fdebaf1da0c8cd8670e7593ef086", + "chksum_sha256": "1a8a850858d11124418c7fbc26742397895220754befde252ad24117705e3deb", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/deleted.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b58309f8938bba932257668c1dd8e88057583702dd483304b451dc2bcb3d2389", + "chksum_sha256": "2b46d6ceee61ab907fcb57229bf38f361785e90cba1c90ac5ff50d4e9513a3d7", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/empty_config.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb70b82e4f2780065245088e2a0868d4bd3ac4d78772c3533772904502384b7f", + "chksum_sha256": "4bcd6ab1c2fc53eb4c774397a6ee078ce4382963c6ffb53e7514a13721c24974", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/gathered.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b05efe5f17248475b35be8de1008f92763eabc0a46f7e6e6ef721d0ed1c0d005", + "chksum_sha256": "cce344c093d2137f12b8a9933298953bc3330081dcbae362088a5097b2514813", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/merged.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ac0aaba7718ec98d92a4b78ded3ee5dd5c7b0f7bbf4eb62a00200769ebd84362", + "chksum_sha256": "f924be9202c965db71f4880a635ba5acc81f9cb91f0101907f3e96387674e8f7", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/overridden.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d4e9b522c4e33d097cea87a3bfbdb7d7c0420be389b4b2ae4b0ec2c1dc9c1589", + "chksum_sha256": "a3796a2313899acffb35cddcaa5673d76efd8751d1fed12d820f5973a9476d8d", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/parsed.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c49e1972ec01b3646c6d93d8dce2d3672048797e780cd160b4b721a08b348d89", + "chksum_sha256": "45ec3d12aef7d086d901f4bba8e6084fe7a13cf8b31f321621c598fa2cb88405", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/rendered.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0a09e158385c2158469622bdd80fbaacde054cc03c780e2f895973c59413eb38", + "chksum_sha256": "e2bc98e817414304b3ad22cf0d6747e9908af6b692824cb5dd751058968e2de3", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/replaced.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ec7f5172df48561a7661707c31befc2372876e79536cf8452cce42131e26efa3", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_lag_interfaces/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "b36bf6f528c9b79fc7a9b7f2d3b182ca1f2ddd3339579701d92b36b019ec959d", "format": 1 }, { - "name": "tests/integration/targets/eos_lag_interfaces/vars/main.yaml", + "name": "tests/integration/targets/eos_lacp_interfaces/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "594c6341406e70e47b7f9a9af53f481c6876cea084a03beca4068406e59f149c", + "chksum_sha256": "c417f982e3ee716d3de8a1bd93a0671eb29a513a6e4b62b7ec9ab6a06e038511", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp", + "name": "tests/integration/targets/eos_bgp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp/defaults", + "name": "tests/integration/targets/eos_bgp/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp/defaults/main.yaml", + "name": "tests/integration/targets/eos_bgp/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "8d0f3e120b5e0f83314d06ed429b515b98e122ebdd4111b4e5be0bf09098877c", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp/meta", + "name": "tests/integration/targets/eos_bgp/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_bgp/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp/meta/main.yaml", + "name": "tests/integration/targets/eos_bgp/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp/tasks", + "name": "tests/integration/targets/eos_bgp/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp/tasks/cli.yaml", + "name": "tests/integration/targets/eos_bgp/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", + "name": "tests/integration/targets/eos_bgp/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp/tasks/main.yaml", + "name": "tests/integration/targets/eos_bgp/tests/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_bgp/tests/cli/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6c58c665f3d46c7e382b12352535b4c300ea576b2c8e2e075b93a6ce18f2031b", + "chksum_sha256": "9bdebd0673be1e39039dcb426a889e569042dad0c5cb7b2bf01ba68d7091b894", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp/tests", + "name": "tests/integration/targets/eos_acls", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp/tests/cli", + "name": "tests/integration/targets/eos_acls/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp/tests/cli/basic.yaml", + "name": "tests/integration/targets/eos_acls/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "53b18d54488b69edfd167f85e21b91301fdea473379481f5d96be206edd7124f", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp/tests/eapi", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_acls/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "123f47356786e4facd8bf8169639c0286878d1ad6e37b71c283d8729848ee841", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp/tests/eapi/basic.yaml", + "name": "tests/integration/targets/eos_acls/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f7b48fe0eac8caa3e2d627764dfa3fb2a4d9ccb00db62e4fad31670c2a390671", + "chksum_sha256": "9f3757d49c81f01e6fdc9ed127fe45328fca0d8bb2871cf5277a0af7f27ea533", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global", + "name": "tests/integration/targets/eos_acls/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/defaults", + "name": "tests/integration/targets/eos_acls/meta/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_acls/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/defaults/main.yaml", + "name": "tests/integration/targets/eos_acls/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/meta", + "name": "tests/integration/targets/eos_acls/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_lldp_global/tasks", + "name": "tests/integration/targets/eos_acls/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/tasks/cli.yaml", + "name": "tests/integration/targets/eos_acls/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f53f0ae420b815a40999516a0df43dbf6be6478362d4fd00f938647cd31ea997", + "chksum_sha256": "c567c0a070d35ae7dc0def99be6a57bdf14d0485dd785e72c4c9e192c98d12ec", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_acls/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", + "chksum_sha256": "6688f31ad22c98409e9af72340492edcfb288cef4d3c30037ed424b886cf634e", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/tasks/main.yaml", + "name": "tests/integration/targets/eos_acls/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_lldp_global/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/eos_lldp_global/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "d9b49e9cd0c20334e2f3ac1aaa7cf75fa51acfe5d2d47b60d35d77260d77b145", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_acls/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0048d6a4374fade15d938c1d79b79eb8b3d95500fe31a55b8e2509b3fc39cef6", + "chksum_sha256": "0659d10743e2796f81f48bae653e0cdf722e3999e7c2593453290fd0eafaf63e", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/tests/common/_reset_config.yaml", + "name": "tests/integration/targets/eos_acls/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "97c3ee1287e7584f46521ddc1bd32b3f6928c6f0c2f30fb00ded22272649ab1d", + "chksum_sha256": "adf72055e9bffeaa9a7d332e77898a2ff6f1748eb02046d0867c907601c72cc7", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_acls/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b4cce5198a2d66a44e8775b311ff670c877aed0d7d37c5f7b43d843f0f1e1f08", + "chksum_sha256": "8ae640e0d6726b443b36e33c066555aab81c0c865d21f92a9218fb449839df17", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_acls/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "44cb429ba9a7352289e7ce9c1f1b46965ea1c360510d031c554472b04012c4ae", + "chksum_sha256": "161b63801d5e2e1ed876dc6929ab54c7f2f89bef189ab4b7f394679b6561b244", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_acls/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4ac4431a75c62d1a70050d834f822be901e87b57cf6178b14069bd0dba8a95fe", + "chksum_sha256": "49fbf1221f7702466cfa35dc681b919b2e7f627e1649743147b80bdf021fd1f0", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_acls/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "61363b2fbb08af548968fd3bef7e529f5f1a15d59d8c36732c9a430488d4d2ff", + "chksum_sha256": "02a799009a3c14748b28e1ca595ec784e16f7589e3d08786991775bb73edc628", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_acls/tests/common/_parsed_cfg.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ecfacbd7e8e994b8e1ca0db698eb1226a9f0cdecd0bc4dcaee71466d7fa237b3", + "chksum_sha256": "be71f5afa12feed2b7689ce870b7eda8b2b722b1968643f26951691612fa7822", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_acls/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cb37329f298bade2c13b44af8e8036f83bdda812f2acca9eead754340be8d829", + "chksum_sha256": "8b73e35944c74b107af433bbcc6e7b7c4cf64f928a29dadffa1f8d469c1c6d25", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_acls/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "13d7c23ac9137d74bd2614020c8d8c585f3fb9ae30d53d8a120a1abe168d47d0", + "chksum_sha256": "50f9aa1e9a9c7e29fc6efd923caa8cfb358bbd69417b539d2ecd978af5e1519c", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/vars", + "name": "tests/integration/targets/eos_acls/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_global/vars/main.yaml", + "name": "tests/integration/targets/eos_acls/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2e8be33a4b8c4f6ed1238e648834c66b382d5d0c9638b2aaa15d23e5433e181e", + "chksum_sha256": "4ac57542e8c5b785dac916943f46c3166ab7e8ed158541a5f38c8d83ba8247c2", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces", + "name": "tests/integration/targets/eos_acl_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/defaults", + "name": "tests/integration/targets/eos_acl_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_acl_interfaces/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/meta/main.yml", + "name": "tests/integration/targets/eos_acl_interfaces/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tasks", + "name": "tests/integration/targets/eos_acl_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tasks/cli.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f53f0ae420b815a40999516a0df43dbf6be6478362d4fd00f938647cd31ea997", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", + "name": "tests/integration/targets/eos_acl_interfaces/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "a79b77c93a1982c2682c177681bfcef5f3fb3421e3ef10be452fc81dc3ce8871", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tests", + "name": "tests/integration/targets/eos_acl_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tests/common", + "name": "tests/integration/targets/eos_acl_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_acl_interfaces/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "73c669fdf692d5f7f3b578f6a4a46f8b0fff6d62da0f62ad903648405e9934dc", + "chksum_sha256": "b87b082bd1a6efb8a4fcffbc804615955068460aa128235e5bc6833b551be9b2", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/_reset_config.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c711ecfe5d02de94fed82b58d3402e733c1e575fea60c3f9744f3379b01d1b33", + "chksum_sha256": "dfc9f3e78036a19826feccd2fad6679dd22d05d44fdf5226540ce1f29256f261", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e10f178b46e0a654204ab75a7487641c6345c51592481e64d7c7d5d15317ac67", + "chksum_sha256": "e43043f8a8c88832634fb29c4839abc2be35598c34df4a953d0eda562a90c78e", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0e5f55128df4f7326db45dfc8c478e59a39d68053caf563625473079580d6838", + "chksum_sha256": "e304de25e98dfbbd3e8b884f6478d7b841a022b232febe94380f256a50a51557", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7576f665b34ce43ec4245fd5765611aa031ffbf73096d9f8907b7e5a9f537c52", + "chksum_sha256": "f2b15009df3b8b2bd9936379027b7f544a9c81a23e5c33fb9847b25a0b54645c", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8fbe99406870ccff9922c49a2ae193a563edcfb51cd7a4e2797181d1a3edf3ec", + "chksum_sha256": "4cfbb7d9c017eea2318fb53edf60ff9b83e6dfeccae2d6bc85f16d05d33a7ff0", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2a49e3976aa794644e2cb1ed765367a39ad81b39a42c16bca3bf32c8043dc9b1", + "chksum_sha256": "1668ec34e8d2f67dc611925ddf3b4f00ae826f0a65c72d939a8b1046d64c873d", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "23e7bceb1fd85748923512e2facfaf4cb2727570be530b30897febd6c79f2a1a", + "chksum_sha256": "1f5be632f4525a5de8591f6aa83113ccf37fd9cb62d0f5b6ef4c62dcfb1c6fa7", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b4f0aac4ed1a3d18ee04a35d42b989ee6a3e2a8ad07ee8b98f56f275b027e826", + "chksum_sha256": "dad0f95e9549bce843069bc4584803994e2549a64e70c6d844e5d37e41190630", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "670d9e454375f4479720d7a70e5099afd23319aa52bf2d01ba9b916ffd385d8e", + "chksum_sha256": "0d3dca47353e80e36f629fd572a1b64e2c49dd75d82bf4ab28fc53634d33803b", "format": 1 }, { - "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "61c502d64492d3127c5503a4c6180c49d6bfba16ce0b4db6d37f5547b8bed58c", + "chksum_sha256": "86b04f3482cda3dd386cac6bd225865c4f3637845bc2b38165814e6c89bbaa2a", "format": 1 }, { - "name": "tests/integration/targets/eos_logging", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_acl_interfaces/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "876b6b7da3c239e569da81974334a14293ce92683bae9643239bcd4bb083c94b", "format": 1 }, { - "name": "tests/integration/targets/eos_logging/defaults", + "name": "tests/integration/targets/eos_acl_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging/defaults/main.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "8631d3b93d4bf6c66a2d3f5e5c11f188f364dc3a36a4bfa5614a51a045a1d49f", "format": 1 }, { - "name": "tests/integration/targets/eos_logging/meta", + "name": "tests/integration/targets/prepare_eos_tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging/meta/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_logging/tasks", + "name": "tests/integration/targets/prepare_eos_tests/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tasks/cli.yaml", + "name": "tests/integration/targets/prepare_eos_tests/tasks/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "chksum_sha256": "c53c149ac2c5c508711c2414d406b033110276eb4622949358a6e1efcf3cd505", "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", + "name": "tests/integration/targets/prepare_eos_tests/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tasks/main.yaml", + "name": "tests/integration/targets/prepare_eos_tests/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "851860fe2ed1258710d7fcf89ac5b7d8c3c87755e89ca56fdd79bea022eb2b92", "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tests", + "name": "tests/integration/targets/eos_hostname", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tests/cli", + "name": "tests/integration/targets/eos_hostname/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tests/cli/basic.yaml", + "name": "tests/integration/targets/eos_hostname/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a007ba121e4852763d37a3f6c644aa9eb28771279d1190aadcf77eb97675c5a4", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tests/eapi", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_hostname/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tests/eapi/basic.yaml", + "name": "tests/integration/targets/eos_hostname/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "90cbadb226481ddfba8e6981076e1d859499316b2c4018afea81607d469cd0ee", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global", + "name": "tests/integration/targets/eos_hostname/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/defaults", + "name": "tests/integration/targets/eos_hostname/meta/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_hostname/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/defaults/main.yaml", + "name": "tests/integration/targets/eos_hostname/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/meta", + "name": "tests/integration/targets/eos_hostname/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/meta/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_logging_global/tasks", + "name": "tests/integration/targets/eos_hostname/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tasks/cli.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "bbd01a1b82535d87fb2c5192c045a1452c02385b1d9325bdcb8013b03f3840d5", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "e8f9622547f2e0fa5c603e7d1e76348d76da8bac90ebfa21179749ee691cd648", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tasks/main.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "aed726bbfbc34673f8da380cceaac909741a8a4533d1abf057afb6d9f5b0b214", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_hostname/tests/common/empty_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "969820bbaeb224608a4aab530cbeeb88627ac039bcacf2a1942ec42705e5514d", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/templates/populate.cfg", + "name": "tests/integration/targets/eos_hostname/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0637d1b53afb46a8eec79f5c0763905f7f7c182db42f823402261479d71fae15", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_hostname/tests/common/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "079da330b620d09b22c55b8c63db98278c3347639db086a2c86f0039f2d13f35", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_hostname/tests/common/overridden.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "36160ee5a95d8b19e314fbe8b473f56c8dc87e209f3c9394803a1b7a900f9ed4", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_hostname/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1340381f48cc0d4caa0403bbab7b72de9484ba5fb9efa952068ef9af8234e596", + "chksum_sha256": "55cfe4746ef24943eac865d5b0fd9b6a6884e0e529983e253d5764175c01c6e9", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "784e0e5db4b302883890287cd2ba18d7005403f1c05be8c8c23f7d8b1f807cea", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b2770a4c9d78449e45cb039ca95cc66215d4b5fca8aeca52e28280daacb29ee5", + "chksum_sha256": "9093ee823c0145791216cf2d53f00df72c6ba361f525b2337b6645bdb7d3e8c5", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "653a99b2d157d5894d94aacc19083fc14c76b23077a390c15c6c6ef57aea62f5", + "chksum_sha256": "d89644559714c65b378af2d9a1e23c0432a2f1abd4fb09f3538f844430dc06d3", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/empty_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7c490f97548080abda0e8ebf836466a8a6bde8787bc433c6223ba3d59fd42170", + "name": "tests/integration/targets/eos_hostname/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_hostname/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "61de4747e7132e7d8e54ec9eb6443f26e2896927739607b0dc6074d5369beae3", + "chksum_sha256": "9762cc4a787aec50485af807234f50902fde96f57e6ad904e62a9588c1f61373", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_hostname/templates", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_hostname/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f7ae7444cf6cc04a2541fabd62ec1667d165cb39ce0b7d171f6efac9e4bd7638", + "chksum_sha256": "55cfe4746ef24943eac865d5b0fd9b6a6884e0e529983e253d5764175c01c6e9", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_smoke", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_smoke/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_smoke/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a3027ab685c832aec9f4b8cfa8e26cc8589f25f9fc802b246d3935ab7f1206c5", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_smoke/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5776e2445ac71c922c12d4f1a1aa667a2c824a3e4e6653bbe6f834a1da2dec19", + "chksum_sha256": "c7d7b1929079920b7a5922066471180e88e05b39a275e6e842f3d8bb6e5269c4", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_smoke/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "108321fdfd99cdb6ff1b98da4741aa931453d409480f06c8c9af67e1aaae93e9", + "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_smoke/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_smoke/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "04ab08225d0e0b263fb06ebafa021ee73c6117852c370d5266d36a5c13fff449", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/vars", + "name": "tests/integration/targets/eos_smoke/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/vars/main.yaml", + "name": "tests/integration/targets/eos_smoke/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c2b71c8e8843f1fa24e2f0bafd6c1bd7880c076e0f5ded8086f8ac71f46955d6", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global", + "name": "tests/integration/targets/eos_smoke/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/defaults", + "name": "tests/integration/targets/eos_smoke/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/defaults/main.yaml", + "name": "tests/integration/targets/eos_smoke/tests/cli/common_utils.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "16ff2cbec75c329d7ffaeff96467873aae0b48e203e9013b5643fc47af5d47aa", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/meta", + "name": "tests/integration/targets/eos_smoke/tests/cli/misc_tests.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "8d12a8d25e86ab4cb05fbb567d3e602da96ccf9c7249a92d4e7b00175242085e", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_smoke/tests/cli/common_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "8c0c76c10792321352005faed0ae9c51f1387f4964f2175e9a8e39af1c444ca1", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_smoke/tests/cli/caching.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ea530ff631421e3a7a074f77dcaf5b511a4020d80f609a967362c7708b910c01", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_smoke/tests/cli/reboot.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f89bcad9703169bbc45f7cb7a306b81666f9ac935a912a144da191470dcf1102", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_smoke/tests/eapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/meta/main.yaml", + "name": "tests/integration/targets/eos_smoke/tests/eapi/common_utils.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "a18fa7aed51409b4944aada8a31a413f1058fda4ca0e652f55296166b6c5a253", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tasks", + "name": "tests/integration/targets/eos_smoke/tests/eapi/common_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "8c0c76c10792321352005faed0ae9c51f1387f4964f2175e9a8e39af1c444ca1", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_lag_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tasks/cli.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_lag_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "f53f0ae420b815a40999516a0df43dbf6be6478362d4fd00f938647cd31ea997", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tasks/main.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/templates", + "name": "tests/integration/targets/eos_lag_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/templates/populate.cfg", + "name": "tests/integration/targets/eos_lag_interfaces/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "db6ca3b0768262fced3ee97dd2e9b9b9f6085d81047770a3883c7b65973d51dc", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests", + "name": "tests/integration/targets/eos_lag_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common", + "name": "tests/integration/targets/eos_lag_interfaces/defaults/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_lag_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/_parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "db6ca3b0768262fced3ee97dd2e9b9b9f6085d81047770a3883c7b65973d51dc", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "b58309f8938bba932257668c1dd8e88057583702dd483304b451dc2bcb3d2389", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "930ade9d4163376aae340574caca0dbcb60880eaabc6836d7357898b325a670c", + "chksum_sha256": "b05efe5f17248475b35be8de1008f92763eabc0a46f7e6e6ef721d0ed1c0d005", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "80a3c218ee8aaefd8e3fccc016b73adede17f646b5cb7aeb92930b2ebf240e08", + "chksum_sha256": "bb70b82e4f2780065245088e2a0868d4bd3ac4d78772c3533772904502384b7f", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "65f05f9b573112dd4035eadd0ef4c037794e2c2d8575a9e57bce3363f9251e9d", + "chksum_sha256": "ac0aaba7718ec98d92a4b78ded3ee5dd5c7b0f7bbf4eb62a00200769ebd84362", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "db285e5dba7f6690073a06d6fa2c71df3f551c1df280f25fc99a690c96b74053", + "chksum_sha256": "d4e9b522c4e33d097cea87a3bfbdb7d7c0420be389b4b2ae4b0ec2c1dc9c1589", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ad9aa73641fa04cef01184edad25e66075435e1190f1fd8dd6b35bf9a3da968d", + "chksum_sha256": "e8dd392df3bb210172a0fb991fafc904367293cc00e7dbdd2289ab477d58011b", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "42c31c2540456a34184d4bab9fc456c8ac86f151e3fe42609f6acfac96638eeb", + "chksum_sha256": "ec7f5172df48561a7661707c31befc2372876e79536cf8452cce42131e26efa3", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8ad00ff561ee93d06eabfc81bfdd27c78dd622a1f9776da62893eb6a219fa338", + "chksum_sha256": "c49e1972ec01b3646c6d93d8dce2d3672048797e780cd160b4b721a08b348d89", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "425b9069cbfe0e6daec1d28d3023f886464df76571975acfa14d43285eab3dd5", + "chksum_sha256": "e67fbf115a90966048b5dd75e61b370f6001fdebaf1da0c8cd8670e7593ef086", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d755dec987689bb90c08d6864899ad17b02cc78e78ec8126d1ff75897f7aea77", + "chksum_sha256": "0a09e158385c2158469622bdd80fbaacde054cc03c780e2f895973c59413eb38", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/vars", + "name": "tests/integration/targets/eos_lag_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/vars/main.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "abc053514dddfaa3eb54034ff9f04c8481b9b7ce6071dee44a2056f3a98685ee", + "chksum_sha256": "594c6341406e70e47b7f9a9af53f481c6876cea084a03beca4068406e59f149c", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces", + "name": "tests/integration/targets/eos_logging", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/defaults", + "name": "tests/integration/targets/eos_logging/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/eos_logging/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_logging/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/meta/main.yaml", + "name": "tests/integration/targets/eos_logging/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tasks", + "name": "tests/integration/targets/eos_logging/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_ospf_interfaces/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_ospf_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/eos_logging/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/templates", + "name": "tests/integration/targets/eos_logging/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/templates/populate.cfg", + "name": "tests/integration/targets/eos_logging/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e2d645f551982b7ea8613b5d94260428dbcd4cd3207d34a4bb51fb8722b0ffc4", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests", + "name": "tests/integration/targets/eos_logging/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common", + "name": "tests/integration/targets/eos_logging/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_logging/tests/cli/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b5c505431c56a3bd030ee52a85e240626c905bfe2809aab18a2e761066e0ccbb", + "chksum_sha256": "a007ba121e4852763d37a3f6c644aa9eb28771279d1190aadcf77eb97675c5a4", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/_populate.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "name": "tests/integration/targets/eos_logging/tests/eapi", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_logging/tests/eapi/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f61d79526410667fe97aa0c1fa0c6a0162e500c6abc373d025165382643b96a4", + "chksum_sha256": "90cbadb226481ddfba8e6981076e1d859499316b2c4018afea81607d469cd0ee", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4f997c36cc9170f11226c5057f8a2a6b9da5717306c07a8dcfae8517d9b4152d", + "name": "tests/integration/targets/eos_command", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/empty_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e9086ad58ff3a415a829921047e1c805e34d6ae95488b9b1c937b20a922ae964", + "name": "tests/integration/targets/eos_command/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_command/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c607da23362194cb7a396214a601408e7ea7b78e895567b6a070205916f4677", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/gathered_empty_config.yml", + "name": "tests/integration/targets/eos_command/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f6ff5c23745f6f182db2a1173cd25b5a98a29465a8bc37cae61678d8c577af23", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_command/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "698af51d7f6a6ced71a9415495684f30be35b26cb298b53e1de7792a3d857c18", + "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/overridden.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3389b2ec80e9dfa1b851de623ba7bf990b39240feebc9e3cb18dac87b85250e", + "name": "tests/integration/targets/eos_command/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_command/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3fd4657ae775a57bdcda3537eaafb956b979f0a1569c80583364e96f16e2f201", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/rendered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c136e2d339db165c433d2b3bd05409e542892bb8a5a94f53737891fb082d16f8", + "name": "tests/integration/targets/eos_command/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_command/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4222a5770d1b912a7ac71103749ff82d93dd903e769e87690471a59be0c7e988", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/rtt.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cb5f91b025aa37891756c22bfae165a560c4c00bcee7f0d93005ddc79944886e", + "name": "tests/integration/targets/eos_command/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/vars", + "name": "tests/integration/targets/eos_command/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/vars/main.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/lessthan.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bd015c6e2a8c0de8c44a813c8d30a6554cb1f7dec683760cd30a899ce85481c5", + "chksum_sha256": "6829309ca8cf687d623c0c9f497e1f145aea6dc7df99c832174e549c18c83620", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_command/tests/cli/invalid.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b5fad1e7df8589dfd24573eb51f93dfb513d5fae99d434fd92edeb5ee1e96945", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_command/tests/cli/greaterthanorequal.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0410c3b348dcd910c449696a7ca05847e90d4e9d0504287ef1ede60d9f526308", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/defaults/main.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/contains.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "e4e02af125647f0d0812ea8f3d43e8ca78a8ba11e4a572c39a8a061f836aada7", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_command/tests/cli/equal.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "762cb51b120a123a9af5a8256b45ff6103bf26624e6425e4a8b42c1c34cb70df", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/meta/main.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/bad_operator.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "7519d9b6d82234763393ccb21be1c3b1aee3457627c963bddb6db8ddb11df7ea", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_command/tests/cli/lessthanorequal.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "02dac1c05e69cfe6e0db11694305e27d5cf5c18b916c83725145a01c45d151ce", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tasks/cli.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/output.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "c4f066d2e8544080a5cf534d49cac23b6af9380724df99f1ac2ea601fdae230d", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/greaterthan.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "84cf8932e41d9e08041c38f84dfb9b1d62680abc42a4b645245ef5fd365b362a", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tasks/main.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/timeout.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "0710688d24996846459569d49568102b47517ceb62da0be0168f8f4cc10744b2", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_command/tests/cli/notequal.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3bb2dfd7a6a694105573c6eadaa72f817458acc9dcb0dd0a1a854d319d09cef5", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/templates/populate.cfg", + "name": "tests/integration/targets/eos_command/tests/cli/version.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a50326c21eba1d983db933b7a18c112f2aa7c5f16d574dc908095d9258b1cdb3", + "chksum_sha256": "7e1ca984e5d0cff37df1d4029e0a9044daa287e5b6355387920054695dfd61cc", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_command/tests/cli/cli_command.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "da86906ca5b2fd63ecc66e426e89f951058a3c90f0e9fd36accf6001837fda25", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common", + "name": "tests/integration/targets/eos_command/tests/eapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_command/tests/eapi/lessthan.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "efe02afcb1c79bf68872562eb02977725e731dfbe7536b270e0273e2766a6521", + "chksum_sha256": "9cf1473ef81732265c8fab9d4aac0e2412a160b4cd1b8bccf474a6b4b872093a", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/invalid.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "e0ff41bbdbf781316e8f8b28ae72d5c6f2dd45d9040e340ed8e089632c62dfb5", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/greaterthanorequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0c38f23b440f4e2e1c0024d0c3e828cabea8b77cb08245223e9d1bd041824f55", + "chksum_sha256": "58247b34643e80aa852c3069ab18673c02c98a30845b2edc808262ccd0e26a37", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/contains.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ebe46cf49f8af67c8cfe104d7c6e943b0280e000755907f8e718a035c9a622db", + "chksum_sha256": "35fa217e836688b2d7399c66f9408109429434afe4e85a78fa57ba9d440e7083", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/equal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2a7cd3925d54d03101a02b74c8b75fbf36fc335d3e53202ec6645f4b133f9cff", + "chksum_sha256": "bf0a37bd334e4ac7039fa458189a52163c074d38da24e01b4e31b1a5df564bf5", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/bad_operator.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "63faa553716754def756ba24e2a6f899177afdad432eb183b788390d219e1901", + "chksum_sha256": "92b19c1a1597bad3fe8920c6d15810f2df039981b9488dc802e31b599255ca7c", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/lessthanorequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e9e40c2f4be5c39a0bf44fc386944705e5fe6af989b7b2eab6ca282f7fb183a5", + "chksum_sha256": "5762ba9c8c56c10a9473447afc5e4be6f14c8a13f64840fe001e0b1fb1a0cf9a", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/output.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3e4c4999c892bdb9fca72e568774b2c986d7bdfa8fa419c651767c6d4482d50", + "chksum_sha256": "693de41c9288eff0fecd465d42917945b0304d9ed5e0ac8f0370e25daf21b8c3", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/greaterthan.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e8a3b87032a207d23558a38cd9b6dc25ec6af9ed0e9bc6b41725619fb0f180d0", + "chksum_sha256": "c4156873ff938c4126af0092303770286cd3c1829ec579689a0413d85b57a7d6", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/timeout.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b7d761b36741b02edb289d71aaeac703a09dd50044f06b7a22efb65c1debf4e9", + "chksum_sha256": "77c15954650a439dd4fad91b81be94d802c38168a3ab63478d957492874362e5", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/notequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e88142e55ffbbe41f70ee83358da99cd518becb3ff0901f786bb4d56cc098d30", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_ospfv2/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "fa8076a05fc1d4cfc801e077a2204d20cb1c7eca29ee7efca969fb68bb4969a9", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/vars/main.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/version.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c7cc18f6491766c65c2c46d595e731de7a188f6c8a4d85a511193825761fc5c1", + "chksum_sha256": "3a28c24b52f933e2a767f91719be61f48f473d42854b0f2bb17583d1ec9b6d6a", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3", + "name": "tests/integration/targets/eos_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/defaults", + "name": "tests/integration/targets/eos_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/defaults/main.yaml", + "name": "tests/integration/targets/eos_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_interfaces/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/meta/main.yaml", + "name": "tests/integration/targets/eos_interfaces/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tasks", + "name": "tests/integration/targets/eos_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_ospfv3/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_ospfv3/tasks/main.yaml", + "name": "tests/integration/targets/eos_interfaces/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/templates", + "name": "tests/integration/targets/eos_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/templates/populate.cfg", + "name": "tests/integration/targets/eos_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96b764ff7795f328d12684eb2dd1aa60ea1e4d6d5d3e6ed638273aa7deb25686", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests", + "name": "tests/integration/targets/eos_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common", + "name": "tests/integration/targets/eos_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96b764ff7795f328d12684eb2dd1aa60ea1e4d6d5d3e6ed638273aa7deb25686", + "chksum_sha256": "a62f1fe641f551ad15f8c85593b987486f1099f5a9172a1b27e73b4520e8ee29", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "7f0746803db7cb46077bb261ea73492246c9973b05d4369c4830edd6181bf453", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "772202a71a3c35454372ee3e7d0a8bc98615b619f4cc37ebf1bc20ac7d5d55bf", + "chksum_sha256": "bc26969057893c4516d300b795ab9a9ca599596ea075a83972b2af4ed2164596", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "18a10808206e727ecffe9b9714974da7d6c95edacd2758b0dd75d207fd6539d2", + "chksum_sha256": "ca4a201cb5ed8e1649d04eba504fc0ba0584b9404df7d3fdc3df1d9cb708c992", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dc8f776fa74a50716d8a0194c5a56a51305991e4295186c2f011afe0cd89a87a", + "chksum_sha256": "5a0737935c23ff3552dcf975ee16cfa42adfbcea87cf8bb0b8926b2ccf09c8d0", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ef28a5797b256528edd1bff83509babe07944218468f22f9bdeeef905b52a4b2", + "chksum_sha256": "2d7fe951ce7d79d1fee4fa2149e1f341d06c7910a220bda9e86118ea26349fef", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ccb7da45bb920569021036a8ad9757cd020f0012686b5d073f29f9621f7471e1", + "chksum_sha256": "36a0793cac2c404b733a21498bf803d7fc38942c11ea65ea26521ca4d64e04d8", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "704e3f910ea6a5ef1cab48ec4bbea46955189e811124fa2c1a8dce9a0efb6a17", + "chksum_sha256": "ca023a36a14d5f2de1b213f4e7626424523c01e952e08789e5cac48107ae0b4f", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c5780138500b761a2832d155ea8a30d7e78fa10a02ab581125af875994bb45c8", + "chksum_sha256": "0c3a7c9a205c5ff75308f7bb5b9ec60565eb624f45526d5712b3e1ed026e087a", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "db343d29422b68984563c86904ac0ad79845853240e757cc26248b267f8e6f11", + "chksum_sha256": "7ae46767fb3bead2365a6cc3aeb9acfb44d8ad8fdee5313f144fe1d248110eaf", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c53dc625cf760dec12686ef99081361defb9dbbfaf9f6ce2d6d00cd6b0eda97a", + "chksum_sha256": "fed3bcba071a6d00304fba18b40062463af1e4f9098048ca4385c8ee7d3703ee", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_interfaces/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_interfaces/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8d5a2e7460ef5bb7f6647ee5902bb0e4a9322beec5011a3c84d47804f5ffed7e", + "chksum_sha256": "21f21b62a39efa62ebd86dc0b152614f89828c29b70b513a5eab734ba59bb230", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/vars", + "name": "tests/integration/targets/eos_interfaces/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/vars/main.yaml", + "name": "tests/integration/targets/eos_interfaces/templates/reset.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9917e16f0a7a0b7484fe0780a79f0b22180b634ad091fee3f94946946d87e030", + "chksum_sha256": "0a096e71ea1c5a1c492cc2e33283e427338efdf9d837a590b582c2702ccee07e", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists", + "name": "tests/integration/targets/eos_system", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/defaults", + "name": "tests/integration/targets/eos_system/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/defaults/main.yaml", + "name": "tests/integration/targets/eos_system/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_system/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/meta/main.yaml", + "name": "tests/integration/targets/eos_system/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tasks", + "name": "tests/integration/targets/eos_system/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_prefix_lists/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_prefix_lists/tasks/main.yaml", + "name": "tests/integration/targets/eos_system/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/templates", + "name": "tests/integration/targets/eos_system/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/templates/populate.cfg", + "name": "tests/integration/targets/eos_system/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f41196dd12570c02dff69372f0539ac676553a8c97da1637db552399aa691fcd", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests", + "name": "tests/integration/targets/eos_system/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common", + "name": "tests/integration/targets/eos_system/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_system/tests/cli/set_lookup_source.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f41196dd12570c02dff69372f0539ac676553a8c97da1637db552399aa691fcd", + "chksum_sha256": "9b571561204978b797cde9c09803bd0f35e3a4b1d0f032d549b0d8a479bb7742", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_system/tests/cli/set_domain_name.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "96a436ed7ba93da80b30b7fde2babbd14d77e20c888843f12fbd37f368774c05", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_system/tests/cli/set_name_servers.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8184f88e334762f387e4baa6b3ab70c3c160a75c861d669a89b1f2940fa0b501", + "chksum_sha256": "5a6511f53c7475d55b01bd0fd150ecc8432e6a237a0634b9f7d0dab26473d88b", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_system/tests/cli/set_domain_list.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5789eb8ee641ebf96faa3beaba1360916812f0b72bf79005dacf09038224eb1b", + "chksum_sha256": "382aace82bf0f7d0a09ba8f2a35a825bf9085cdca7d62d507096e65e361b6922", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_system/tests/cli/set_hostname.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1246641c583926029ffa31cf7d9f68a5a3b5d9b6c3426323965a7ace18308646", + "chksum_sha256": "3ddfe22c80b9e909d2cafe93380715fc7d695425a4bf23c0c549bbb1414fc8dc", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/gathered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "75d1ef4096be7283925fda58180d9f70f9bbb42cc023228ee6bf69aab00052c8", + "name": "tests/integration/targets/eos_system/tests/eapi", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_system/tests/eapi/set_lookup_source.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eee19a016590fc436d8be49414f1f5bd60598eac308df3f1581ec52677c6db1a", + "chksum_sha256": "5ec0cefc6ecaf3e422116a57b7a77dac7c7e8de65543b445baaa5b08bb0c31a1", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_system/tests/eapi/set_domain_name.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2481891014a0b474f98bbf7691a95628da7c0897b3ee4fc8046cbc79e0f54c75", + "chksum_sha256": "8cfd63ce023b45928d446783ffcd516e4ab736187d36102514859dd9aabcec05", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_system/tests/eapi/set_name_servers.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "40293ea4167e097760e7aeb5b43e229510ef4eefe55161f18756aea2410aca32", + "chksum_sha256": "3f151be120cd9e6e74b1778bf682f08879753fc2198c807e4ecebe4486d21c28", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_system/tests/eapi/set_domain_list.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "412ce27b1e535cfda5876456c2355d78a394ef0db13ba99c334f632732efb388", + "chksum_sha256": "c864953ce83d0099b4f025894c10d502d1ecff22776b89688f784bf172b4f936", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_system/tests/eapi/set_hostname.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "40b71ec679a26a406e66f31dc4b561a0671ffc493ead69d80c60d7a58a8bb871", + "chksum_sha256": "6bce01fac4d41bba5dc1495d183f86d153fbd010a3b1ac760bd07c32bcd3c5f2", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/rtt.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4b607978c8e64316d6196fa19665a85a0eadbf919ccb8875644857cf9b328407", + "name": "tests/integration/targets/eos_ntp_global", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/vars", + "name": "tests/integration/targets/eos_ntp_global/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/vars/main.yaml", + "name": "tests/integration/targets/eos_ntp_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fbdeab37387d1fd29e31ca469d49a5297e3fe095e30c0a02dd0f402a7bfe87a7", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_route_maps", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_ntp_global/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/defaults/main.yaml", + "name": "tests/integration/targets/eos_ntp_global/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/meta", + "name": "tests/integration/targets/eos_ntp_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/meta/main.yaml", + "name": "tests/integration/targets/eos_ntp_global/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tasks", + "name": "tests/integration/targets/eos_ntp_global/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_route_maps/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_route_maps/tasks/main.yaml", + "name": "tests/integration/targets/eos_ntp_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/templates", + "name": "tests/integration/targets/eos_ntp_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/templates/populate.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c74494f69023cfc97d41e81575736420b6f29e2d384b0e7f8f41c446ffdc603a", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_route_maps/tests", + "name": "tests/integration/targets/eos_ntp_global/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_ntp_global/tests/common/_remove_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "930ade9d4163376aae340574caca0dbcb60880eaabc6836d7357898b325a670c", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_ntp_global/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "64a5a2e160aff448bb567d8d4fdba4c3231f85ab0b44e2f596fe2784148e8554", + "chksum_sha256": "80a3c218ee8aaefd8e3fccc016b73adede17f646b5cb7aeb92930b2ebf240e08", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "db285e5dba7f6690073a06d6fa2c71df3f551c1df280f25fc99a690c96b74053", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cdabf064aef1475c5f3ca82c999bf1b31e113c0dc8e8c23c043b792d4ea0d6f1", + "chksum_sha256": "65f05f9b573112dd4035eadd0ef4c037794e2c2d8575a9e57bce3363f9251e9d", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "28c7426a5b17a56f3b95701a57e71358f555978f8411340e51b098932fbe5bc4", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/update.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a089af65191e7c43d545eca51f782b7d202e2cb2d56494bface34b020cb45666", + "chksum_sha256": "a8d288c944ccb44045ad3ae954b9f8c24cd785b81a8d895a49601b8bdb3da459", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15d0e603090321cfdddd64967bc56c26dfb3003af6930743aa03bc6171ff0a3f", + "chksum_sha256": "ad9aa73641fa04cef01184edad25e66075435e1190f1fd8dd6b35bf9a3da968d", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a43b4966005a8a7ff89e03d834bdafcc7bca6d64de605c312d06bce503883af5", + "chksum_sha256": "42c31c2540456a34184d4bab9fc456c8ac86f151e3fe42609f6acfac96638eeb", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "79312d821332f81704323f4a81c7a25bc6028b81da83946485016d95669068d7", + "chksum_sha256": "db6ca3b0768262fced3ee97dd2e9b9b9f6085d81047770a3883c7b65973d51dc", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "351d48443390baf9e5ba8e9b8856931bb61b2dfa4b78ad8c1096ca9f02a1c663", + "chksum_sha256": "d755dec987689bb90c08d6864899ad17b02cc78e78ec8126d1ff75897f7aea77", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ef67fa3a5f7c2e93109b6fe7a8241945ba90f239fab62d805af4229984ffd5d0", + "chksum_sha256": "8ad00ff561ee93d06eabfc81bfdd27c78dd622a1f9776da62893eb6a219fa338", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "44f4351a9b5d2fe29f5ceb7b8da5353d19e68a3ee410ed12f362f8ae419faf42", + "chksum_sha256": "425b9069cbfe0e6daec1d28d3023f886464df76571975acfa14d43285eab3dd5", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_ntp_global/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_ntp_global/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "60cc6ccf0b2663bfb35b98686d984c74580676ff0f846553237213ea77df4177", + "chksum_sha256": "b44421f37fc760a771a3a602eff1724eddc44e6dc49e6275afe538587c656a3c", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/vars", + "name": "tests/integration/targets/eos_ntp_global/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/vars/main.yaml", + "name": "tests/integration/targets/eos_ntp_global/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d337f562d76680d2b85d2144b4897034f37423f7f160a16e9c9ea66cc41f0f50", + "chksum_sha256": "db6ca3b0768262fced3ee97dd2e9b9b9f6085d81047770a3883c7b65973d51dc", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke", + "name": "tests/integration/targets/eos_ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/defaults", + "name": "tests/integration/targets/eos_ospfv2/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/defaults/main.yaml", + "name": "tests/integration/targets/eos_ospfv2/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_ospfv2/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/meta/main.yml", + "name": "tests/integration/targets/eos_ospfv2/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tasks", + "name": "tests/integration/targets/eos_ospfv2/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tasks/cli.yaml", + "name": "tests/integration/targets/eos_ospfv2/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "127eb0878df69b7450386b07fcc8cb8a9582ac42fa9bed00c23a4b86da8d94fa", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", + "name": "tests/integration/targets/eos_ospfv2/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tasks/main.yaml", + "name": "tests/integration/targets/eos_ospfv2/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests", + "name": "tests/integration/targets/eos_ospfv2/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/cli", + "name": "tests/integration/targets/eos_ospfv2/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/cli/caching.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ea530ff631421e3a7a074f77dcaf5b511a4020d80f609a967362c7708b910c01", + "chksum_sha256": "0c38f23b440f4e2e1c0024d0c3e828cabea8b77cb08245223e9d1bd041824f55", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/cli/common_config.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8c0c76c10792321352005faed0ae9c51f1387f4964f2175e9a8e39af1c444ca1", + "chksum_sha256": "ebe46cf49f8af67c8cfe104d7c6e943b0280e000755907f8e718a035c9a622db", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/cli/common_utils.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "16ff2cbec75c329d7ffaeff96467873aae0b48e203e9013b5643fc47af5d47aa", + "chksum_sha256": "63faa553716754def756ba24e2a6f899177afdad432eb183b788390d219e1901", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/cli/misc_tests.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8d12a8d25e86ab4cb05fbb567d3e602da96ccf9c7249a92d4e7b00175242085e", + "chksum_sha256": "2a7cd3925d54d03101a02b74c8b75fbf36fc335d3e53202ec6645f4b133f9cff", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/cli/reboot.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f89bcad9703169bbc45f7cb7a306b81666f9ac935a912a144da191470dcf1102", + "chksum_sha256": "e88142e55ffbbe41f70ee83358da99cd518becb3ff0901f786bb4d56cc098d30", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/eapi", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_ospfv2/tests/common/_populate.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/eapi/common_config.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8c0c76c10792321352005faed0ae9c51f1387f4964f2175e9a8e39af1c444ca1", + "chksum_sha256": "e9e40c2f4be5c39a0bf44fc386944705e5fe6af989b7b2eab6ca282f7fb183a5", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/eapi/common_utils.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a18fa7aed51409b4944aada8a31a413f1058fda4ca0e652f55296166b6c5a253", + "chksum_sha256": "d3e4c4999c892bdb9fca72e568774b2c986d7bdfa8fa419c651767c6d4482d50", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_ospfv2/tests/common/_parsed.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "efe02afcb1c79bf68872562eb02977725e731dfbe7536b270e0273e2766a6521", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/defaults", + "name": "tests/integration/targets/eos_ospfv2/tests/common/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b7d761b36741b02edb289d71aaeac703a09dd50044f06b7a22efb65c1debf4e9", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_ospfv2/tests/common/parsed.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e8a3b87032a207d23558a38cd9b6dc25ec6af9ed0e9bc6b41725619fb0f180d0", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_ospfv2/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/defaults/main.yaml", + "name": "tests/integration/targets/eos_ospfv2/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "c7cc18f6491766c65c2c46d595e731de7a188f6c8a4d85a511193825761fc5c1", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/meta", + "name": "tests/integration/targets/eos_ospfv2/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/meta/main.yaml", + "name": "tests/integration/targets/eos_ospfv2/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "a50326c21eba1d983db933b7a18c112f2aa7c5f16d574dc908095d9258b1cdb3", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tasks", + "name": "tests/integration/targets/eos_bgp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tasks/cli.yaml", + "name": "tests/integration/targets/eos_bgp_global/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_bgp_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2d8c084f757657a7a323a0fd6c49fef789d8ef373f770fb46f864563bc23c4ef", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_bgp_global/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_bgp_global/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tasks/main.yaml", + "name": "tests/integration/targets/eos_bgp_global/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_bgp_global/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/templates", + "name": "tests/integration/targets/eos_bgp_global/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/templates/populate.cfg", + "name": "tests/integration/targets/eos_bgp_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "955317964226d2639660f6006be99a9c1d67e3a8dcea25ba7b2c4a569059a4f9", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests", + "name": "tests/integration/targets/eos_bgp_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common", + "name": "tests/integration/targets/eos_bgp_global/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_bgp_global/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "90b472eb859697c791cb385ea0972ab042ffe3af2afedd902bf780cbd29ceac7", + "chksum_sha256": "36c8fb15c11b0806cf005745d3430a56d953e9f6780a7cef5aafd2a09a0535ad", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "4d04fc66d72fa6c188227956f100f60c5653c829ef71f493379e1aaaed85fb60", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "49411b2c85202029944048c9b98c93755510c85f9912a6de5c31987bd5fb199d", + "chksum_sha256": "5c0343e2441998a70cccd7a221674cd22a585a30cb660edf3089ac0b090e798f", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e15abd88634fd0d4e37994033dbad069c4c6a5a74032fbdcb28054fd2ce24f50", + "chksum_sha256": "5d8689ef6e49ccbba62ad1ebc44268ac6d8f82c7f001b21251b5d09c7ec7d32b", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/_populate_af.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "03a12bd881dbe8be8c2a60638c8f2e564cc0b176ea9764af6a17d015098c8ac0", + "chksum_sha256": "4f02550439ab2971f3dedc3958ee676bf2f3dd53532dca527bc619cf2f1a1d9e", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "92b980a2b2ec6624a2d10d807e8026953ec336d0c8f56ee070d27b0b8cd66ed6", + "chksum_sha256": "f749361ee14f98e79fa6a1f95335d7c2e66d2c28f517b1852b5b7f4cfbb9d429", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7de001d983e8873496684af8bbd816f668626f0cb61280f1e0d07326af32bdda", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a65a37d14b4764392ea5d9ccfa3debe6b1bfdcb5f4501477a51714f1f38eeefa", + "chksum_sha256": "6fd9e647d40d57feb5aa630c4ad460edcc0a5053310451f19ede0fd8d741ffe3", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fd35e88f8ab1a36691e324cf1c5e98721a41035cc9ef210966b4f744869fbd17", + "chksum_sha256": "02c017ff36027b957a2682c52ba544c014969f9b4ed9e9a725981a818191cd7b", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c058c00472d829b53fb556f986cb2fbf9943b02212719a676530c1ca1ef3864e", + "chksum_sha256": "cbb352548a62d123453d921de875e2acb84594a405ddafe0c04460de66e62928", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5498af2763ccdc85790108ce60fec119ee9ee184694ab4dbb73bcc84411931a2", + "chksum_sha256": "c43d6297de44a8d0ff51684af71b0f6837eaaa5d475561572902e6683b194247", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_bgp_global/tests/common/parsed.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "de7a1434091a39ef8cc7b4dd5439d3b37ae5b77a68f90ff04d5a83160cdbfc9b", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/vars/main.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/purged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ae7da77e7cf9b6b97d3b5f42e00cb9f2ab4b591724f14421ce31ecaa491a410a", + "chksum_sha256": "7c4383c852e0367d67b96145d03829375611f90a60fa91aebf9ae41e7f8de1d2", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_bgp_global/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "58ef58d4be3aa6e9478afcdb9010c490d331d3523a5d4804a0a68f3d1555d9d9", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/defaults", + "name": "tests/integration/targets/eos_bgp_global/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/defaults/main.yaml", + "name": "tests/integration/targets/eos_bgp_global/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "a1c6b658736d10bad13d5b973aa9955f414ef50fa30aa23a890374ab544a2f3b", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/meta", + "name": "tests/integration/targets/eos_bgp_global/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/meta/main.yaml", + "name": "tests/integration/targets/eos_bgp_global/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "cbb352548a62d123453d921de875e2acb84594a405ddafe0c04460de66e62928", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tasks", + "name": "tests/integration/targets/eos_bgp_global/templates/populate_af.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a890c9293ff8120b194c107a6f70bdca6d62433ed701398a8214feaecb42bba6", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_facts", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tasks/cli.yaml", + "name": "tests/integration/targets/eos_facts/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_facts/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_facts/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tasks/main.yaml", + "name": "tests/integration/targets/eos_facts/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "cb15ea77586a3f5e330abaeb5a693d1e431f3ba0d68e867fa6658ef1d00fc197", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests", + "name": "tests/integration/targets/eos_facts/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common", + "name": "tests/integration/targets/eos_facts/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_facts/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_facts/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4df3d87f73db3368744f45083b9b822543ce447d77a6167922de9c3cc3908909", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/_populate.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5c1986157b288504efba9959764aa6b8de99c79007f97a59c48e6ad72a496535", + "name": "tests/integration/targets/eos_facts/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/_remove_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "dbd2727c4906cba6e945896b24be521129405364dab6c4444652c2804f91a8ee", + "name": "tests/integration/targets/eos_facts/tests/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_facts/tests/cli/not_hardware.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6022c467edbcead6301a2203a755a2ab12fe648877cb77cdc2ab32f5d0cf6581", + "chksum_sha256": "347997e8a2b793de8202fa7c55fe8fb5befc15f804046653b24305aa96dea558", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_facts/tests/cli/default_facts.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f8d6eb37916d612ff4b460b42cb1f8689420f1607695d867bf5a1ea7505bf64a", + "chksum_sha256": "0ae6cae32ba80370ac7e8254cc4103412ad26ff7ef67467f860501a93bd7ba03", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_facts/tests/cli/invalid_subset.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9ab33deec36ea6b8eea7be1b6eafb943f360759fe3b3e5c78211a9ab6cda58f3", + "chksum_sha256": "30ebae89f553fe7b179031c471332dde8a564a6fa8c280d90044283b59d635cf", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_facts/tests/cli/all_facts.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c93a2f5e26cee3ca747d7dacfb5233adb9c1448b72c54119fd32dce25988f0b8", + "chksum_sha256": "9e88adb456f3bf5b08ce7b72aaa11b73bfaebd5563b39ecf155ca55bc5e326ee", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_facts/tests/eapi", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_facts/tests/eapi/not_hardware.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bec9055d452548f078aec3418ef1d147865a0b03c739b9a8cb7609142959736c", + "chksum_sha256": "412ad00f379dfbf2c04c539173c7c88068c175cf54fc2336644e1f0bfbbdc1c0", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_facts/tests/eapi/default_facts.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7efefbf1285c5fc94d42b155d5e3236241aea41a49727bf31e0d27710209a2e2", + "chksum_sha256": "784e54cb91e72291cb7c430e617b1b70840fea8f67ab2667fe8c18ad3aff5c0e", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_facts/tests/eapi/invalid_subset.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "08eaf829db084d4878287253871d6dde4d9027f179af071ba0b501eb474791bf", + "chksum_sha256": "fb127eb858414a991f7de95891bc3fb5205f0cec63fab24c58717c26355a6b18", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_facts/tests/eapi/all_facts.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2c42048158fb304b5951f30de6ce718b723ff26659c2f1ece7f577612f557675", + "chksum_sha256": "65f1bede3bea1ae5490850f77a0d8e0d5d369af4e05050b0cef51b7bc3430859", "format": 1 }, { - "name": "tests/integration/targets/eos_system", + "name": "tests/integration/targets/eos_ospfv3", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_system/defaults", + "name": "tests/integration/targets/eos_ospfv3/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_system/defaults/main.yaml", + "name": "tests/integration/targets/eos_ospfv3/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_system/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_ospfv3/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_system/meta/main.yml", + "name": "tests/integration/targets/eos_ospfv3/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tasks", + "name": "tests/integration/targets/eos_ospfv3/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_system/tasks/cli.yaml", + "name": "tests/integration/targets/eos_ospfv3/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", + "name": "tests/integration/targets/eos_ospfv3/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_system/tasks/main.yaml", + "name": "tests/integration/targets/eos_ospfv3/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests", + "name": "tests/integration/targets/eos_ospfv3/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/cli", + "name": "tests/integration/targets/eos_ospfv3/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/cli/set_domain_list.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "382aace82bf0f7d0a09ba8f2a35a825bf9085cdca7d62d507096e65e361b6922", + "chksum_sha256": "772202a71a3c35454372ee3e7d0a8bc98615b619f4cc37ebf1bc20ac7d5d55bf", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/cli/set_domain_name.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96a436ed7ba93da80b30b7fde2babbd14d77e20c888843f12fbd37f368774c05", + "chksum_sha256": "18a10808206e727ecffe9b9714974da7d6c95edacd2758b0dd75d207fd6539d2", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/cli/set_hostname.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ddfe22c80b9e909d2cafe93380715fc7d695425a4bf23c0c549bbb1414fc8dc", + "chksum_sha256": "ef28a5797b256528edd1bff83509babe07944218468f22f9bdeeef905b52a4b2", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/cli/set_lookup_source.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9b571561204978b797cde9c09803bd0f35e3a4b1d0f032d549b0d8a479bb7742", + "chksum_sha256": "dc8f776fa74a50716d8a0194c5a56a51305991e4295186c2f011afe0cd89a87a", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/cli/set_name_servers.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5a6511f53c7475d55b01bd0fd150ecc8432e6a237a0634b9f7d0dab26473d88b", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_system/tests/eapi", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "8d5a2e7460ef5bb7f6647ee5902bb0e4a9322beec5011a3c84d47804f5ffed7e", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/eapi/set_domain_list.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c864953ce83d0099b4f025894c10d502d1ecff22776b89688f784bf172b4f936", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/eapi/set_domain_name.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8cfd63ce023b45928d446783ffcd516e4ab736187d36102514859dd9aabcec05", + "chksum_sha256": "ccb7da45bb920569021036a8ad9757cd020f0012686b5d073f29f9621f7471e1", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/eapi/set_hostname.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6bce01fac4d41bba5dc1495d183f86d153fbd010a3b1ac760bd07c32bcd3c5f2", + "chksum_sha256": "704e3f910ea6a5ef1cab48ec4bbea46955189e811124fa2c1a8dce9a0efb6a17", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/eapi/set_lookup_source.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5ec0cefc6ecaf3e422116a57b7a77dac7c7e8de65543b445baaa5b08bb0c31a1", + "chksum_sha256": "96b764ff7795f328d12684eb2dd1aa60ea1e4d6d5d3e6ed638273aa7deb25686", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/eapi/set_name_servers.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3f151be120cd9e6e74b1778bf682f08879753fc2198c807e4ecebe4486d21c28", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_user", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "c53dc625cf760dec12686ef99081361defb9dbbfaf9f6ce2d6d00cd6b0eda97a", "format": 1 }, { - "name": "tests/integration/targets/eos_user/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_ospfv3/tests/common/parsed.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c5780138500b761a2832d155ea8a30d7e78fa10a02ab581125af875994bb45c8", "format": 1 }, { - "name": "tests/integration/targets/eos_user/defaults/main.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "db343d29422b68984563c86904ac0ad79845853240e757cc26248b267f8e6f11", "format": 1 }, { - "name": "tests/integration/targets/eos_user/meta", + "name": "tests/integration/targets/eos_ospfv3/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_user/meta/main.yaml", + "name": "tests/integration/targets/eos_ospfv3/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "9917e16f0a7a0b7484fe0780a79f0b22180b634ad091fee3f94946946d87e030", "format": 1 }, { - "name": "tests/integration/targets/eos_user/tasks", + "name": "tests/integration/targets/eos_ospfv3/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_user/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_user/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_user/tasks/main.yaml", + "name": "tests/integration/targets/eos_ospfv3/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "96b764ff7795f328d12684eb2dd1aa60ea1e4d6d5d3e6ed638273aa7deb25686", "format": 1 }, { - "name": "tests/integration/targets/eos_user/tests", + "name": "tests/integration/targets/eos_l3_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_user/tests/cli", + "name": "tests/integration/targets/eos_l3_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_user/tests/cli/auth.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ece4746e3d18508426ba2ab784a91bed28670217a75be85b234b03ebb66dfd89", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_user/tests/cli/basic.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "432c95aa920b1774308ea58ea6159647675bb2f7f1cffde182c64662dcc857fc", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_vlans", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/eos_vlans/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/defaults/main.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "1629beb9c4c49792f78a1425442a6a6e0e5dd9a0ed824c1cced81e6e97a0e47c", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/meta", + "name": "tests/integration/targets/eos_l3_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/meta/main.yml", + "name": "tests/integration/targets/eos_l3_interfaces/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tasks", + "name": "tests/integration/targets/eos_l3_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_vlans/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_vlans/tasks/main.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests", + "name": "tests/integration/targets/eos_l3_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/_parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "24f8e0b4cb5d9b1444c92f7260088952ba7aa9a71949521dd331f5a434686783", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_vlans/tests/common/_reset_config.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "31618630d4e82bffcf3ca7a4b12b835bb1b3bdf67d518eac68f72bb26b0d6924", + "chksum_sha256": "cc35e0f775451453ac2c523a27b8ca29590551f20ba1dd504553b72cd3f48096", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d4df0e51ef94b5a4ef06900a79bd20e79f84a964710a14de559368071f405669", + "chksum_sha256": "7c4177bbc89805770c555ca12366593738cd4fcfe2830e23b35a286aecc43ed3", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cdf7d6ea7f6f5c2ad9065b1b13e04198c38882991e60197c5c569fa6dce0d98d", + "chksum_sha256": "95215014c2825aee51c3c204de545ae03738dae62b0e268c617a498276643713", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6512281e2fd290fd40f8f18191e72c127c2e3df9537c05559ecb25aed09ee4bb", + "chksum_sha256": "4660abfc6652a70079d0ea81ddca1be88fe04998d9396edef977e7c5ba5df1af", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/idempotent.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c41bbf0a4522e6f01b3e38067c543afb71b21fcbfa0a8ededd26d0683e50a81d", + "chksum_sha256": "a65aac4ca425465052942c3fd31c9d51ffb175047cbce064752fab288c7e4367", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fab8447a90775e038817655f20e15623512f87e042c86c7f93c6f5fe902aa37e", + "chksum_sha256": "f17e653bfdb385c99bf7db088d3269b67d962148561c5b4ae3248adfad050ce4", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "23f1318af4e38f802c10ac90ec7cce6573c0eac7665773f877059bcb90426bee", + "chksum_sha256": "1be80d6bfade12c26b76660664893c1846149bb7eb9398fa5e610d48d54e9b78", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "97d8e342f7bee82d8027e115e1f5165d4a68e898b83813a2f710833e5fee4a33", + "chksum_sha256": "e8b467b03ab2c858ce56d5520307e0482341b16e05579f077e5bf8742d71fc95", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fb1e1d667d069e7d04de886871344ca9fc0a0bded7b3c2a7437a4d95b95dd05d", + "chksum_sha256": "03f049dcce225d8de33873ff4f8a2244b4e6053857d212b6bd473476cd429b14", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8a2ed31515941cfc98d86db63eed394b71c6e749b8ef7a7433f5d3ff518f585a", + "chksum_sha256": "cbf3a7bcba86ab51a41f5df9700c3361614a761a59c7a818e28b9e2b47e49826", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d33a3d3ddf38335484012ddc3a995f050d899f1f5686fae5e8ae88f8686f9d5b", + "chksum_sha256": "c06867d92daaf7f51b661451f56dd63be75711f4f8c407a7f7365879cb4d295c", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/vars", + "name": "tests/integration/targets/eos_l3_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/vars/main.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "361a49c0e4e03684a6718513ec6a800c844d872b6dba61efdb68249d61b34124", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_vrf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "9bd8cfc16471691295c6cc5b75efdef88860f2aad20ec00f62ffc614e2976776", "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/defaults", + "name": "tests/integration/targets/eos_l3_interfaces/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/defaults/main.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/templates/reset.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "3e02b044e876b189ce336a3a4802eb8af3df7d69c9d74f94877a8ec495e240dc", "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/meta", + "name": "tests/integration/targets/eos_l2_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_vrf/tasks", + "name": "tests/integration/targets/eos_l2_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/tasks/cli.yaml", + "name": "tests/integration/targets/eos_l2_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/tasks/main.yaml", + "name": "tests/integration/targets/eos_l2_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8e0a1de7edebf8e1de1b1bd68c83fa3e6669085f9cd28e417cbb11f43da75068", + "chksum_sha256": "3d287a5645a94634b96fbeb33a93d7cc866421adb10d5e45810aae4ae003fd52", "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_l2_interfaces/tasks/eapi.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "90b0fb30b63afdda9bc8d5bee03e2b6cc6f785a7af550690bf002a207fa42d9c", "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/tests/cli", + "name": "tests/integration/targets/eos_l2_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/tests/cli/basic.yaml", + "name": "tests/integration/targets/eos_l2_interfaces/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cea011f04a3c8f2d06c412f8512259c89a2e3a57b55effeef99fa45434d9be15", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/aliases", + "name": "tests/integration/targets/eos_l2_interfaces/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l2_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/prepare_eos_tests", + "name": "tests/integration/targets/eos_l2_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/prepare_eos_tests/meta", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/prepare_eos_tests/meta/main.yaml", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "851860fe2ed1258710d7fcf89ac5b7d8c3c87755e89ca56fdd79bea022eb2b92", - "format": 1 - }, - { - "name": "tests/integration/targets/prepare_eos_tests/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "fce0cbcecc5da5700eadd7509b5ec52749d2161ff7b3f99b95a4d2796c158f4c", "format": 1 }, { - "name": "tests/integration/targets/prepare_eos_tests/tasks/main.yml", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c53c149ac2c5c508711c2414d406b033110276eb4622949358a6e1efcf3cd505", + "chksum_sha256": "c9f82a69c636f9d85ef893fb5d2fba696d0a47bc9fe1e2c3e316acb63b79453d", "format": 1 }, { - "name": "tests/integration/network-integration.cfg", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d67b11263a8f50b30bf43c7c2b4bdd8dc4f173f0b5dd22761311360dfbd56a1d", + "chksum_sha256": "aaf8f107ec4a7699b08aba428c96066164570af0da4c031499210e65a9ac976a", "format": 1 }, { - "name": "tests/integration/target-prefixes.network", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ec96e8ef2e9e3856cae9bbefb51f64492bd044f17d17310cc560ec990ab14468", - "format": 1 - }, - { - "name": "tests/sanity", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "ab629c595374a5ff76a3d76f22278948131ccfd3f5de5e08f8bb0fae170883c0", "format": 1 }, { - "name": "tests/sanity/ignore-2.10.txt", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/_cleanup.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c9647b2dee513f57df36fee1897a54856aeba3b5fed24f2b7d6612b225ead63", + "chksum_sha256": "72c891a2b69fea4a08d88aef80ab42588f0761b3fcee4654ea769a82e2cad772", "format": 1 }, { - "name": "tests/sanity/ignore-2.11.txt", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c9647b2dee513f57df36fee1897a54856aeba3b5fed24f2b7d6612b225ead63", + "chksum_sha256": "01c98f37d467b49d62c858aa1eb80e31829d3af8df1d67b17b95612b1e014d2f", "format": 1 }, { - "name": "tests/sanity/ignore-2.12.txt", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c9647b2dee513f57df36fee1897a54856aeba3b5fed24f2b7d6612b225ead63", + "chksum_sha256": "7fe18f0fa44accb4bdd0464888179e38186b2bc1bb7534786d823700eab75201", "format": 1 }, { - "name": "tests/sanity/ignore-2.13.txt", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", + "chksum_sha256": "9f5bae45f76d827baaed602070abd64acc8a7c7f22410e169b0871344f1023ba", "format": 1 }, { - "name": "tests/sanity/ignore-2.14.txt", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", + "chksum_sha256": "0ed56a5c9ced6b499dda2d9788c2021ea24b0d17f0d0931a7c11b9addc59f3e6", "format": 1 }, { - "name": "tests/sanity/ignore-2.15.txt", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", + "chksum_sha256": "edb8b0ac8acd4b5e054bbfa29800537c9b159ab96d7187400f26c80be72c7abf", "format": 1 }, { - "name": "tests/sanity/ignore-2.16.txt", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", + "chksum_sha256": "cb38b9a77caba2c84ab6c80ba15134346ae856147e816086b43f2c90a0e8014e", "format": 1 }, { - "name": "tests/sanity/ignore-2.9.txt", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8c562d6941e7798adfb9f88ff0791f32d9e867dcd22292a4d8041c32585285a1", - "format": 1 - }, - { - "name": "tests/unit", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "e27eed12e565edc2ef8199044486e7df6759cf3a8fa2c4999c06d465b416ac11", "format": 1 }, { - "name": "tests/unit/compat", + "name": "tests/integration/targets/eos_l2_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/compat/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "tests/unit/compat/mock.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4e0ca26e6e2982bc40db782db3a0d4950e8c5a749171c0da22c27c85acd23ea", - "format": 1 - }, - { - "name": "tests/unit/compat/unittest.py", + "name": "tests/integration/targets/eos_l2_interfaces/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "727203a3846be41893b78a4b77852a1658925e936fb19539551958a5d8e8fb81", + "chksum_sha256": "2d11de6e7c7e491f1f5247e77d3cc3367368e71c12900e057007742b5f69b93e", "format": 1 }, { - "name": "tests/unit/mock", + "name": "tests/integration/targets/eos_vlans", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/mock/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "name": "tests/integration/targets/eos_vlans/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/mock/loader.py", + "name": "tests/integration/targets/eos_vlans/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eb9c726ece54d3b6a06312634380e1893a8ca735928c31fae9d3ae67f6b94360", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/unit/mock/path.py", + "name": "tests/integration/targets/eos_vlans/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "44b6e5b20c52ab9f4f57eaf79948d7ce9b6fa0546ae7d103abaa3bbfa66c5f19", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/unit/mock/procenv.py", + "name": "tests/integration/targets/eos_vlans/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d0f54fd298f7888bfada6f867ee0f883f776a368916410abe2e5d31b8d17faec", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/unit/mock/vault_helper.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "55bd0e924dcc22d050612c944bff0ef745e51faac9260dce9b9b2018c4c8a661", + "name": "tests/integration/targets/eos_vlans/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/mock/yaml_helper.py", + "name": "tests/integration/targets/eos_vlans/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4a53ccdcc1d312b032c6b169b1b4f907cc8d4e1fcf77bff5282d458e323ad40c", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/unit/modules", + "name": "tests/integration/targets/eos_vlans/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_vlans/defaults/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/unit/modules/network/eos", + "name": "tests/integration/targets/eos_vlans/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures", + "name": "tests/integration/targets/eos_vlans/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/__init__.py", + "name": "tests/integration/targets/eos_vlans/tests/common/idempotent.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "c41bbf0a4522e6f01b3e38067c543afb71b21fcbfa0a8ededd26d0683e50a81d", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_acl_interfaces_config.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "29bdd16b7032ccf6dd42d4c2e78ebe00aaaf155ea7f5d9049c638f742478f312", + "chksum_sha256": "d4df0e51ef94b5a4ef06900a79bd20e79f84a964710a14de559368071f405669", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_acls_config.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c58fb25414acf3b04a882b8172c4c048c637b5906670a1c3a5f36e8a3aad0380", + "chksum_sha256": "6512281e2fd290fd40f8f18191e72c127c2e3df9537c05559ecb25aed09ee4bb", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_banner_show_banner.txt", + "name": "tests/integration/targets/eos_vlans/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dc2e6349862de27bfb1d50da78684b7b6320c6c8626a7ae378ce07852d64f984", + "chksum_sha256": "cdf7d6ea7f6f5c2ad9065b1b13e04198c38882991e60197c5c569fa6dce0d98d", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_af_config.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9cfca9294069868122bcad8e9a7bcfdfd6101949fd9959ec32766b682f635a68", + "chksum_sha256": "d33a3d3ddf38335484012ddc3a995f050d899f1f5686fae5e8ae88f8686f9d5b", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_config.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7011ff501cdde31949153491b1f1092e8d8afa6a27510ab594deb1504403c2d0", + "chksum_sha256": "fab8447a90775e038817655f20e15623512f87e042c86c7f93c6f5fe902aa37e", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_global_af_config.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dd5318703b4822b5a27eb24bb0d1898c7e5559e96151114784e5a5e92d07f535", + "chksum_sha256": "23f1318af4e38f802c10ac90ec7cce6573c0eac7665773f877059bcb90426bee", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_global_config.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3cef54b0f53689ccdd9a9de7e3d23fa7fa591582506b438f1b628752b5b0847b", + "chksum_sha256": "24f8e0b4cb5d9b1444c92f7260088952ba7aa9a71949521dd331f5a434686783", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_command_show_version.txt", + "name": "tests/integration/targets/eos_vlans/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cd0ee8985d66e4cff1ebeff617108414d701cdb2acebf9327329f62e093f7062", + "chksum_sha256": "8a2ed31515941cfc98d86db63eed394b71c6e749b8ef7a7433f5d3ff518f585a", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_config_candidate.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3352c8002ead9454c96fa97e82bc2bf245ac57a69edbf8a934bed4ef809de3de", + "chksum_sha256": "97d8e342f7bee82d8027e115e1f5165d4a68e898b83813a2f710833e5fee4a33", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_config_config.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "03abdcaedc2f739a12fd1c31f37164f02ed471aff024ad8e654a0d7ec3e611e6", + "chksum_sha256": "31618630d4e82bffcf3ca7a4b12b835bb1b3bdf67d518eac68f72bb26b0d6924", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_config_config_updated.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "199f6fddff67988e4e15efde118949a06623ac6cda6cc56a43110fab3da655d9", + "chksum_sha256": "fb1e1d667d069e7d04de886871344ca9fc0a0bded7b3c2a7437a4d95b95dd05d", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_eapi_show_mgmt.json", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "963dde77e29e22955f66b6d4a4d880c327419e3c719556219b19cf2d9d515c07", + "name": "tests/integration/targets/eos_vlans/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_eapi_show_mgmt_unconfigured.json", + "name": "tests/integration/targets/eos_vlans/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "09f3bdc48ce35e7200a5a5da2f2722dff46de4bd8ebc1d1718fa4ed7a08310df", + "chksum_sha256": "361a49c0e4e03684a6718513ec6a800c844d872b6dba61efdb68249d61b34124", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_eapi_show_vrf.text", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a43e222ce4d0e6aec92afabb2d5ff7f6cc7fd96ce4e055b6ffc02ad1492373d5", + "name": "tests/integration/targets/eos_banner", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_hostname_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "55cfe4746ef24943eac865d5b0fd9b6a6884e0e529983e253d5764175c01c6e9", + "name": "tests/integration/targets/eos_banner/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_interfaces_config.cfg", + "name": "tests/integration/targets/eos_banner/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "05edee2806d57e1a907026a24ea0fd51582008c1d24b63c5fc1463e86204683e", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_l2_interfaces_config.cfg", + "name": "tests/integration/targets/eos_banner/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "501ad2cead9d2a90aa7529319befbf62a4f58f7988995788c5206c90fbec5afc", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_l3_interfaces_config.cfg", + "name": "tests/integration/targets/eos_banner/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0989f0ad8aea46b6b4b7111aee264687387c44e8cc68154f8d9c054d22581d1d", + "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_lacp_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5a89a5f03e68185c4a50f5410ea4fb04caca756685c8d906c1b4558fa52896aa", + "name": "tests/integration/targets/eos_banner/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_lacp_interfaces_config.cfg", + "name": "tests/integration/targets/eos_banner/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "414cc25eb0be567529b328993c191ea1f282c2620ff5f45b57462ec7e950ddca", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_lag_interfaces_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "996743ab19a23f6fbb30754d1f4beb2911c6b4ffa69a28665dfc79b5ad519b65", + "name": "tests/integration/targets/eos_banner/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_lldp_global_config.cfg", + "name": "tests/integration/targets/eos_banner/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "41eb838c679e2fd974f15bd92461a1627b29a0f2b8b1c5a5c3fef8a472efaad3", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_logging_config.cfg", + "name": "tests/integration/targets/eos_banner/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_banner/tests/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_banner/tests/cli/basic-login.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d35c0e1702f10694008ce77f2d405c569d3745738fa4ceab306cdb638f5b465d", + "chksum_sha256": "5a6ff4ad57df259c1322d52be030e6bda317af6738e2e3ebf043ca14b5fc9d64", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_logging_global_config.cfg", + "name": "tests/integration/targets/eos_banner/tests/cli/basic-motd.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "616869cf79f4faf6f64276e039fbcad728d3e012eba2073b118b0296d9334013", + "chksum_sha256": "4b2551d785983506768deb63cd2f8ba8ae35c5e6ce5eae18e340fd75291e390a", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_ntp_global_config.cfg", + "name": "tests/integration/targets/eos_banner/tests/eapi", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_banner/tests/eapi/basic-login.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1c841ab014af5105c26d977cfcac4de50919a8537bf632698f95e5ea5f2b5c0b", + "chksum_sha256": "d7cd4bec5ba015f96ac020675f8b4a256dcc1e2bdd9f4b59775237acaa8d809c", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_ospf_interfaces_config.cfg", + "name": "tests/integration/targets/eos_banner/tests/eapi/basic-motd.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2c664a8713d7ccd543333cca425528c1726d6790b8364bdd6a5e8720ce4183be", + "chksum_sha256": "c8e94533c27b7c01e870af443aae37c16cb5180e86658a8de5a2a6b5599efb97", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv2_config.cfg", + "name": "tests/integration/targets/eos_vrf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_vrf/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_vrf/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c4e0126af072bca2ca99eb356d26868e44adae27ffa3622f54fc431122e66ace", + "chksum_sha256": "8e0a1de7edebf8e1de1b1bd68c83fa3e6669085f9cd28e417cbb11f43da75068", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv2_config_gather.cfg", + "name": "tests/integration/targets/eos_vrf/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6271cc911105743891d46bde906d969ad2ce562d8bfa9364d845da33cb9c3bde", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv3_config.cfg", + "name": "tests/integration/targets/eos_vrf/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_vrf/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "97763a63f53b38b8c864ed38f800e4270d600065cdd4acde805c3b1ca384e6b5", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv3_config_gather.cfg", + "name": "tests/integration/targets/eos_vrf/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_vrf/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "091b340fe2578196b84cd9b133d0cc01e479a27a12caeb2a796355c571a39cb4", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_prefix_lists_config.cfg", + "name": "tests/integration/targets/eos_vrf/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_vrf/tests/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_vrf/tests/cli/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ed6dda06d2158651429f03d9db644514e20f89e6d3c58331fc09e059c76a22ff", + "chksum_sha256": "cea011f04a3c8f2d06c412f8512259c89a2e3a57b55effeef99fa45434d9be15", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_route_maps_config.cfg", + "name": "tests/integration/targets/eos_vrf/aliases", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "64a5a2e160aff448bb567d8d4fdba4c3231f85ab0b44e2f596fe2784148e8554", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_snmp_server_config.cfg", + "name": "tests/integration/target-prefixes.network", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "955317964226d2639660f6006be99a9c1d67e3a8dcea25ba7b2c4a569059a4f9", + "chksum_sha256": "ec96e8ef2e9e3856cae9bbefb51f64492bd044f17d17310cc560ec990ab14468", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_static_routes_config.cfg", + "name": "tests/integration/network-integration.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9de7fbc93c152431ec2baf2f7c8ba736ced12148e8bff2e7b54eb7dd39c4b04d", + "chksum_sha256": "d67b11263a8f50b30bf43c7c2b4bdd8dc4f173f0b5dd22761311360dfbd56a1d", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_static_routes_config1.cfg", + "name": "tests/.gitignore", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "22d8eb393f411a1034b6d77b5137ca205b1d01b09a6488c5c30199145b99bf7c", + "chksum_sha256": "b5726d3ec9335a09c124469eca039523847a6b0f08a083efaefd002b83326600", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_system_config.cfg", + "name": "docs", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "docs/arista.eos.eos_lldp_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d1cb12a14186402c703d639d484b7ea9829e52f9159afac4f7779bd396f5e43f", + "chksum_sha256": "7299a09dc0f8360ad7d8c95d13b8c0e9f07035e910f58efa4e6e6c550f5b377d", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_user_config.cfg", + "name": "docs/arista.eos.eos_static_routes_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2b11830bd90b2c0e492cba03f0af73a5229a4723e47959812544961bde1ac438", + "chksum_sha256": "e556daa557e50664de8a09d706c314cddf9b54c82368f621d07afdcec06cc44d", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_vlan_config.cfg", + "name": "docs/arista.eos.eos_logging_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6e71249b2afca7c80191a77d86753e21419042d51d570de0b3c717a204f01400", + "chksum_sha256": "c5ac61d63be154248e23a8b1d65878997ba5ee5c7c7cccc5134e557d6132c85f", "format": 1 }, { - "name": "tests/unit/modules/network/eos/__init__.py", + "name": "docs/arista.eos.eos_ospfv2_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cbb9fbfb8196b35682ea97231c66e5feb28fc0c59cc87c9ccfb5f4352bec573e", "format": 1 }, { - "name": "tests/unit/modules/network/eos/eos_module.py", + "name": "docs/arista.eos.eos_route_maps_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b3f4714ae9af0063ed76f955c15e8492b3f7d69ecc52b3c1e139f49f2a0ea4d4", + "chksum_sha256": "c72fa7b5ddaa69adf74a0e20f10338bd9e00a4bcf8b80d8833d2508ec90e38a1", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_acl_interfaces.py", + "name": "docs/arista.eos.eos_system_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d994b6dc95bca9c627aa1d0425ebdf92fd7f6b0fd311bb0052daf4f616716369", + "chksum_sha256": "bb36d86019cdf27d92c314fdb25f037aaba0c7529ab40a18dac4b217e7fe4c01", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_acls.py", + "name": "docs/arista.eos.eos_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ef2b0e2e0e92773bf4676e43a11e4d040934b59d91b67a79f494e17ed0287d2b", + "chksum_sha256": "a455227b4df8d2346b1f77b5132247cd731082ffa814e451d75396c117b60cff", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_banner.py", + "name": "docs/arista.eos.eos_ospf_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f833982a49df0e565b89e7ca46a3a6b4b812524378580f9df60f590f58d7b60c", + "chksum_sha256": "83887e8f1a80e7472057297779adde8017ab6371a3c41c99e4ed4c21d7b34858", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_bgp.py", + "name": "docs/arista.eos.eos_bgp_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "46cf0755d9c960c529dc800d9d05a42491ab167c1a5308c0b7ae11f04e1c8715", + "chksum_sha256": "892272aec233fa0f0110eba45ab0a8f4107122a387cb00c3920860f4d002fc26", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_bgp_address_family.py", + "name": "docs/arista.eos.eos_ntp_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "25f46d0b577c21d95cf4d21c1a1a8e6b6c690469e0fb23185e8d6d72fd1d4158", + "chksum_sha256": "82bea9b37a6b60b3372f4ff510bfcd0e59b0a15f5e6fe5a850630125f7c10c3c", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_bgp_global.py", + "name": "docs/arista.eos.eos_ospfv3_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "afa40c807d2ee150396019557201558d80e77cfdabb90210d0e32c79c2014096", + "chksum_sha256": "54fe29219103c40dfdb961918efbe64f676c122b331d1151307ce95190424b05", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_command.py", + "name": "docs/arista.eos.eos_vrf_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "586c52c5adacef2ed96dd1546a913f9998d2e52d3cc134766f408f873d94fee6", + "chksum_sha256": "0c6664519aa55395647325147639ccf77de85e600a1abefaf3f83755af82c32b", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_config.py", + "name": "docs/arista.eos.eos_command_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f7f565aaab51bd7a0ecfc555509c22c485b9b8ab7cbead23b3828432082f1fe1", + "chksum_sha256": "c3d335bd1672f0a46e52990493ff4d829f18392f3bc1a7949bbc6a99837103d7", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_eapi.py", + "name": "docs/arista.eos.eos_lag_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "84c7a8ca8fb966d268f7aa1a44e518f4dcff61dae8cba73f503e970e409d43a4", + "chksum_sha256": "19ef80abb38cd39ff502c43f4ddca3883584376c19f1b20621f0fd11b565b920", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_hostname.py", + "name": "docs/arista.eos.eos_banner_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24e3e18b537ba189784edb7b402a6faa1101e169860928f37b3641587cb117b9", + "chksum_sha256": "b128807c32c6a491aa78a1b56512e2982f5d6811641d0b14e8e347d4cf8a5b06", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_interfaces.py", + "name": "docs/arista.eos.eos_eapi_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "222c782d11eceacadb200678f6164d4496d23c3ecffbfe3c2f9761d0f7837ce1", + "chksum_sha256": "4ff82c55d35021b368eaeb719ad4c4b0e15111fcec0e038d13970e3db9b0a0f0", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_l2_interfaces.py", + "name": "docs/arista.eos.eos_l2_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "70972d0f6da11306a150b2e7b78dda5d4f0f0579902611cc01fba66a09ed77c1", + "chksum_sha256": "875b8b13249159af500f7785bd39a89722dd4a01161c549b84efc5105e89fb10", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_l3_interfaces.py", + "name": "docs/arista.eos.eos_lacp_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "663fb58128ddb7e05cb1f793b36aa03335c02cface4d7f6b63a9db16eaf8364a", + "chksum_sha256": "41c37120e15ed62a0b939ec0cce0e747fefcb74ef051d7c831bdd6a4831a73b6", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_lacp.py", + "name": "docs/arista.eos.eos_l3_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "54032b3980447e29f5ffc191c27edca4c564c47aa02fce2bb92d4499c673fae2", + "chksum_sha256": "44ee5f610c3334d0c43e72a061217ec202d79042c97bf82f2a62eb6075cc8a4b", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_lacp_interfaces.py", + "name": "docs/arista.eos.eos_prefix_lists_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "93ef8604e3a09a469f6ee10751e59e53aa1291f36e40f637b235345100da99d1", + "chksum_sha256": "77c510223083c0c16f010a59da50d32474093900d238ac7d985fe4b98454ce1a", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_lag_interfaces.py", + "name": "docs/arista.eos.eos_user_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4113ee99a61ea506d4baa3123e849d1c43055d64f8a027887b09d60f0efab09c", + "chksum_sha256": "820458159242af177985582cc6a0b35d82d9a44d3387e14c05b195a5baae2075", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_lldp_global.py", + "name": "docs/arista.eos.eos_lacp_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a8ef4c5a67a5502a4ff6862f2e7fb68df69852f753574e5005116ba1ffb6f86b", + "chksum_sha256": "734d129c2aed3bc167555a6a863d93361b7c4a96c4af55b45329d52b04cca95c", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_logging.py", + "name": "docs/arista.eos.eos_vlans_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d543db223f6bc7567f6631e5b41e559df779399c9e96b93d5eb1781b82066922", + "chksum_sha256": "dc743c4b64f6ac842967f495059b06ac5008a2fc93e73ab33ca06de5d9b5b322", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_logging_global.py", + "name": "docs/arista.eos.eos_facts_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "33360d830b6806e4b1bf6d3eae4764c4042322a3cc500d5aec74c25a71ca4307", + "chksum_sha256": "5a80619e2a2f0d283a69c669d9486243fce9d68a80ac07cd92b22c3845c1a124", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_ntp_global.py", + "name": "docs/arista.eos.eos_lldp_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "768e61e9134250652837a24db11a1d893074e3b68b3e9402df3a9a250c90337e", + "chksum_sha256": "7aa54a176f3d95e20db2127d8b7428ff5ccd511016b007f80d469c7e64922ee2", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_ospf_interfaces.py", + "name": "docs/arista.eos.eos_hostname_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "69ff671801c47680e384822f474289eb1098db5a9c4eaaf15378d64c363e7b5f", + "chksum_sha256": "9803954ef010d617a8faea5d3bbd0b9f62a4f11d32d9d09bf0a03a7f32fa47d1", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_ospfv2.py", + "name": "docs/arista.eos.eos_bgp_address_family_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b9bd993556a3ae2d675a46e180cece4b8e108f9866f071d05cc8d4aa4ec226c1", + "chksum_sha256": "db2a2a582e437d5ef5ecc712aa232a3263430cde26fd1e030f4f7d8fb945e7d1", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_ospfv3.py", + "name": "docs/arista.eos.eos_logging_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ea8493a9f1998dd1d406d4f57391c682f7795adb9369edf4fc94a9115a56f910", + "chksum_sha256": "0ed61ec5ef8d86ad44bf605217913fc8d9979496766ca33ad196939f940fb5d9", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_prefix_lists.py", + "name": "docs/arista.eos.eos_httpapi.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "449054bb06c96d99226eb42ef465d554d94bacf5800d2ac26d706475e49ae48a", + "chksum_sha256": "74c0cc2f16ee0793613c76713e192749dcd24f3e73ecd49cca4599ed62c22f9e", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_route_maps.py", + "name": "docs/arista.eos.eos_snmp_server_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "32ffeb2ed018e25bfc03e9e496208d03ef71a217951bae02130b0c9c985c83a5", + "chksum_sha256": "95804c5a71ea18fc6ce044dc1711dfb10abf8dae9aacc61b6d5bb8888dbb3ddd", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_snmp_server.py", + "name": "docs/arista.eos.eos_acl_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "39d30b82b200cf6221224ea99de06174e36e9fd5b479c3bffbd67d3c7817ae9b", + "chksum_sha256": "7accbd8675612462d6345092960802e981932671f1a746f6a4581d0a63c5d943", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_static_routes.py", + "name": "docs/arista.eos.eos_config_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f57b01e3490ef4d7d273748a6a09d0f0217d919a2987038ab4355bbab258dd6", + "chksum_sha256": "a8534f76fb2956d6a825bca465195717143caeabb8dad0dbaeecd98cd87b831e", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_system.py", + "name": "docs/arista.eos.eos_cliconf.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "78865d05e4d5f1bab0404f61d230d09c9986d926c3372944d907d97fdba9d228", + "chksum_sha256": "52b6530cf3a4711a1b8e40dcff5063e73fc3e868e6cba0b91976e8ba53af8a14", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_user.py", + "name": "docs/arista.eos.eos_lldp_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3e74bb8a59fe4adba89f1366d156230de88ce552815b322f25e4309c9ce5e96b", + "chksum_sha256": "f0fea31fef727f45440a5363e764f99345b4f7e3d079fe5e36388f0ac2b20948", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_vlans.py", + "name": "docs/arista.eos.eos_bgp_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b5a2b1ba6f53075bb642acfed593f6372b0975a964c55cce6fc6e972bc983b27", + "chksum_sha256": "75e256d769047f67382bc69c8937d95106efe9c999392c69ec9ee212193dd857", "format": 1 }, { - "name": "tests/unit/modules/network/__init__.py", + "name": "docs/arista.eos.eos_acls_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "5cf3899b43a7949c4079e95c026995a56e06fc5bf705d4c2687b8315a44c3a42", "format": 1 }, { - "name": "tests/unit/modules/__init__.py", + "name": ".isort.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "0ac83124be8cf24f40e7457c3a7ede4409108ee8caa89976cdb03d6d1ae336d1", "format": 1 }, { - "name": "tests/unit/modules/conftest.py", + "name": "pyproject.toml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "98e43bdf758ecbcf12ee812a784753cc7eba40b49f37ce2d063a84db81bf2cb7", + "chksum_sha256": "1cb6a45dfa2625123890b93ad7fdc156b063c16e8ae6dba11511a1d1986b0fcc", "format": 1 }, { - "name": "tests/unit/modules/utils.py", + "name": "bindep.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1e9c58b776c4d76cfc671ebfddb1a290a50af7dd0aa1b69b2ad1c5ae1b2545b7", + "chksum_sha256": "2cb7d868bf5a674ff9531652c2f591c4767816c5ce240a75330c1585861e70b0", "format": 1 }, { - "name": "tests/unit/__init__.py", + "name": "changelogs", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "changelogs/fragments", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "changelogs/fragments/.keep", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/requirements.txt", + "name": "changelogs/config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "49ba996dc4735c3463e9af561344346dfae14bcc1a68096ce78364b377f0df1f", + "chksum_sha256": "03ddb712fc00dcdde125bd062a4fffc3ce5846d43ac90c3191c8ac8da4196303", "format": 1 }, { - "name": "tests/.gitignore", + "name": "changelogs/changelog.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b5726d3ec9335a09c124469eca039523847a6b0f08a083efaefd002b83326600", + "chksum_sha256": "31b9728ef0a2dcdd94ebd9d93eb1fe948e3de0404c203f63f6dee275cb5943e8", "format": 1 }, { - "name": ".gitignore", + "name": "tox.ini", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2ebfecdb6c1b58267fbe97e6e2ac02c2b963df7673fc1047270f0f0cff16732", + "chksum_sha256": "4246b891e853d1fc828a1dff460bcd43c3ea3aa08d6686b8396bd17169806546", "format": 1 }, { - "name": ".isort.cfg", + "name": "CHANGELOG.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0ac83124be8cf24f40e7457c3a7ede4409108ee8caa89976cdb03d6d1ae336d1", + "chksum_sha256": "84daa7535f1cd39ce8c0ecaeb7254ed4ff201ff101d164177e4cbc4c985a3882", "format": 1 }, { - "name": ".pre-commit-config.yaml", + "name": ".gitignore", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "06bed67a59f58967c07847fd7de4ca8e4d8f246157db95a832132f3de2b94117", + "chksum_sha256": "a2ebfecdb6c1b58267fbe97e6e2ac02c2b963df7673fc1047270f0f0cff16732", "format": 1 }, { - "name": ".prettierignore", + "name": ".pre-commit-config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "29d6205739f8fa2ea1dfb82777cc64dd269e51fe58c7c713682f71ac8b1973c4", + "chksum_sha256": "f06cb69ac03a025140d5c35b162e6e045a101aa729d7805ba2b1e1d6b82d4aed", "format": 1 }, { - "name": ".yamllint", + "name": ".prettierignore", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "827ef9e031ecdcaf137be239d33ef93fcbbc3611cbb6b30b0e507d0e03373d0e", + "chksum_sha256": "29d6205739f8fa2ea1dfb82777cc64dd269e51fe58c7c713682f71ac8b1973c4", "format": 1 }, { - "name": "CHANGELOG.rst", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ba340cded6c4bbc62e912ad34b5c38773c942d8d3ffb99902670b6240fe344ab", + "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": "11ceee3c57116e9fd08bc423414b1095ff002aa012d6fb325b1a7e24d7e28461", "format": 1 }, { - "name": "README.md", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4631de5e5e56e10da8eb1af60b837349a909ed012825913d38ec55efa0a4928d", + "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": "2cb7d868bf5a674ff9531652c2f591c4767816c5ce240a75330c1585861e70b0", + "chksum_sha256": "8bbcae622f5e51798b577df290135e846244399c2a6ccbfedac523b38a8330a3", "format": 1 }, { - "name": "ignore-2.9.txt", + "name": ".github/workflows/ack.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "434c723567b8bb4d59f1b64bdbf674e2869789650c878f84f08f3ebe93a97b60", + "chksum_sha256": "24c6fbafaa69e3e3ee696f2cefa5120794b62cef7e870553dddce8b8af0a127c", "format": 1 }, { - "name": "pyproject.toml", + "name": ".github/workflows/release.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3ecb9ab9054afb7fb47aa660fa8df80964e13307972d715383b70d68c408630", + "chksum_sha256": "c9b7dba505905600bbb9f0d8e9956b7cc20f80edfa742dfdae9395542f417aa1", "format": 1 }, { - "name": "requirements.txt", + "name": ".github/workflows/push.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "883b106f13b0c6536f55619685ddca25968b4167dedb12e08fa37c93f4c63b25", + "chksum_sha256": "3164180ee4d514fea284a79033515effa6270d70d25ef3da77da318c2ac6382e", "format": 1 }, { - "name": "test-requirements.txt", + "name": ".github/workflows/tests.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8939d1822e2de71cfb171b2571609e3dce15e38392e0135e68caa91ec9815460", + "chksum_sha256": "a363c29cae8f4b799d88470e5cc5546312966f5559f25ffd680611119035dd29", "format": 1 }, { - "name": "tox.ini", + "name": ".github/release-drafter.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fd158516483d5423739b759e071d502cfdcaa9337e01d5fb5bbf5a9495af1abf", + "chksum_sha256": "7cbc785c8661033cd9dd7a60897484fce731cbe3dc124a689fc3e934b1d974fb", "format": 1 } ], diff --git a/ansible_collections/arista/eos/MANIFEST.json b/ansible_collections/arista/eos/MANIFEST.json index 21b4830da..b6a9c23ac 100644 --- a/ansible_collections/arista/eos/MANIFEST.json +++ b/ansible_collections/arista/eos/MANIFEST.json @@ -2,7 +2,7 @@ "collection_info": { "namespace": "arista", "name": "eos", - "version": "6.0.1", + "version": "6.2.2", "authors": [ "Ansible Network Community (ansible-network)" ], @@ -28,7 +28,7 @@ "name": "FILES.json", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f00660da4e54818c505325ef264a6484161c78db27d6c0174488c386d70920b7", + "chksum_sha256": "0f8a8eb3b5a249bb7e2a5867fd7cd7beb2a0c475f7686454977dc6a549dc9955", "format": 1 }, "format": 1 diff --git a/ansible_collections/arista/eos/README.md b/ansible_collections/arista/eos/README.md index cacc361a5..cb978ac79 100644 --- a/ansible_collections/arista/eos/README.md +++ b/ansible_collections/arista/eos/README.md @@ -2,6 +2,8 @@ # Arista EOS Collection [![CI](https://zuul-ci.org/gated.svg)](https://dashboard.zuul.ansible.com/t/ansible/project/github.com/ansible-collections/arista.eos) <!--[![Codecov](https://img.shields.io/codecov/c/github/ansible-collections/vyos)](https://codecov.io/gh/ansible-collections/arista.eos)--> +[![Codecov](https://codecov.io/gh/ansible-collections/arista.eos/branch/main/graph/badge.svg)](https://codecov.io/gh/ansible-collections/arista.eos) +[![CI](https://github.com/ansible-collections/arista.eos/actions/workflows/tests.yml/badge.svg?branch=main&event=schedule)](https://github.com/ansible-collections/arista.eos/actions/workflows/tests.yml) The Ansible Arista EOS collection includes a variety of Ansible content to help automate the management of Arista EOS network appliances. diff --git a/ansible_collections/arista/eos/changelogs/changelog.yaml b/ansible_collections/arista/eos/changelogs/changelog.yaml index 48cc60726..da67f8362 100644 --- a/ansible_collections/arista/eos/changelogs/changelog.yaml +++ b/ansible_collections/arista/eos/changelogs/changelog.yaml @@ -507,3 +507,82 @@ releases: - sanity_fixes.yaml - trivial_changes.yaml release_date: "2023-04-10" + 6.1.0: + changes: + doc_changes: + - Update bgp examples with yaml callback result + - Update bgp_global examples with yaml callback result + - Update examples for ospfv3 + - Update examples with yaml formatted output in ospf_interfaces. + - Update ospf_interfaces examples with yaml callback result + - Update ospfv2 examples with yaml callback result + - Update ospfv3 examples with yaml callback result + - Updateb bgp_address_family examples with yaml callback result + minor_changes: + - Add support for overridden operation in bgp_global resource module. + fragments: + - add_gha_periodic.yaml + - black.yaml + - boolean_normalization.yaml + - no-provider.yaml + - ospfv3_docs.yaml + - update_docs.yaml + - update_ospf_intefaces_docs.yaml + release_date: "2023-09-06" + 6.1.1: + changes: + bugfixes: + - fix sanity issues w.r.t python27 + fragments: + - fix_27_sanity.yaml + - sanity_fix.yaml + release_date: "2023-09-12" + 6.1.2: + changes: + bugfixes: + - Skip compile testing for python <3.6. + fragments: + - conpile_test36.yaml + release_date: "2023-09-14" + 6.2.0: + changes: + bugfixes: + - Fix command generated for local-interface with in ntp server attribute. + - Fix command generation for source_interface attribute. + - Fix secondary ip address parsing. + - fix line attribute fact generation and placement in ACE, when ACE is not fully + parsed. + doc_changes: + - Fix docs for static_routes and prefix_lists Resource modules. + - eos_interfaces - update examples and use YAML output for better readability. + - eos_l2_interfaces - update examples and use YAML output for better readability. + - eos_l3_interfaces - update examples and use YAML output for better readability. + minor_changes: + - arista_config - Relax restrictions on I(src) parameter so it can be used more + like I(lines). + fragments: + - Fix_config.yaml + - docs_fix.yaml + - eos_interface_l2_l3.yaml + - fix_logging_global_replaced.yaml + - fix_tox.yaml + - fix_virtual_ip_facts_issue.yaml + - ipv6_acl_facts_gather_fix.yaml + - lint_fixtures.yaml + - ntp_global_local_interface_fix.yaml + - sanity_job_fix.yaml + - trivial_lint.yaml + release_date: "2023-10-30" + 6.2.1: + changes: + release_summary: Rereleased 6.2.0 with updated galaxy reference. + fragments: + - rerelease.yaml + release_date: "2023-10-30" + 6.2.2: + changes: + bugfixes: + - correct the reference of string attribute 'reference_bandwith'. + fragments: + - ospf_v2_reference_bandwidth_fix.yaml + release_date: "2023-11-27" diff --git a/ansible_collections/arista/eos/changelogs/config.yaml b/ansible_collections/arista/eos/changelogs/config.yaml index c7efd0c64..f8266594b 100644 --- a/ansible_collections/arista/eos/changelogs/config.yaml +++ b/ansible_collections/arista/eos/changelogs/config.yaml @@ -26,5 +26,7 @@ sections: - Bugfixes - - known_issues - Known Issues + - - doc_changes + - Documentation Changes title: Arista Eos Collection trivial_section_name: trivial diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_acl_interfaces_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_acl_interfaces_module.rst index bdc7d5234..d4220232f 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_acl_interfaces_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_acl_interfaces_module.rst @@ -231,16 +231,16 @@ Examples - name: Merge module attributes of given access-groups arista.eos.eos_acl_interfaces: config: - - name: Ethernet2 - access_groups: - - afi: ipv4 - acls: - name: acl01 - direction: in - - afi: ipv6 - acls: - name: acl03 - direction: out + - name: Ethernet2 + access_groups: + - afi: ipv4 + acls: + name: acl01 + direction: in + - afi: ipv6 + acls: + name: acl03 + direction: out state: merged # Commands Fired: @@ -278,12 +278,12 @@ Examples - name: Replace module attributes of given access-groups arista.eos.eos_acl_interfaces: config: - - name: Ethernet2 - access_groups: - - afi: ipv4 - acls: - name: acl01 - direction: out + - name: Ethernet2 + access_groups: + - afi: ipv4 + acls: + name: acl01 + direction: out state: replaced # Commands Fired: @@ -322,12 +322,12 @@ Examples - name: Override module attributes of given access-groups arista.eos.eos_acl_interfaces: config: - - name: Ethernet2 - access_groups: - - afi: ipv4 - acls: - name: acl01 - direction: out + - name: Ethernet2 + access_groups: + - afi: ipv4 + acls: + name: acl01 + direction: out state: overridden # Commands Fired: @@ -367,16 +367,16 @@ Examples - name: Delete module attributes of given access-groups arista.eos.eos_acl_interfaces: config: - - name: Ethernet2 - access_groups: - - afi: ipv4 - acls: - name: acl01 - direction: in - - afi: ipv6 - acls: - name: acl03 - direction: out + - name: Ethernet2 + access_groups: + - afi: ipv4 + acls: + name: acl01 + direction: in + - afi: ipv6 + acls: + name: acl03 + direction: out state: deleted # Commands Fired: @@ -445,12 +445,12 @@ Examples - name: Delete acls under afi arista.eos.eos_acl_interfaces: config: - - name: Ethernet3 - access_groups: - - afi: ipv4 - - name: Ethernet2 - access_groups: - - afi: ipv6 + - name: Ethernet3 + access_groups: + - afi: ipv4 + - name: Ethernet2 + access_groups: + - afi: ipv6 state: deleted # Commands Fired: diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_acls_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_acls_module.rst index 5ca0e4a17..93136a293 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_acls_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_acls_module.rst @@ -2857,17 +2857,17 @@ Examples - name: Merge provided configuration with device configuration arista.eos.eos_acls: config: - - afi: ipv4 - acls: - - name: test1 - aces: - - sequence: 35 - grant: deny - protocol: ospf - source: - subnet_address: 20.0.0.0/8 - destination: - any: true + - afi: ipv4 + acls: + - name: test1 + aces: + - sequence: 35 + grant: deny + protocol: ospf + source: + subnet_address: 20.0.0.0/8 + destination: + any: true state: merged # After state: @@ -2899,14 +2899,14 @@ Examples - name: Merge to update the given configuration with an existing ace arista.eos.eos_acls: config: - - afi: ipv4 - acls: - - name: test1 - aces: - - sequence: 35 - log: true - ttl: - eq: 33 + - afi: ipv4 + acls: + - name: test1 + aces: + - sequence: 35 + log: true + ttl: + eq: 33 state: merged # After state: @@ -2939,22 +2939,20 @@ Examples # ipv6 access-list test2 # 10 deny icmpv6 any any reject-route hop-limit eq 20 - - - name: Replace device configuration with provided configuration arista.eos.eos_acls: config: - - afi: ipv4 - acls: - - name: test1 - aces: - - sequence: 35 - grant: permit - protocol: ospf - source: - subnet_address: 20.0.0.0/8 - destination: - any: true + - afi: ipv4 + acls: + - name: test1 + aces: + - sequence: 35 + grant: permit + protocol: ospf + source: + subnet_address: 20.0.0.0/8 + destination: + any: true state: replaced # After state: @@ -2970,7 +2968,6 @@ Examples # ipv6 access-list test2 # 10 deny icmpv6 any any reject-route hop-limit eq 20 - # Using overridden # Before state: @@ -2989,21 +2986,20 @@ Examples # 10 deny icmpv6 any any reject-route hop-limit eq 20 - - name: override device configuration with provided configuration arista.eos.eos_acls: config: - - afi: ipv4 - acls: - - name: test1 - aces: - - sequence: 35 - grant: permit - protocol: ospf - source: - subnet_address: 20.0.0.0/8 - destination: - any: true + - afi: ipv4 + acls: + - name: test1 + aces: + - sequence: 35 + grant: permit + protocol: ospf + source: + subnet_address: 20.0.0.0/8 + destination: + any: true state: overridden # After state: @@ -3032,9 +3028,9 @@ Examples - name: Delete provided configuration arista.eos.eos_acls: config: - - afi: ipv4 - acls: - - name: test1 + - afi: ipv4 + acls: + - name: test1 state: deleted # After state: @@ -3059,64 +3055,62 @@ Examples # returns: - # arista.eos.eos_acls: # config: - # - afi: "ipv4" - # acls: - # - name: test1 - # aces: - # - sequence: 35 - # grant: "deny" - # protocol: "ospf" - # source: - # subnet_address: 20.0.0.0/8 - # destination: - # any: true - # - afi: "ipv6" - # acls: - # - name: test2 - # aces: - # - sequence: 40 - # grant: "permit" - # vlan: "55 0xE2" - # protocol: "icmpv6" - # log: true - # source: - # any: true - # destination: - # any: true - + # - afi: "ipv4" + # acls: + # - name: test1 + # aces: + # - sequence: 35 + # grant: "deny" + # protocol: "ospf" + # source: + # subnet_address: 20.0.0.0/8 + # destination: + # any: true + # - afi: "ipv6" + # acls: + # - name: test2 + # aces: + # - sequence: 40 + # grant: "permit" + # vlan: "55 0xE2" + # protocol: "icmpv6" + # log: true + # source: + # any: true + # destination: + # any: true # using rendered - name: Delete provided configuration arista.eos.eos_acls: config: - - afi: ipv4 - acls: - - name: test1 - aces: - - sequence: 35 - grant: deny - protocol: ospf - source: - subnet_address: 20.0.0.0/8 - destination: - any: true - - afi: ipv6 - acls: - - name: test2 - aces: - - sequence: 40 - grant: permit - vlan: 55 0xE2 - protocol: icmpv6 - log: true - source: - any: true - destination: - any: true + - afi: ipv4 + acls: + - name: test1 + aces: + - sequence: 35 + grant: deny + protocol: ospf + source: + subnet_address: 20.0.0.0/8 + destination: + any: true + - afi: ipv6 + acls: + - name: test2 + aces: + - sequence: 40 + grant: permit + vlan: 55 0xE2 + protocol: icmpv6 + log: true + source: + any: true + destination: + any: true state: rendered # returns: @@ -3126,7 +3120,6 @@ Examples # ip access-list test2 # 40 permit vlan 55 0xE2 icmpv6 any any log - # Using Parsed # parsed_acls.cfg diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_bgp_address_family_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_bgp_address_family_module.rst index 08ef1f037..cc64946ab 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_bgp_address_family_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_bgp_address_family_module.rst @@ -1040,45 +1040,101 @@ Examples .. code-block:: yaml - # Using merged - - # Before state + # Using Merged + # Before state: + # ------------- # veos(config)#show running-config | section bgp # veos(config)# - - name: Merge provided configuration with device configuration - arista.eos.eos_bgp_address_family: - config: - as_number: "10" - address_family: - - afi: "ipv4" - redistribute: - - protocol: "ospfv3" - ospf_route: "external" - network: - - address: "1.1.1.0/24" - - address: "1.5.1.0/24" - route_map: "MAP01" - - afi: "ipv6" - bgp_params: - additional_paths: "receive" - neighbor: - - peer: "peer2" - default_originate: - always: True - - afi: "ipv6" - redistribute: - - protocol: "isis" - isis_level: "level-2" - route_target: - mode: "export" - target: "33:11" - vrf: "vrft" - state: merged + - name: Merge provided configuration with device configuration + arista.eos.eos_bgp_address_family: + config: + as_number: "10" + address_family: + - afi: "ipv4" + redistribute: + - protocol: "ospfv3" + ospf_route: "external" + network: + - address: "1.1.1.0/24" + - address: "1.5.1.0/24" + route_map: "MAP01" + - afi: "ipv6" + bgp_params: + additional_paths: "receive" + neighbor: + - peer: "peer2" + default_originate: + always: true + - afi: "ipv6" + redistribute: + - protocol: "isis" + isis_level: "level-2" + route_target: + mode: "export" + target: "33:11" + vrf: "vrft" + state: merged + + + # Task output: + # ------------ + # before: {} + # + # commands: + # - router bgp 10 + # - address-family ipv4 + # - redistribute ospfv3 match external + # - network 1.1.1.0/24 + # - network 1.5.1.0/24 route-map MAP01 + # - exit + # - address-family ipv6 + # - neighbor peer2 default-originate always + # - bgp additional-paths receive + # - exit + # - vrf vrft + # - address-family ipv6 + # - redistribute isis level-2 + # - route-target export 33:11 + # - exit + # - exit + # + # after: + # address_family: + # - afi: ipv4 + # neighbor: + # - activate: true + # peer: 1.1.1.1 + # network: + # - address: 1.1.1.0/24 + # - address: 1.5.1.0/24 + # route_map: MAP01 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # - afi: ipv6 + # bgp_params: + # additional_paths: receive + # neighbor: + # - activate: true + # default_originate: + # always: true + # peer: peer2 + # - afi: ipv6 + # redistribute: + # - isis_level: level-2 + # protocol: isis + # route_target: + # action: export + # target: '33:11' + # vrf: vrft + # as_number: '10' + # "before": {}, + # "changed": true, # After state: - + # ------------ # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -1100,77 +1156,11 @@ Examples # address-family ipv6 # route-target export 33:11 # redistribute isis level-2 - # veos(config-router-bgp)# - - # Module Execution: - - # "after": { - # "address_family": [ - # { - # "afi": "ipv4", - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "neighbor": [ - # { - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "redistribute": [ - # { - # "isis_level": "level-2", - # "protocol": "isis" - # } - # ], - # "route_target": { - # "mode": "export", - # "target": "33:11" - # }, - # "vrf": "vrft" - # } - # ], - # "as_number": "10" - # }, - # "before": {}, - # "changed": true, - # "commands": [ - # "router bgp 10", - # "address-family ipv4", - # "redistribute ospfv3 match external", - # "network 1.1.1.0/24", - # "network 1.5.1.0/24 route-map MAP01", - # "exit", - # "address-family ipv6", - # "neighbor peer2 default-originate always", - # "bgp additional-paths receive", - # "exit", - # "vrf vrft", - # "address-family ipv6", - # "redistribute isis level-2", - # "route-target export 33:11", - # "exit", - # "exit" - # ], - - # Using replaced: - - # Before State: + # Using replaced + + # Before state: + # ------------- # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -1192,27 +1182,101 @@ Examples # address-family ipv6 # route-target export 33:11 # redistribute isis level-2 - # veos(config-router-bgp)# - # - - name: Replace - arista.eos.eos_bgp_address_family: - config: - as_number: "10" - address_family: - - afi: "ipv6" - vrf: "vrft" - redistribute: - - protocol: "ospfv3" - ospf_route: "external" - - afi: "ipv6" - redistribute: - - protocol: "isis" - isis_level: "level-2" - state: replaced - - # After State: + - name: Replace running config section with provided config + arista.eos.eos_bgp_address_family: + config: + as_number: "10" + address_family: + - afi: "ipv6" + vrf: "vrft" + redistribute: + - protocol: "ospfv3" + ospf_route: "external" + - afi: "ipv6" + redistribute: + - protocol: "isis" + isis_level: "level-2" + state: replaced + + # Task output: + # ------------ + # before: + # address_family: + # - afi: ipv4 + # neighbor: + # - activate: true + # peer: 1.1.1.1 + # network: + # - address: 1.1.1.0/24 + # - address: 1.5.1.0/24 + # route_map: MAP01 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # - afi: ipv6 + # bgp_params: + # additional_paths: receive + # neighbor: + # - activate: true + # default_originate: + # always: true + # peer: peer2 + # - afi: ipv6 + # redistribute: + # - isis_level: level-2 + # protocol: isis + # route_target: + # action: export + # target: '33:11' + # vrf: vrft + # as_number: '10' + # + # commands: + # - router bgp 10 + # - vrf vrft + # - address-family ipv6 + # - redistribute ospfv3 match external + # - no redistribute isis level-2 + # - no route-target export 33:11 + # - exit + # - exit + # - address-family ipv6 + # - redistribute isis level-2 + # - no neighbor peer2 activate + # - no bgp additional-paths receive + # - exit + # + # after: + # address_family: + # - afi: ipv4 + # neighbor: + # - activate: true + # peer: 1.1.1.1 + # network: + # - address: 1.1.1.0/24 + # - address: 1.5.1.0/24 + # route_map: MAP01 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # - afi: ipv6 + # neighbor: + # - default_originate: + # always: true + # peer: peer2 + # redistribute: + # - isis_level: level-2 + # protocol: isis + # - afi: ipv6 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # vrf: vrft + # as_number: '10' + # After state: + # ------------ # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -1232,145 +1296,11 @@ Examples # vrf vrft # address-family ipv6 # redistribute ospfv3 match external - # veos(config-router-bgp)# - # - # - # # Module Execution: - # - # "after": { - # "address_family": [ - # { - # "afi": "ipv4", - # "neighbor": [ - # { - # "activate": true, - # "peer": "1.1.1.1" - # } - # ], - # "network": [ - # { - # "address": "1.1.1.0/24" - # }, - # { - # "address": "1.5.1.0/24", - # "route_map": "MAP01" - # } - # ], - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "neighbor": [ - # { - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ], - # "redistribute": [ - # { - # "isis_level": "level-2", - # "protocol": "isis" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ], - # "vrf": "vrft" - # } - # ], - # "as_number": "10" - # }, - # "before": { - # "address_family": [ - # { - # "afi": "ipv4", - # "neighbor": [ - # { - # "activate": true, - # "peer": "1.1.1.1" - # } - # ], - # "network": [ - # { - # "address": "1.1.1.0/24" - # }, - # { - # "address": "1.5.1.0/24", - # "route_map": "MAP01" - # } - # ], - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "neighbor": [ - # { - # "activate": true, - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "redistribute": [ - # { - # "isis_level": "level-2", - # "protocol": "isis" - # } - # ], - # "route_target": { - # "mode": "export", - # "target": "33:11" - # }, - # "vrf": "vrft" - # } - # ], - # "as_number": "10" - # }, - # "changed": true, - # "commands": [ - # "router bgp 10", - # "vrf vrft", - # "address-family ipv6", - # "redistribute ospfv3 match external", - # "no redistribute isis level-2", - # "no route-target export 33:11", - # "exit", - # "exit", - # "address-family ipv6", - # "redistribute isis level-2", - # "no neighbor peer2 activate", - # "no bgp additional-paths receive", - # "exit" - # ], # Using overridden (overriding af at global context): - # Before state: + # Before state: + # ------------- # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -1390,23 +1320,83 @@ Examples # vrf vrft # address-family ipv6 # redistribute ospfv3 match external - # veos(config-router-bgp)# - - - name: Overridden - arista.eos.eos_bgp_address_family: - config: - as_number: "10" - address_family: - - afi: "ipv4" - bgp_params: - additional_paths: "receive" - neighbor: - - peer: "peer2" - default_originate: - always: True - state: overridden - - # After State: + + - name: Override running config with provided config + arista.eos.eos_bgp_address_family: + config: + as_number: "10" + address_family: + - afi: "ipv4" + bgp_params: + additional_paths: "receive" + neighbor: + - peer: "peer2" + default_originate: + always: true + state: overridden + + + # + # Task output: + # ------------ + # before: + # address_family: + # - afi: ipv4 + # neighbor: + # - activate: true + # peer: 1.1.1.1 + # network: + # - address: 1.1.1.0/24 + # - address: 1.5.1.0/24 + # route_map: MAP01 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # - afi: ipv6 + # neighbor: + # - default_originate: + # always: true + # peer: peer2 + # redistribute: + # - isis_level: level-2 + # protocol: isis + # - afi: ipv6 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # vrf: vrft + # as_number: '10' + # + # commands: + # - router bgp 10 + # - address-family ipv4 + # - no redistribute ospfv3 match external + # - no network 1.1.1.0/24 + # - no network 1.5.1.0/24 route-map MAP01 + # - neighbor peer2 default-originate always + # - no neighbor 1.1.1.1 activate + # - bgp additional-paths receive + # - exit + # - no address-family ipv6 + # + # after: + # address_family: + # - afi: ipv4 + # bgp_params: + # additional_paths: receive + # neighbor: + # - default_originate: + # always: true + # peer: peer2 + # - afi: ipv6 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # vrf: vrft + # as_number: '10' + + # After state: + # ------------ # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -1420,113 +1410,11 @@ Examples # vrf vrft # address-family ipv6 # redistribute ospfv3 match external - # veos(config-router-bgp)# - # - # Module Execution: - # - # "after": { - # "address_family": [ - # { - # "afi": "ipv4", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "neighbor": [ - # { - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ], - # "vrf": "vrft" - # } - # ], - # "as_number": "10" - # }, - # "before": { - # "address_family": [ - # { - # "afi": "ipv4", - # "neighbor": [ - # { - # "activate": true, - # "peer": "1.1.1.1" - # } - # ], - # "network": [ - # { - # "address": "1.1.1.0/24" - # }, - # { - # "address": "1.5.1.0/24", - # "route_map": "MAP01" - # } - # ], - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "neighbor": [ - # { - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ], - # "redistribute": [ - # { - # "isis_level": "level-2", - # "protocol": "isis" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ], - # "vrf": "vrft" - # } - # ], - # "as_number": "10" - # }, - # "changed": true, - # "commands": [ - # "router bgp 10", - # "address-family ipv4", - # "no redistribute ospfv3 match external", - # "no network 1.1.1.0/24", - # "no network 1.5.1.0/24 route-map MAP01", - # "neighbor peer2 default-originate always", - # "no neighbor 1.1.1.1 activate", - # "bgp additional-paths receive", - # "exit", - # "no address-family ipv6" - # ], # using Overridden (overridding af in vrf context): - # Before State: - + # Before state: + # ------------- # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -1550,26 +1438,101 @@ Examples # route-target export 33:11 # redistribute isis level-2 # redistribute ospfv3 match external - # veos(config-router-bgp)# - - - - name: Overridden - arista.eos.eos_bgp_address_family: - config: - as_number: "10" - address_family: - - afi: "ipv4" - bgp_params: - additional_paths: "receive" - neighbor: - - peer: "peer2" - default_originate: - always: True - vrf: vrft - state: overridden - - # After State: + - name: Override running config with provided config + arista.eos.eos_bgp_address_family: + config: + as_number: "10" + address_family: + - afi: "ipv4" + bgp_params: + additional_paths: "receive" + neighbor: + - peer: "peer2" + default_originate: + always: true + vrf: vrft + state: overridden + + # Task output: + # ------------ + # before: + # address_family: + # - afi: ipv4 + # bgp_params: + # additional_paths: receive + # neighbor: + # - default_originate: + # always: true + # peer: peer2 + # network: + # - address: 1.1.1.0/24 + # - address: 1.5.1.0/24 + # route_map: MAP01 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # - afi: ipv6 + # bgp_params: + # additional_paths: receive + # neighbor: + # - default_originate: + # always: true + # peer: peer2 + # - afi: ipv6 + # redistribute: + # - isis_level: level-2 + # protocol: isis + # - ospf_route: external + # protocol: ospfv3 + # route_target: + # action: export + # target: '33:11' + # vrf: vrft + # as_number: '10' + # + # commands: + # - router bgp 10 + # - vrf vrft + # - address-family ipv4 + # - neighbor peer2 default-originate always + # - bgp additional-paths receive + # - exit + # - exit + # - vrf vrft + # - no address-family ipv6 + # + # after: + # address_family: + # - afi: ipv4 + # bgp_params: + # additional_paths: receive + # neighbor: + # - default_originate: + # always: true + # peer: peer2 + # network: + # - address: 1.1.1.0/24 + # - address: 1.5.1.0/24 + # route_map: MAP01 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # - afi: ipv6 + # bgp_params: + # additional_paths: receive + # neighbor: + # - default_originate: + # always: true + # peer: peer2 + # - afi: ipv4 + # bgp_params: + # additional_paths: receive + # vrf: vrft + # as_number: '10' + + # After state: + # ------------ # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -1590,146 +1553,11 @@ Examples # vrf vrft # address-family ipv4 # bgp additional-paths receive - # veos(config-router-bgp)# - # - # Module Execution: - # - # "after": { - # "address_family": [ - # { - # "afi": "ipv4", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "neighbor": [ - # { - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ], - # "network": [ - # { - # "address": "1.1.1.0/24" - # }, - # { - # "address": "1.5.1.0/24", - # "route_map": "MAP01" - # } - # ], - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "neighbor": [ - # { - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ] - # }, - # { - # "afi": "ipv4", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "vrf": "vrft" - # } - # ], - # "as_number": "10" - # }, - # "before": { - # "address_family": [ - # { - # "afi": "ipv4", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "neighbor": [ - # { - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ], - # "network": [ - # { - # "address": "1.1.1.0/24" - # }, - # { - # "address": "1.5.1.0/24", - # "route_map": "MAP01" - # } - # ], - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "neighbor": [ - # { - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "redistribute": [ - # { - # "isis_level": "level-2", - # "protocol": "isis" - # }, - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ], - # "route_target": { - # "mode": "export", - # "target": "33:11" - # }, - # "vrf": "vrft" - # } - # ], - # "as_number": "10" - # }, - # "changed": true, - # "commands": [ - # "router bgp 10", - # "vrf vrft", - # "address-family ipv4", - # "neighbor peer2 default-originate always", - # "bgp additional-paths receive", - # "exit", - # "exit", - # " vrf vrft", - # "no address-family ipv6" - # ], - - # Using Deleted: + # Using deleted + + # Before state: + # ------------- # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -1751,20 +1579,72 @@ Examples # vrf vrft # address-family ipv4 # bgp additional-paths receive - # veos(config-router-bgp)# - - name: Delete - arista.eos.eos_bgp_address_family: - config: - as_number: "10" - address_family: - - afi: "ipv6" - vrf: "vrft" - - afi: "ipv6" - state: deleted - - # After State: + - name: Delete running config for provided afi + arista.eos.eos_bgp_address_family: + config: + as_number: "10" + address_family: + - afi: "ipv6" + vrf: "vrft" + - afi: "ipv6" + state: deleted + + # Task output: + # ------------ + # before: + # address_family: + # - afi: ipv4 + # bgp_params: + # additional_paths: receive + # neighbor: + # - default_originate: + # always: true + # peer: peer2 + # network: + # - address: 1.1.1.0/24 + # - address: 1.5.1.0/24 + # route_map: MAP01 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # - afi: ipv6 + # bgp_params: + # additional_paths: receive + # neighbor: + # - default_originate: + # always: true + # peer: peer2 + # - afi: ipv4 + # bgp_params: + # additional_paths: receive + # vrf: vrft + # as_number: '10' + # + # after: + # address_family: + # - afi: ipv4 + # bgp_params: + # additional_paths: receive + # neighbor: + # - default_originate: + # always: true + # peer: peer2 + # network: + # - address: 1.1.1.0/24 + # - address: 1.5.1.0/24 + # route_map: MAP01 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # - afi: ipv4 + # bgp_params: + # additional_paths: receive + # vrf: vrft + # as_number: '10' + # After state: + # ------------ # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -1782,111 +1662,12 @@ Examples # vrf vrft # address-family ipv4 # bgp additional-paths receive - # veos(config-router-bgp)# - # - # Module Execution: - # - # "after": { - # "address_family": [ - # { - # "afi": "ipv4", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "neighbor": [ - # { - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ], - # "network": [ - # { - # "address": "1.1.1.0/24" - # }, - # { - # "address": "1.5.1.0/24", - # "route_map": "MAP01" - # } - # ], - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ] - # }, - # { - # "afi": "ipv4", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "vrf": "vrft" - # } - # ], - # "as_number": "10" - # }, - # "before": { - # "address_family": [ - # { - # "afi": "ipv4", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "neighbor": [ - # { - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ], - # "network": [ - # { - # "address": "1.1.1.0/24" - # }, - # { - # "address": "1.5.1.0/24", - # "route_map": "MAP01" - # } - # ], - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "neighbor": [ - # { - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ] - # }, - # { - # "afi": "ipv4", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "vrf": "vrft" - # } - # ], - # "as_number": "10" - # }, - - # Using parsed: - - # parsed_bgp_address_family.cfg : + + # Using parsed + + # parsed.cfg + # ---------- # router bgp 10 # neighbor n2 peer group # neighbor n2 next-hop-unchanged @@ -1920,82 +1701,52 @@ Examples # address-family ipv6 # redistribute ospfv3 match external - - name: parse configs - arista.eos.eos_bgp_address_family: - running_config: "{{ lookup('file', './parsed_bgp_address_family.cfg') }}" - state: parsed - - # Module Execution: - # "parsed": { - # "address_family": [ - # { - # "afi": "ipv4", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "neighbor": [ - # { - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ], - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "neighbor": [ - # { - # "next_hop_unchanged": true, - # "peer": "n2" - # } - # ], - # "redistribute": [ - # { - # "isis_level": "level-2", - # "protocol": "isis" - # } - # ] - # }, - # { - # "afi": "ipv4", - # "route_target": { - # "mode": "import", - # "target": "20:11" - # }, - # "vrf": "bgp_10" - # }, - # { - # "afi": "ipv4", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "vrf": "vrft" - # }, - # { - # "afi": "ipv6", - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ], - # "vrf": "vrft" - # } - # ], - # "as_number": "10" - # } - # } - - # Using gathered: - - # Device config: + - name: parse running config and generate structred facts + arista.eos.eos_bgp_address_family: + running_config: "{{ lookup('file', './parsed_bgp_address_family.cfg') }}" + state: parsed + + # Task output: + # ------------ + # parsed: + # address_family: + # - afi: ipv4 + # bgp_params: + # additional_paths: receive + # neighbor: + # - default_originate: + # always: true + # peer: peer2 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # - afi: ipv6 + # neighbor: + # - next_hop_unchanged: true + # peer: n2 + # redistribute: + # - isis_level: level-2 + # protocol: isis + # - afi: ipv4 + # route_target: + # action: import + # target: '20:11' + # vrf: bgp_10 + # - afi: ipv4 + # bgp_params: + # additional_paths: receive + # vrf: vrft + # - afi: ipv6 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # vrf: vrft + # as_number: '10' + + # Using gathered + + # running config + # -------------- # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -2013,111 +1764,205 @@ Examples # vrf vrft # address-family ipv4 # bgp additional-paths receive - # veos(config-router-bgp)# - - - name: gather configs - arista.eos.eos_bgp_address_family: - state: gathered - - # Module Execution: - # "gathered": { - # "address_family": [ - # { - # "afi": "ipv4", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "neighbor": [ - # { - # "default_originate": { - # "always": true - # }, - # "peer": "peer2" - # } - # ], - # "network": [ - # { - # "address": "1.1.1.0/24" - # }, - # { - # "address": "1.5.1.0/24", - # "route_map": "MAP01" - # } - # ], - # "redistribute": [ - # { - # "ospf_route": "external", - # "protocol": "ospfv3" - # } - # ] - # }, - # { - # "afi": "ipv4", - # "bgp_params": { - # "additional_paths": "receive" - # }, - # "vrf": "vrft" - # } - # ], - # "as_number": "10" - # }, - - # using rendered: - - - name: Render - arista.eos.eos_bgp_address_family: - config: - as_number: "10" - address_family: - - afi: "ipv4" - redistribute: - - protocol: "ospfv3" - ospf_route: "external" - network: - - address: "1.1.1.0/24" - - address: "1.5.1.0/24" - route_map: "MAP01" - - afi: "ipv6" - bgp_params: - additional_paths: "receive" - neighbor: - - peer: "peer2" - default_originate: - always: True - - afi: "ipv6" - redistribute: - - protocol: "isis" - isis_level: "level-2" - route_target: - mode: "export" - target: "33:11" - vrf: "vrft" - - state: rendered - - # Module Execution: - - # "rendered": [ - # "router bgp 10", - # "address-family ipv4", - # "redistribute ospfv3 match external", - # "network 1.1.1.0/24", - # "network 1.5.1.0/24 route-map MAP01", - # "exit", - # "address-family ipv6", - # "neighbor peer2 default-originate always", - # "bgp additional-paths receive", - # "exit", - # "vrf vrft", - # "address-family ipv6", - # "redistribute isis level-2", - # "route-target export 33:11", - # "exit", - # "exit" - # ] - # + - name: gather running config + arista.eos.eos_bgp_address_family: + state: gathered + + # Task output: + # ------------ + # gathered: + # address_family: + # - afi: ipv4 + # bgp_params: + # additional_paths: receive + # neighbor: + # - default_originate: + # always: true + # peer: peer2 + # network: + # - address: 1.1.1.0/24 + # - address: 1.5.1.0/24 + # route_map: MAP01 + # redistribute: + # - ospf_route: external + # protocol: ospfv3 + # - afi: ipv4 + # bgp_params: + # additional_paths: receive + # vrf: vrft + # as_number: '10' + + # using rendered + + - name: Render CLI commands for provided config + arista.eos.eos_bgp_address_family: + config: + as_number: "10" + address_family: + - afi: "ipv4" + redistribute: + - protocol: "ospfv3" + ospf_route: "external" + network: + - address: "1.1.1.0/24" + - address: "1.5.1.0/24" + route_map: "MAP01" + - afi: "ipv6" + bgp_params: + additional_paths: "receive" + neighbor: + - peer: "peer2" + default_originate: + always: true + - afi: "ipv6" + redistribute: + - protocol: "isis" + isis_level: "level-2" + route_target: + mode: "export" + target: "33:11" + vrf: "vrft" + state: rendered + + # Task output: + # ------------ + # rendered: + # - router bgp 10 + # - address-family ipv4 + # - redistribute ospfv3 match external + # - network 1.1.1.0/24 + # - network 1.5.1.0/24 route-map MAP01 + # - exit + # - address-family ipv6 + # - neighbor peer2 default-originate always + # - bgp additional-paths receive + # - exit + # - vrf vrft + # - address-family ipv6 + # - redistribute isis level-2 + # - route-target export 33:11 + # - exit + # - exit + + + +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 10', 'address-family ipv4', 'redistribute ospfv3 match external', 'network 1.1.1.0/24']</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 10', 'address-family ipv4', 'redistribute ospfv3 match external', 'network 1.1.1.0/24']</div> + </td> + </tr> + </table> + <br/><br/> Status diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_bgp_global_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_bgp_global_module.rst index e04df2071..65fcd7ca5 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_bgp_global_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_bgp_global_module.rst @@ -382,7 +382,7 @@ Parameters </ul> </td> <td> - <div>When True, it is set.</div> + <div>When true, it is set.</div> </td> </tr> @@ -1251,7 +1251,7 @@ Parameters </ul> </td> <td> - <div>When True route_reflector is set.</div> + <div>When true route_reflector is set.</div> </td> </tr> @@ -1408,7 +1408,7 @@ Parameters </ul> </td> <td> - <div>When True, graceful restart is set.</div> + <div>When true, graceful restart is set.</div> </td> </tr> <tr> @@ -1686,7 +1686,7 @@ Parameters </ul> </td> <td> - <div>When True, it is set.</div> + <div>When true, it is set.</div> </td> </tr> @@ -1864,7 +1864,7 @@ Parameters </ul> </td> <td> - <div>If True, ttl is not set.</div> + <div>If true, ttl is not set.</div> </td> </tr> <tr> @@ -2155,7 +2155,7 @@ Parameters </ul> </td> <td> - <div>If True, set link bandwidth</div> + <div>If true, set link bandwidth</div> </td> </tr> <tr> @@ -2725,7 +2725,7 @@ Parameters </ul> </td> <td> - <div>If True, set remove_private_as.</div> + <div>If true, set remove_private_as.</div> </td> </tr> @@ -3422,7 +3422,7 @@ Parameters </ul> </td> <td> - <div>When True, shut down BGP.</div> + <div>When true, shut down BGP.</div> </td> </tr> <tr> @@ -3658,7 +3658,7 @@ Parameters </ul> </td> <td> - <div>If True, ucmp mode is set to 1.</div> + <div>If true, ucmp mode is set to 1.</div> </td> </tr> @@ -4102,7 +4102,7 @@ Parameters </ul> </td> <td> - <div>When True, it is set.</div> + <div>When true, it is set.</div> </td> </tr> @@ -5014,7 +5014,7 @@ Parameters </ul> </td> <td> - <div>When True route_reflector is set.</div> + <div>When true route_reflector is set.</div> </td> </tr> @@ -5180,7 +5180,7 @@ Parameters </ul> </td> <td> - <div>When True, graceful restart is set.</div> + <div>When true, graceful restart is set.</div> </td> </tr> <tr> @@ -5375,7 +5375,7 @@ Parameters </ul> </td> <td> - <div>When True, it is set.</div> + <div>When true, it is set.</div> </td> </tr> @@ -5562,7 +5562,7 @@ Parameters </ul> </td> <td> - <div>If True, ttl is not set.</div> + <div>If true, ttl is not set.</div> </td> </tr> <tr> @@ -5868,7 +5868,7 @@ Parameters </ul> </td> <td> - <div>If True, set link bandwidth</div> + <div>If true, set link bandwidth</div> </td> </tr> <tr> @@ -6468,7 +6468,7 @@ Parameters </ul> </td> <td> - <div>If True, set remove_private_as.</div> + <div>If true, set remove_private_as.</div> </td> </tr> @@ -7241,7 +7241,7 @@ Parameters </ul> </td> <td> - <div>When True, shut down BGP.</div> + <div>When true, shut down BGP.</div> </td> </tr> <tr> @@ -7491,7 +7491,7 @@ Parameters </ul> </td> <td> - <div>If True, ucmp mode is set to 1.</div> + <div>If true, ucmp mode is set to 1.</div> </td> </tr> @@ -7603,6 +7603,7 @@ Parameters <ul style="margin: 0; padding: 0"><b>Choices:</b> <li>deleted</li> <li><div style="color: blue"><b>merged</b> ←</div></li> + <li>overridden</li> <li>purged</li> <li>replaced</li> <li>gathered</li> @@ -7636,68 +7637,152 @@ Examples .. code-block:: yaml - # Using merged - # Before state + # Using Merged + # Before state: + # ------------- # veos(config)#show running-config | section bgp # veos(config)# - - name: Merge provided configuration with device configuration - arista.eos.eos_bgp_global: - config: - as_number: "100" - bgp_params: - host_routes: True - convergence: - slow_peer: True - time: 6 - additional_paths: "send" - log_neighbor_changes: True - maximum_paths: - max_equal_cost_paths: 55 - aggregate_address: - - address: "1.2.1.0/24" - as_set: true - match_map: "match01" - - address: "5.2.1.0/24" - attribute_map: "attrmatch01" - advertise_only: true - redistribute: - - protocol: "static" - route_map: "map_static" - - protocol: "attached-host" - distance: - internal: 50 - neighbor: - - peer: "10.1.3.2" - allowas_in: - set: true - default_originate: - always: true - dont_capability_negotiate: true - export_localpref: 4000 - maximum_received_routes: - count: 500 - warning_limit: - limit_percent: 5 - next_hop_unchanged: true - prefix_list: - name: "prefix01" - direction: "out" - - neighbor_address: "peer1" - fall_over: true - link_bandwidth: - update_delay: 5 - monitoring: True - send_community: - community_attribute: "extended" - sub_attribute: "link-bandwidth" - link_bandwidth_attribute: "aggregate" - speed: "600" - vlan: 5 - state: merged - - # After State: + - name: Merge provided configuration with device configuration + arista.eos.eos_bgp_global: + config: + as_number: "100" + bgp_params: + host_routes: true + convergence: + slow_peer: true + time: 6 + additional_paths: "send" + log_neighbor_changes: true + maximum_paths: + max_equal_cost_paths: 55 + aggregate_address: + - address: "1.2.1.0/24" + as_set: true + match_map: "match01" + - address: "5.2.1.0/24" + attribute_map: "attrmatch01" + advertise_only: true + redistribute: + - protocol: "static" + route_map: "map_static" + - protocol: "attached-host" + distance: + internal: 50 + neighbor: + - peer: "10.1.3.2" + allowas_in: + set: true + default_originate: + always: true + dont_capability_negotiate: true + export_localpref: 4000 + maximum_received_routes: + count: 500 + warning_limit: + limit_percent: 5 + next_hop_unchanged: true + prefix_list: + name: "prefix01" + direction: "out" + - neighbor_address: "peer1" + fall_over: true + link_bandwidth: + update_delay: 5 + monitoring: true + send_community: + community_attribute: "extended" + sub_attribute: "link-bandwidth" + link_bandwidth_attribute: "aggregate" + speed: "600" + vlan: 5 + state: merged + + # Task output: + # ------------ + # before: {} + # + # commands: + # - router bgp 100 + # - neighbor 10.1.3.2 allowas-in + # - neighbor 10.1.3.2 default-originate always + # - neighbor 10.1.3.2 dont-capability-negotiate + # - neighbor 10.1.3.2 export-localpref 4000 + # - neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent + # - neighbor 10.1.3.2 next-hop-unchanged + # - neighbor 10.1.3.2 prefix-list prefix01 out + # - neighbor peer1 fall-over bfd + # - neighbor peer1 link-bandwidth update-delay 5 + # - neighbor peer1 monitoring + # - neighbor peer1 send-community extended link-bandwidth aggregate 600 + # - redistribute static route-map map_static + # - redistribute attached-host + # - aggregate-address 1.2.1.0/24 as-set match-map match01 + # - aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only + # - bgp host-routes fib direct-install + # - bgp convergence slow-peer time 6 + # - bgp additional-paths send any + # - bgp log-neighbor-changes + # - maximum-paths 55 + # - distance bgp 50 + # - vlan 5 + # + # after: + # aggregate_address: + # - address: 1.2.1.0/24 + # as_set: true + # match_map: match01 + # - address: 5.2.1.0/24 + # advertise_only: true + # attribute_map: attrmatch01 + # as_number: '100' + # bgp_params: + # additional_paths: send + # convergence: + # slow_peer: true + # time: 6 + # distance: + # external: 50 + # internal: 50 + # local: 50 + # maximum_paths: + # max_equal_cost_paths: 55 + # neighbor: + # - fall_over: true + # link_bandwidth: + # set: true + # update_delay: 5 + # maximum_received_routes: + # count: 12000 + # monitoring: true + # neighbor_address: peer1 + # peer_group: peer1 + # send_community: + # community_attribute: extended + # link_bandwidth_attribute: aggregate + # speed: '600' + # sub_attribute: link-bandwidth + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # export_localpref: 4000 + # maximum_received_routes: + # count: 500 + # warning_limit: + # limit_percent: 5 + # neighbor_address: 10.1.3.2 + # next_hop_unchanged: true + # redistribute: + # - protocol: static + # route_map: map_static + # - protocol: attached-host + # vlan: 5 + + # After state: + # ------------ # veos(config)#show running-config | section bgp # router bgp 100 # bgp convergence slow-peer time 6 @@ -7725,120 +7810,11 @@ Examples # ! # address-family ipv4 # neighbor 10.1.3.2 prefix-list prefix01 out - # veos(config)# - # - # Module Execution: - # - # "after": { - # "aggregate_address": [ - # { - # "address": "1.2.1.0/24", - # "as_set": true, - # "match_map": "match01" - # }, - # { - # "address": "5.2.1.0/24", - # "advertise_only": true, - # "attribute_map": "attrmatch01" - # } - # ], - # "as_number": "100", - # "bgp_params": { - # "additional_paths": "send", - # "convergence": { - # "slow_peer": true, - # "time": 6 - # } - # }, - # "distance": { - # "external": 50, - # "internal": 50, - # "local": 50 - # }, - # "maximum_paths": { - # "max_equal_cost_paths": 55 - # }, - # "neighbor": [ - # { - # "fall_over": true, - # "link_bandwidth": { - # "set": true, - # "update_delay": 5 - # }, - # "maximum_received_routes": { - # "count": 12000 - # }, - # "monitoring": true, - # "peer": "peer1", - # "peer_group": "peer1", - # "send_community": { - # "community_attribute": "extended", - # "link_bandwidth_attribute": "aggregate", - # "speed": "600", - # "sub_attribute": "link-bandwidth" - # } - # }, - # { - # "allowas_in": { - # "count": 3 - # }, - # "default_originate": { - # "always": true - # }, - # "dont_capability_negotiate": true, - # "export_localpref": 4000, - # "maximum_received_routes": { - # "count": 500, - # "warning_limit": { - # "limit_percent": 5 - # } - # }, - # "next_hop_unchanged": true, - # "peer": "10.1.3.2" - # } - # ], - # "redistribute": [ - # { - # "protocol": "static", - # "route_map": "map_static" - # }, - # { - # "protocol": "attached-host" - # } - # ], - # "vlan": 5 - # }, - # "before": {}, - # "changed": true, - # "commands": [ - # "router bgp 100", - # "neighbor 10.1.3.2 allowas-in", - # "neighbor 10.1.3.2 default-originate always", - # "neighbor 10.1.3.2 dont-capability-negotiate", - # "neighbor 10.1.3.2 export-localpref 4000", - # "neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent", - # "neighbor 10.1.3.2 next-hop-unchanged", - # "neighbor 10.1.3.2 prefix-list prefix01 out", - # "neighbor peer1 fall-over bfd", - # "neighbor peer1 link-bandwidth update-delay 5", - # "neighbor peer1 monitoring", - # "neighbor peer1 send-community extended link-bandwidth aggregate 600", - # "redistribute static route-map map_static", - # "redistribute attached-host", - # "aggregate-address 1.2.1.0/24 as-set match-map match01", - # "aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only", - # "bgp host-routes fib direct-install", - # "bgp convergence slow-peer time 6", - # "bgp additional-paths send any", - # "bgp log-neighbor-changes", - # "maximum-paths 55", - # "distance bgp 50", - # "vlan 5" - # ], # Using replaced: # Before state: + # ------------- # veos(config)#show running-config | section bgp # router bgp 100 # bgp convergence slow-peer time 6 @@ -7873,66 +7849,215 @@ Examples # neighbor 12.1.3.2 allowas-in 3 # neighbor 12.1.3.2 default-originate always # neighbor 12.1.3.2 maximum-routes 12000 - # veos(config)# - - - name: replace provided configuration with device configuration - arista.eos.eos_bgp_global: - config: - as_number: "100" - bgp_params: - host_routes: True - convergence: - slow_peer: True - time: 6 - additional_paths: "send" - log_neighbor_changes: True - vrfs: - - vrf: "vrf01" - maximum_paths: - max_equal_cost_paths: 55 - aggregate_address: - - address: "1.2.1.0/24" - as_set: true - match_map: "match01" - - address: "5.2.1.0/24" - attribute_map: "attrmatch01" - advertise_only: true - redistribute: - - protocol: "static" - route_map: "map_static" - - protocol: "attached-host" - distance: - internal: 50 - neighbor: - - neighbor_address: "10.1.3.2" - allowas_in: - set: true - default_originate: - always: true - dont_capability_negotiate: true - export_localpref: 4000 - maximum_received_routes: - count: 500 - warning_limit: - limit_percent: 5 - next_hop_unchanged: true - prefix_list: - name: "prefix01" - direction: "out" - - neighbor_address: "peer1" - fall_over: true - link_bandwidth: - update_delay: 5 - monitoring: True - send_community: - community_attribute: "extended" - sub_attribute: "link-bandwidth" - link_bandwidth_attribute: "aggregate" - speed: "600" - state: replaced - - # After State: + - name: replace provided configuration with device configuration + arista.eos.eos_bgp_global: + config: + as_number: "100" + bgp_params: + host_routes: true + convergence: + slow_peer: true + time: 6 + additional_paths: "send" + log_neighbor_changes: true + vrfs: + - vrf: "vrf01" + maximum_paths: + max_equal_cost_paths: 55 + aggregate_address: + - address: "1.2.1.0/24" + as_set: true + match_map: "match01" + - address: "5.2.1.0/24" + attribute_map: "attrmatch01" + advertise_only: true + redistribute: + - protocol: "static" + route_map: "map_static" + - protocol: "attached-host" + distance: + internal: 50 + neighbor: + - neighbor_address: "10.1.3.2" + allowas_in: + set: true + default_originate: + always: true + dont_capability_negotiate: true + export_localpref: 4000 + maximum_received_routes: + count: 500 + warning_limit: + limit_percent: 5 + next_hop_unchanged: true + prefix_list: + name: "prefix01" + direction: "out" + - neighbor_address: "peer1" + fall_over: true + link_bandwidth: + update_delay: 5 + monitoring: true + send_community: + community_attribute: "extended" + sub_attribute: "link-bandwidth" + link_bandwidth_attribute: "aggregate" + speed: "600" + state: replaced + + # Task output: + # ------------ + + # before: + # aggregate_address: + # - address: 1.2.1.0/24 + # as_set: true + # match_map: match01 + # - address: 5.2.1.0/24 + # advertise_only: true + # attribute_map: attrmatch01 + # as_number: '100' + # bgp_params: + # additional_paths: send + # convergence: + # slow_peer: true + # time: 6 + # distance: + # external: 50 + # internal: 50 + # local: 50 + # maximum_paths: + # max_equal_cost_paths: 55 + # neighbor: + # - fall_over: true + # link_bandwidth: + # set: true + # update_delay: 5 + # maximum_received_routes: + # count: 12000 + # monitoring: true + # neighbor_address: peer1 + # peer_group: peer1 + # send_community: + # community_attribute: extended + # link_bandwidth_attribute: aggregate + # speed: '600' + # sub_attribute: link-bandwidth + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # export_localpref: 4000 + # maximum_received_routes: + # count: 500 + # warning_limit: + # limit_percent: 5 + # neighbor_address: 10.1.3.2 + # next_hop_unchanged: true + # redistribute: + # - protocol: static + # route_map: map_static + # - protocol: attached-host + # vlan: 5 + # vrfs: + # - neighbor: + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # maximum_received_routes: + # count: 12000 + # neighbor_address: 12.1.3.2 + # route_target: + # action: import + # target: '54:11' + # vrf: vrf01 + # + # commands: + # - router bgp 100 + # - vrf vrf01 + # - no route-target import 54:11 + # - neighbor 10.1.3.2 allowas-in + # - neighbor 10.1.3.2 default-originate always + # - neighbor 10.1.3.2 dont-capability-negotiate + # - neighbor 10.1.3.2 export-localpref 4000 + # - neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent + # - neighbor 10.1.3.2 next-hop-unchanged + # - neighbor 10.1.3.2 prefix-list prefix01 out + # - neighbor peer1 fall-over bfd + # - neighbor peer1 link-bandwidth update-delay 5 + # - neighbor peer1 monitoring + # - neighbor peer1 send-community extended link-bandwidth aggregate 600 + # - no neighbor 12.1.3.2 + # - redistribute static route-map map_static + # - redistribute attached-host + # - aggregate-address 1.2.1.0/24 as-set match-map match01 + # - aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only + # - maximum-paths 55 + # - distance bgp 50 + # - exit + # - no neighbor peer1 peer group + # - no neighbor peer1 link-bandwidth update-delay 5 + # - no neighbor peer1 fall-over bfd + # - no neighbor peer1 monitoring + # - no neighbor peer1 send-community extended link-bandwidth aggregate 600 + # - no neighbor peer1 maximum-routes 12000 + # - no neighbor 10.1.3.2 + # - no redistribute static route-map map_static + # - no redistribute attached-host + # - no aggregate-address 1.2.1.0/24 as-set match-map match01 + # - no aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only + # - bgp host-routes fib direct-install + # - bgp log-neighbor-changes + # - no distance bgp 50 50 50 + # - no maximum-paths 55 + # - no vlan 5 + # + # after: + # as_number: '100' + # bgp_params: + # additional_paths: send + # convergence: + # slow_peer: true + # time: 6 + # vrfs: + # - aggregate_address: + # - address: 1.2.1.0/24 + # as_set: true + # match_map: match01 + # - address: 5.2.1.0/24 + # advertise_only: true + # attribute_map: attrmatch01 + # distance: + # external: 50 + # internal: 50 + # local: 50 + # maximum_paths: + # max_equal_cost_paths: 55 + # neighbor: + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # export_localpref: 4000 + # maximum_received_routes: + # count: 500 + # warning_limit: + # limit_percent: 5 + # neighbor_address: 10.1.3.2 + # next_hop_unchanged: true + # redistribute: + # - protocol: static + # route_map: map_static + # - protocol: attached-host + # vrf: vrf01 + # + # After state: + # ------------ # veos(config)#show running-config | section bgp # router bgp 100 # bgp convergence slow-peer time 6 @@ -7954,225 +8079,255 @@ Examples # ! # address-family ipv4 # neighbor 10.1.3.2 prefix-list prefix01 out - # veos(config)# - # + + # Using overridden: + # (Note: Overridden and replaced operations are identitical) + + # Before state: + # ------------- + # veos(config)#show running-config | section bgp + # router bgp 100 + # bgp convergence slow-peer time 6 + # distance bgp 50 50 50 + # maximum-paths 55 + # bgp additional-paths send any + # neighbor peer1 peer group + # neighbor peer1 link-bandwidth update-delay 5 + # neighbor peer1 fall-over bfd + # neighbor peer1 monitoring + # neighbor peer1 send-community extended link-bandwidth aggregate 600 + # neighbor peer1 maximum-routes 12000 + # neighbor 10.1.3.2 export-localpref 4000 + # neighbor 10.1.3.2 next-hop-unchanged + # neighbor 10.1.3.2 dont-capability-negotiate + # neighbor 10.1.3.2 allowas-in 3 + # neighbor 10.1.3.2 default-originate always + # neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent + # aggregate-address 1.2.1.0/24 as-set match-map match01 + # aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only + # redistribute static route-map map_static + # redistribute attached-host + # ! + # vlan 5 + # ! + # address-family ipv4 + # neighbor 10.1.3.2 prefix-list prefix01 out + # ! + # vrf vrf01 + # route-target import 54:11 + # neighbor 12.1.3.2 dont-capability-negotiate + # neighbor 12.1.3.2 allowas-in 3 + # neighbor 12.1.3.2 default-originate always + # neighbor 12.1.3.2 maximum-routes 12000 + + - name: override running configuration with configuration + arista.eos.eos_bgp_global: + config: + as_number: "100" + bgp_params: + host_routes: true + convergence: + slow_peer: true + time: 6 + additional_paths: "send" + log_neighbor_changes: true + vrfs: + - vrf: "vrf01" + maximum_paths: + max_equal_cost_paths: 55 + aggregate_address: + - address: "1.2.1.0/24" + as_set: true + match_map: "match01" + - address: "5.2.1.0/24" + attribute_map: "attrmatch01" + advertise_only: true + redistribute: + - protocol: "static" + route_map: "map_static" + - protocol: "attached-host" + distance: + internal: 50 + neighbor: + - neighbor_address: "10.1.3.2" + allowas_in: + set: true + default_originate: + always: true + dont_capability_negotiate: true + export_localpref: 4000 + maximum_received_routes: + count: 500 + warning_limit: + limit_percent: 5 + next_hop_unchanged: true + prefix_list: + name: "prefix01" + direction: "out" + - neighbor_address: "peer1" + fall_over: true + link_bandwidth: + update_delay: 5 + monitoring: true + send_community: + community_attribute: "extended" + sub_attribute: "link-bandwidth" + link_bandwidth_attribute: "aggregate" + speed: "600" + state: overridden + + # Task output: + # ------------ + # before: + # aggregate_address: + # - address: 1.2.1.0/24 + # as_set: true + # match_map: match01 + # - address: 5.2.1.0/24 + # advertise_only: true + # attribute_map: attrmatch01 + # as_number: '100' + # bgp_params: + # additional_paths: send + # convergence: + # slow_peer: true + # time: 6 + # distance: + # external: 50 + # internal: 50 + # local: 50 + # maximum_paths: + # max_equal_cost_paths: 55 + # neighbor: + # - fall_over: true + # link_bandwidth: + # set: true + # update_delay: 5 + # maximum_received_routes: + # count: 12000 + # monitoring: true + # neighbor_address: peer1 + # peer_group: peer1 + # send_community: + # community_attribute: extended + # link_bandwidth_attribute: aggregate + # speed: '600' + # sub_attribute: link-bandwidth + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # export_localpref: 4000 + # maximum_received_routes: + # count: 500 + # warning_limit: + # limit_percent: 5 + # neighbor_address: 10.1.3.2 + # next_hop_unchanged: true + # redistribute: + # - protocol: static + # route_map: map_static + # - protocol: attached-host + # vlan: 5 + # vrfs: + # - neighbor: + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # maximum_received_routes: + # count: 12000 + # neighbor_address: 12.1.3.2 + # route_target: + # action: import + # target: '54:11' + # vrf: vrf01 # - # Module Execution: + # commands: + # - router bgp 100 + # - vrf vrf01 + # - no route-target import 54:11 + # - neighbor 10.1.3.2 allowas-in + # - neighbor 10.1.3.2 default-originate always + # - neighbor 10.1.3.2 dont-capability-negotiate + # - neighbor 10.1.3.2 export-localpref 4000 + # - neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent + # - neighbor 10.1.3.2 next-hop-unchanged + # - neighbor 10.1.3.2 prefix-list prefix01 out + # - neighbor peer1 fall-over bfd + # - neighbor peer1 link-bandwidth update-delay 5 + # - neighbor peer1 monitoring + # - neighbor peer1 send-community extended link-bandwidth aggregate 600 + # - no neighbor 12.1.3.2 + # - redistribute static route-map map_static + # - redistribute attached-host + # - aggregate-address 1.2.1.0/24 as-set match-map match01 + # - aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only + # - maximum-paths 55 + # - distance bgp 50 + # - exit + # - no neighbor peer1 peer group + # - no neighbor peer1 link-bandwidth update-delay 5 + # - no neighbor peer1 fall-over bfd + # - no neighbor peer1 monitoring + # - no neighbor peer1 send-community extended link-bandwidth aggregate 600 + # - no neighbor peer1 maximum-routes 12000 + # - no neighbor 10.1.3.2 + # - no redistribute static route-map map_static + # - no redistribute attached-host + # - no aggregate-address 1.2.1.0/24 as-set match-map match01 + # - no aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only + # - bgp host-routes fib direct-install + # - bgp log-neighbor-changes + # - no distance bgp 50 50 50 + # - no maximum-paths 55 + # - no vlan 5 # - # "after": { - # "as_number": "100", - # "bgp_params": { - # "additional_paths": "send", - # "convergence": { - # "slow_peer": true, - # "time": 6 - # } - # }, - # "vrfs": [ - # { - # "aggregate_address": [ - # { - # "address": "1.2.1.0/24", - # "as_set": true, - # "match_map": "match01" - # }, - # { - # "address": "5.2.1.0/24", - # "advertise_only": true, - # "attribute_map": "attrmatch01" - # } - # ], - # "distance": { - # "external": 50, - # "internal": 50, - # "local": 50 - # }, - # "maximum_paths": { - # "max_equal_cost_paths": 55 - # }, - # "neighbor": [ - # { - # "allowas_in": { - # "count": 3 - # }, - # "default_originate": { - # "always": true - # }, - # "dont_capability_negotiate": true, - # "export_localpref": 4000, - # "maximum_received_routes": { - # "count": 500, - # "warning_limit": { - # "limit_percent": 5 - # } - # }, - # "next_hop_unchanged": true, - # "peer": "10.1.3.2" - # } - # ], - # "redistribute": [ - # { - # "protocol": "static", - # "route_map": "map_static" - # }, - # { - # "protocol": "attached-host" - # } - # ], - # "vrf": "vrf01" - # } - # ] - # }, - # "before": { - # "aggregate_address": [ - # { - # "address": "1.2.1.0/24", - # "as_set": true, - # "match_map": "match01" - # }, - # { - # "address": "5.2.1.0/24", - # "advertise_only": true, - # "attribute_map": "attrmatch01" - # } - # ], - # "as_number": "100", - # "bgp_params": { - # "additional_paths": "send", - # "convergence": { - # "slow_peer": true, - # "time": 6 - # } - # }, - # "distance": { - # "external": 50, - # "internal": 50, - # "local": 50 - # }, - # "maximum_paths": { - # "max_equal_cost_paths": 55 - # }, - # "neighbor": [ - # { - # "fall_over": true, - # "link_bandwidth": { - # "set": true, - # "update_delay": 5 - # }, - # "maximum_received_routes": { - # "count": 12000 - # }, - # "monitoring": true, - # "peer": "peer1", - # "peer_group": "peer1", - # "send_community": { - # "community_attribute": "extended", - # "link_bandwidth_attribute": "aggregate", - # "speed": "600", - # "sub_attribute": "link-bandwidth" - # } - # }, - # { - # "allowas_in": { - # "count": 3 - # }, - # "default_originate": { - # "always": true - # }, - # "dont_capability_negotiate": true, - # "export_localpref": 4000, - # "maximum_received_routes": { - # "count": 500, - # "warning_limit": { - # "limit_percent": 5 - # } - # }, - # "next_hop_unchanged": true, - # "peer": "10.1.3.2" - # } - # ], - # "redistribute": [ - # { - # "protocol": "static", - # "route_map": "map_static" - # }, - # { - # "protocol": "attached-host" - # } - # ], - # "vlan": 5, - # "vrfs": [ - # { - # "neighbor": [ - # { - # "allowas_in": { - # "count": 3 - # }, - # "default_originate": { - # "always": true - # }, - # "dont_capability_negotiate": true, - # "maximum_received_routes": { - # "count": 12000 - # }, - # "peer": "12.1.3.2" - # } - # ], - # "route_target": { - # "action": "import", - # "target": "54:11" - # }, - # "vrf": "vrf01" - # } - # ] - # }, - # "changed": true, - # "commands": [ - # "router bgp 100", - # "vrf vrf01", - # "no route-target import 54:11", - # "neighbor 10.1.3.2 allowas-in", - # "neighbor 10.1.3.2 default-originate always", - # "neighbor 10.1.3.2 dont-capability-negotiate", - # "neighbor 10.1.3.2 export-localpref 4000", - # "neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent", - # "neighbor 10.1.3.2 next-hop-unchanged", - # "neighbor 10.1.3.2 prefix-list prefix01 out", - # "neighbor peer1 fall-over bfd", - # "neighbor peer1 link-bandwidth update-delay 5", - # "neighbor peer1 monitoring", - # "neighbor peer1 send-community extended link-bandwidth aggregate 600", - # "no neighbor 12.1.3.2", - # "redistribute static route-map map_static", - # "redistribute attached-host", - # "aggregate-address 1.2.1.0/24 as-set match-map match01", - # "aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only", - # "maximum-paths 55", - # "distance bgp 50", - # "exit", - # "no neighbor peer1 peer group", - # "no neighbor peer1 link-bandwidth update-delay 5", - # "no neighbor peer1 fall-over bfd", - # "no neighbor peer1 monitoring", - # "no neighbor peer1 send-community extended link-bandwidth aggregate 600", - # "no neighbor peer1 maximum-routes 12000", - # "no neighbor 10.1.3.2", - # "no redistribute static route-map map_static", - # "no redistribute attached-host", - # "no aggregate-address 1.2.1.0/24 as-set match-map match01", - # "no aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only", - # "bgp host-routes fib direct-install", - # "bgp log-neighbor-changes", - # "no distance bgp 50 50 50", - # "no maximum-paths 55", - # "no vlan 5" - # ], + # after: + # as_number: '100' + # bgp_params: + # additional_paths: send + # convergence: + # slow_peer: true + # time: 6 + # vrfs: + # - aggregate_address: + # - address: 1.2.1.0/24 + # as_set: true + # match_map: match01 + # - address: 5.2.1.0/24 + # advertise_only: true + # attribute_map: attrmatch01 + # distance: + # external: 50 + # internal: 50 + # local: 50 + # maximum_paths: + # max_equal_cost_paths: 55 + # neighbor: + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # export_localpref: 4000 + # maximum_received_routes: + # count: 500 + # warning_limit: + # limit_percent: 5 + # neighbor_address: 10.1.3.2 + # next_hop_unchanged: true + # redistribute: + # - protocol: static + # route_map: map_static + # - protocol: attached-host + # vrf: vrf01 # - - # Using replaced (in presence of address_family under vrf): - # Before State: - - #veos(config)#show running-config | section bgp + # After state: + # ------------ + # veos(config)#show running-config | section bgp # router bgp 100 # bgp convergence slow-peer time 6 # bgp additional-paths send any @@ -8193,82 +8348,11 @@ Examples # ! # address-family ipv4 # neighbor 10.1.3.2 prefix-list prefix01 out - # ! - # address-family ipv6 - # redistribute dhcp - # veos(config)# - - - name: Replace - arista.eos.eos_bgp_global: - config: - as_number: "100" - graceful_restart: - set: True - router_id: "1.1.1.1" - timers: - keepalive: 2 - holdtime: 5 - ucmp: - mode: - set: True - vlan_aware_bundle: "bundle1 bundle2 bundle3" - state: replaced - - # Module Execution: - - # fatal: [192.168.122.113]: FAILED! => { - # "changed": false, - # "invocation": { - # "module_args": { - # "config": { - # "access_group": null, - # "aggregate_address": null, - # "as_number": "100", - # "bgp_params": null, - # "default_metric": null, - # "distance": null, - # "graceful_restart": { - # "restart_time": null, - # "set": true, - # "stalepath_time": null - # }, - # "graceful_restart_helper": null, - # "maximum_paths": null, - # "monitoring": null, - # "neighbor": null, - # "network": null, - # "redistribute": null, - # "route_target": null, - # "router_id": "1.1.1.1", - # "shutdown": null, - # "timers": { - # "holdtime": 5, - # "keepalive": 2 - # }, - # "ucmp": { - # "fec": null, - # "link_bandwidth": null, - # "mode": { - # "nexthops": null, - # "set": true - # } - # }, - # "update": null, - # "vlan": null, - # "vlan_aware_bundle": "bundle1 bundle2 bundle3", - # "vrfs": null - # }, - # "running_config": null, - # "state": "replaced" - # } - # }, - # "msg": "Use the _bgp_af module to delete the address_family under vrf, before replacing/deleting the vrf." - # } # Using deleted: # Before state: - + # ------------- # veos(config)#show running-config | section bgp # router bgp 100 # bgp convergence slow-peer time 6 @@ -8289,100 +8373,73 @@ Examples # redistribute attached-host # ! - - name: Delete configuration - arista.eos.eos_bgp_global: - config: - as_number: "100" - state: deleted - - # After State: - - # veos(config)#show running-config | section bgp - # router bgp 100 - # + - name: Delete configuration + arista.eos.eos_bgp_global: + config: + as_number: "100" + state: deleted + + # Task output: + # ------------ + # before: + # as_number: '100' + # bgp_params: + # additional_paths: send + # convergence: + # slow_peer: true + # time: 6 + # vrfs: + # - aggregate_address: + # - address: 1.2.1.0/24 + # as_set: true + # match_map: match01 + # - address: 5.2.1.0/24 + # advertise_only: true + # attribute_map: attrmatch01 + # distance: + # external: 50 + # internal: 50 + # local: 50 + # maximum_paths: + # max_equal_cost_paths: 55 + # neighbor: + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # export_localpref: 4000 + # maximum_received_routes: + # count: 500 + # warning_limit: + # limit_percent: 5 + # neighbor_address: 10.1.3.2 + # next_hop_unchanged: true + # redistribute: + # - protocol: static + # route_map: map_static + # - protocol: attached-host + # vrf: vrf01 # - # Module Execution: + # commands: + # - router bgp 100 + # - no vrf vrf01 + # - no bgp convergence slow-peer time 6 + # - no bgp additional-paths send any # - # "after": { - # "as_number": "100" - # }, - # "before": { - # "as_number": "100", - # "bgp_params": { - # "additional_paths": "send", - # "convergence": { - # "slow_peer": true, - # "time": 6 - # } - # }, - # "vrfs": [ - # { - # "aggregate_address": [ - # { - # "address": "1.2.1.0/24", - # "as_set": true, - # "match_map": "match01" - # }, - # { - # "address": "5.2.1.0/24", - # "advertise_only": true, - # "attribute_map": "attrmatch01" - # } - # ], - # "distance": { - # "external": 50, - # "internal": 50, - # "local": 50 - # }, - # "maximum_paths": { - # "max_equal_cost_paths": 55 - # }, - # "neighbor": [ - # { - # "allowas_in": { - # "count": 3 - # }, - # "default_originate": { - # "always": true - # }, - # "dont_capability_negotiate": true, - # "export_localpref": 4000, - # "maximum_received_routes": { - # "count": 500, - # "warning_limit": { - # "limit_percent": 5 - # } - # }, - # "next_hop_unchanged": true, - # "peer": "10.1.3.2" - # } - # ], - # "redistribute": [ - # { - # "protocol": "static", - # "route_map": "map_static" - # }, - # { - # "protocol": "attached-host" - # } - # ], - # "vrf": "vrf01" - # } - # ] - # }, - # "changed": true, - # "commands": [ - # "router bgp 100", - # "no vrf vrf01", - # "no bgp convergence slow-peer time 6", - # "no bgp additional-paths send any" - # ], + # after: + # as_number: '100' + # + # After state: + # ------------ + # veos(config)#show running-config | section bgp + # router bgp 100 # Using purged: # Before state: - + # ------------- # veos(config)#show running-config | section bgp # router bgp 100 # bgp convergence slow-peer time 6 @@ -8417,131 +8474,523 @@ Examples # neighbor 12.1.3.2 allowas-in 3 # neighbor 12.1.3.2 default-originate always # neighbor 12.1.3.2 maximum-routes 12000 - # veos(config)# - - - name: Purge configuration - arista.eos.eos_bgp_global: - config: - as_number: "100" - state: purged - # After State: + - name: Purge configuration + arista.eos.eos_bgp_global: + config: + as_number: "100" + state: purged + + + # Task output: + # ------------ + # before: + # aggregate_address: + # - address: 1.2.1.0/24 + # as_set: true + # match_map: match01 + # - address: 5.2.1.0/24 + # advertise_only: true + # attribute_map: attrmatch01 + # as_number: '100' + # bgp_params: + # additional_paths: send + # convergence: + # slow_peer: true + # time: 6 + # distance: + # external: 50 + # internal: 50 + # local: 50 + # maximum_paths: + # max_equal_cost_paths: 55 + # neighbor: + # - fall_over: true + # link_bandwidth: + # set: true + # update_delay: 5 + # maximum_received_routes: + # count: 12000 + # monitoring: true + # neighbor_address: peer1 + # peer_group: peer1 + # send_community: + # community_attribute: extended + # link_bandwidth_attribute: aggregate + # speed: '600' + # sub_attribute: link-bandwidth + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # export_localpref: 4000 + # maximum_received_routes: + # count: 500 + # warning_limit: + # limit_percent: 5 + # neighbor_address: 10.1.3.2 + # next_hop_unchanged: true + # redistribute: + # - protocol: static + # route_map: map_static + # - protocol: attached-host + # vlan: 5 + # vrfs: + # - neighbor: + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # maximum_received_routes: + # count: 12000 + # neighbor_address: 12.1.3.2 + # route_target: + # action: import + # target: '54:11' + # vrf: vrf01 + # "changed": true, + # + # commands: + # - no router bgp 100 + # + # after: {} + # After state: + # ------------ # veos(config)#show running-config | section bgp # veos(config)# - # Module Execution: - - # "after": {}, - # "before": { - # "aggregate_address": [ - # { - # "address": "1.2.1.0/24", - # "as_set": true, - # "match_map": "match01" - # }, - # { - # "address": "5.2.1.0/24", - # "advertise_only": true, - # "attribute_map": "attrmatch01" - # } - # ], - # "as_number": "100", - # "bgp_params": { - # "additional_paths": "send", - # "convergence": { - # "slow_peer": true, - # "time": 6 - # } - # }, - # "distance": { - # "external": 50, - # "internal": 50, - # "local": 50 - # }, - # "maximum_paths": { - # "max_equal_cost_paths": 55 - # }, - # "neighbor": [ - # { - # "fall_over": true, - # "link_bandwidth": { - # "set": true, - # "update_delay": 5 - # }, - # "maximum_received_routes": { - # "count": 12000 - # }, - # "monitoring": true, - # "peer": "peer1", - # "peer_group": "peer1", - # "send_community": { - # "community_attribute": "extended", - # "link_bandwidth_attribute": "aggregate", - # "speed": "600", - # "sub_attribute": "link-bandwidth" - # } - # }, - # { - # "allowas_in": { - # "count": 3 - # }, - # "default_originate": { - # "always": true - # }, - # "dont_capability_negotiate": true, - # "export_localpref": 4000, - # "maximum_received_routes": { - # "count": 500, - # "warning_limit": { - # "limit_percent": 5 - # } - # }, - # "next_hop_unchanged": true, - # "peer": "10.1.3.2" - # } - # ], - # "redistribute": [ - # { - # "protocol": "static", - # "route_map": "map_static" - # }, - # { - # "protocol": "attached-host" - # } - # ], - # "vlan": 5, - # "vrfs": [ - # { - # "neighbor": [ - # { - # "allowas_in": { - # "count": 3 - # }, - # "default_originate": { - # "always": true - # }, - # "dont_capability_negotiate": true, - # "maximum_received_routes": { - # "count": 12000 - # }, - # "peer": "12.1.3.2" - # } - # ], - # "route_target": { - # "action": "import", - # "target": "54:11" - # }, - # "vrf": "vrf01" - # } - # ] - # }, - # "changed": true, - # "commands": [ - # "no router bgp 100" - # ], + # Using rendered + + - name: Render command lines for provided configuration + arista.eos.eos_bgp_global: + config: + as_number: "100" + bgp_params: + host_routes: true + convergence: + slow_peer: true + time: 6 + additional_paths: "send" + log_neighbor_changes: true + maximum_paths: + max_equal_cost_paths: 55 + aggregate_address: + - address: "1.2.1.0/24" + as_set: true + match_map: "match01" + - address: "5.2.1.0/24" + attribute_map: "attrmatch01" + advertise_only: true + redistribute: + - protocol: "static" + route_map: "map_static" + - protocol: "attached-host" + distance: + internal: 50 + neighbor: + - peer: "10.1.3.2" + allowas_in: + set: true + default_originate: + always: true + dont_capability_negotiate: true + export_localpref: 4000 + maximum_received_routes: + count: 500 + warning_limit: + limit_percent: 5 + next_hop_unchanged: true + prefix_list: + name: "prefix01" + direction: "out" + - neighbor_address: "peer1" + fall_over: true + link_bandwidth: + update_delay: 5 + monitoring: true + send_community: + community_attribute: "extended" + sub_attribute: "link-bandwidth" + link_bandwidth_attribute: "aggregate" + speed: "600" + vlan: 5 + state: rendered + + # Task output: + # ------------ + # rendered: + # - router bgp 100 + # - neighbor 10.1.3.2 allowas-in + # - neighbor 10.1.3.2 default-originate always + # - neighbor 10.1.3.2 dont-capability-negotiate + # - neighbor 10.1.3.2 export-localpref 4000 + # - neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent + # - neighbor 10.1.3.2 next-hop-unchanged + # - neighbor 10.1.3.2 prefix-list prefix01 out + # - neighbor peer1 fall-over bfd + # - neighbor peer1 link-bandwidth update-delay 5 + # - neighbor peer1 monitoring + # - neighbor peer1 send-community extended link-bandwidth aggregate 600 + # - redistribute static route-map map_static + # - redistribute attached-host + # - aggregate-address 1.2.1.0/24 as-set match-map match01 + # - aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only + # - bgp host-routes fib direct-install + # - bgp convergence slow-peer time 6 + # - bgp additional-paths send any + # - bgp log-neighbor-changes + # - maximum-paths 55 + # - distance bgp 50 + # - vlan 5 + + + # Using parsed + + # parsed.cfg + # ---------- + # router bgp 100 + # bgp convergence slow-peer time 6 + # distance bgp 50 50 50 + # maximum-paths 55 + # bgp additional-paths send any + # neighbor peer1 peer group + # neighbor peer1 link-bandwidth update-delay 5 + # neighbor peer1 fall-over bfd + # neighbor peer1 monitoring + # neighbor peer1 send-community extended link-bandwidth aggregate 600 + # neighbor peer1 maximum-routes 12000 + # neighbor 10.1.3.2 export-localpref 4000 + # neighbor 10.1.3.2 next-hop-unchanged + # neighbor 10.1.3.2 dont-capability-negotiate + # neighbor 10.1.3.2 allowas-in 3 + # neighbor 10.1.3.2 default-originate always + # neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent + # aggregate-address 1.2.1.0/24 as-set match-map match01 + # aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only + # redistribute static route-map map_static + # redistribute attached-host + # ! + # vlan 5 + # ! + # address-family ipv4 + # neighbor 10.1.3.2 prefix-list prefix01 out + # ! + # vrf vrf01 + # route-target import 54:11 + # neighbor 12.1.3.2 dont-capability-negotiate + # neighbor 12.1.3.2 allowas-in 3 + # neighbor 12.1.3.2 default-originate always + # neighbor 12.1.3.2 maximum-routes 12000 + - name: Parse externally provided BGP config + arista.eos.eos_bgp_global: + running_config: "{{ lookup('file', 'parsed.cfg') }}" + state: parsed + + # Task output: + # ------------ + + # parsed: + # aggregate_address: + # - address: 1.2.1.0/24 + # as_set: true + # match_map: match01 + # - address: 5.2.1.0/24 + # advertise_only: true + # attribute_map: attrmatch01 + # as_number: '100' + # bgp_params: + # additional_paths: send + # convergence: + # slow_peer: true + # time: 6 + # distance: + # external: 50 + # internal: 50 + # local: 50 + # maximum_paths: + # max_equal_cost_paths: 55 + # neighbor: + # - fall_over: true + # link_bandwidth: + # set: true + # update_delay: 5 + # maximum_received_routes: + # count: 12000 + # monitoring: true + # neighbor_address: peer1 + # peer_group: peer1 + # send_community: + # community_attribute: extended + # link_bandwidth_attribute: aggregate + # speed: '600' + # sub_attribute: link-bandwidth + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # export_localpref: 4000 + # maximum_received_routes: + # count: 500 + # warning_limit: + # limit_percent: 5 + # neighbor_address: 10.1.3.2 + # next_hop_unchanged: true + # redistribute: + # - protocol: static + # route_map: map_static + # - protocol: attached-host + # vlan: 5 + # vrfs: + # - neighbor: + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # maximum_received_routes: + # count: 12000 + # neighbor_address: 12.1.3.2 + # route_target: + # action: import + # target: '54:11' + # vrf: vrf01 + + # Using gathered + + # existing config + # veos(config)#show running-config | section bgp + # router bgp 100 + # bgp convergence slow-peer time 6 + # distance bgp 50 50 50 + # maximum-paths 55 + # bgp additional-paths send any + # neighbor peer1 peer group + # neighbor peer1 link-bandwidth update-delay 5 + # neighbor peer1 fall-over bfd + # neighbor peer1 monitoring + # neighbor peer1 send-community extended link-bandwidth aggregate 600 + # neighbor peer1 maximum-routes 12000 + # neighbor 10.1.3.2 export-localpref 4000 + # neighbor 10.1.3.2 next-hop-unchanged + # neighbor 10.1.3.2 dont-capability-negotiate + # neighbor 10.1.3.2 allowas-in 3 + # neighbor 10.1.3.2 default-originate always + # neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent + # aggregate-address 1.2.1.0/24 as-set match-map match01 + # aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only + # redistribute static route-map map_static + # redistribute attached-host + # ! + # vlan 5 + # ! + # address-family ipv4 + # neighbor 10.1.3.2 prefix-list prefix01 out + # ! + # vrf vrf01 + # route-target import 54:11 + # neighbor 12.1.3.2 dont-capability-negotiate + # neighbor 12.1.3.2 allowas-in 3 + # neighbor 12.1.3.2 default-originate always + # neighbor 12.1.3.2 maximum-routes 12000 + + - name: Gather BGP facts using gathered + arista.eos.eos_bgp_global: + state: gathered + + # Task output: + # ------------ + # gathered: + # aggregate_address: + # - address: 1.2.1.0/24 + # as_set: true + # match_map: match01 + # - address: 5.2.1.0/24 + # advertise_only: true + # attribute_map: attrmatch01 + # as_number: '100' + # bgp_params: + # additional_paths: send + # convergence: + # slow_peer: true + # time: 6 + # distance: + # external: 50 + # internal: 50 + # local: 50 + # maximum_paths: + # max_equal_cost_paths: 55 + # neighbor: + # - fall_over: true + # link_bandwidth: + # set: true + # update_delay: 5 + # maximum_received_routes: + # count: 12000 + # monitoring: true + # neighbor_address: peer1 + # peer_group: peer1 + # send_community: + # community_attribute: extended + # link_bandwidth_attribute: aggregate + # speed: '600' + # sub_attribute: link-bandwidth + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # export_localpref: 4000 + # maximum_received_routes: + # count: 500 + # warning_limit: + # limit_percent: 5 + # neighbor_address: 10.1.3.2 + # next_hop_unchanged: true + # redistribute: + # - protocol: static + # route_map: map_static + # - protocol: attached-host + # vlan: 5 + # vrfs: + # - neighbor: + # - allowas_in: + # count: 3 + # default_originate: + # always: true + # dont_capability_negotiate: true + # maximum_received_routes: + # count: 12000 + # neighbor_address: 12.1.3.2 + # route_target: + # action: import + # target: '54:11' + # vrf: vrf01 + + + +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 model invocation.</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> + </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>always</td> + <td> + <div>The configuration prior to the model invocation.</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> + </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>always</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 100', 'neighbor 10.1.3.2 allowas-in', 'neighbor 10.1.3.2 default-originate always', 'neighbor 10.1.3.2 dont-capability-negotiate']</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 100', 'neighbor 10.1.3.2 allowas-in', 'neighbor 10.1.3.2 default-originate always', 'neighbor 10.1.3.2 dont-capability-negotiate']</div> + </td> + </tr> + </table> + <br/><br/> Status diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_bgp_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_bgp_module.rst index 76ff60dbb..21f57f30b 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_bgp_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_bgp_module.rst @@ -869,67 +869,67 @@ Examples router_id: 192.0.2.1 log_neighbor_changes: true neighbors: - - neighbor: 203.0.113.5 - remote_as: 64511 - timers: - keepalive: 300 - holdtime: 360 - - neighbor: 198.51.100.2 - remote_as: 64498 + - neighbor: 203.0.113.5 + remote_as: 64511 + timers: + keepalive: 300 + holdtime: 360 + - neighbor: 198.51.100.2 + remote_as: 64498 networks: - - prefix: 198.51.100.0 - route_map: RMAP_1 - - prefix: 192.0.2.0 - masklen: 23 - address_family: - - afi: ipv4 - safi: unicast - redistribute: - - protocol: isis + - prefix: 198.51.100.0 route_map: RMAP_1 + - prefix: 192.0.2.0 + masklen: 23 + address_family: + - afi: ipv4 + safi: unicast + redistribute: + - protocol: isis + route_map: RMAP_1 operation: merge - name: Configure BGP neighbors arista.eos.eos_bgp: config: bgp_as: 64496 neighbors: - - neighbor: 192.0.2.10 - remote_as: 64496 - description: IBGP_NBR_1 - ebgp_multihop: 100 - timers: - keepalive: 300 - holdtime: 360 - - neighbor: 192.0.2.15 - remote_as: 64496 - description: IBGP_NBR_2 - ebgp_multihop: 150 + - neighbor: 192.0.2.10 + remote_as: 64496 + description: IBGP_NBR_1 + ebgp_multihop: 100 + timers: + keepalive: 300 + holdtime: 360 + - neighbor: 192.0.2.15 + remote_as: 64496 + description: IBGP_NBR_2 + ebgp_multihop: 150 operation: merge - name: Configure root-level networks for BGP arista.eos.eos_bgp: config: bgp_as: 64496 networks: - - prefix: 203.0.113.0 - masklen: 27 - route_map: RMAP_1 - - prefix: 203.0.113.32 - masklen: 27 - route_map: RMAP_2 + - prefix: 203.0.113.0 + masklen: 27 + route_map: RMAP_1 + - prefix: 203.0.113.32 + masklen: 27 + route_map: RMAP_2 operation: merge - name: Configure BGP neighbors under address family mode arista.eos.eos_bgp: config: bgp_as: 64496 address_family: - - afi: ipv4 - neighbors: - - neighbor: 203.0.113.10 - activate: yes - default_originate: true - - neighbor: 192.0.2.15 - activate: yes - graceful_restart: true + - afi: ipv4 + neighbors: + - neighbor: 203.0.113.10 + activate: true + default_originate: true + - neighbor: 192.0.2.15 + activate: true + graceful_restart: true operation: merge - name: remove bgp as 64496 from config arista.eos.eos_bgp: diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_command_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_command_module.rst index c9640062c..8049a976f 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_command_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_command_module.rst @@ -300,23 +300,23 @@ Examples - name: run multiple commands on remote nodes arista.eos.eos_command: commands: - - show version - - show interfaces + - show version + - show interfaces - name: run multiple commands and evaluate the output arista.eos.eos_command: commands: - - show version - - show interfaces + - show version + - show interfaces wait_for: - - result[0] contains Arista - - result[1] contains Loopback0 + - result[0] contains Arista + - result[1] contains Loopback0 - name: run commands and specify the output format arista.eos.eos_command: commands: - - command: show version - output: json + - command: show version + output: json - name: check whether the switch is in maintenance mode arista.eos.eos_command: @@ -326,8 +326,8 @@ Examples - name: check whether the switch is in maintenance mode using json output arista.eos.eos_command: commands: - - command: show maintenance - output: json + - command: show maintenance + output: json wait_for: result[0].units.System.state eq 'underMaintenance' - name: check whether the switch is in maintenance, with 8 retries @@ -343,10 +343,10 @@ Examples need to be escaped. arista.eos.eos_command: commands: - - command: reload power - prompt: \[confirm\] - answer: y - newline: false + - command: reload power + prompt: \[confirm\] + answer: y + newline: false diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_config_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_config_module.rst index a0711557a..100a809fe 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_config_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_config_module.rst @@ -80,7 +80,7 @@ Parameters <td> </td> <td> - <div>This is a dict object containing configurable options related to backup file path. The value of this option is read only when <code>backup</code> is set to <em>yes</em>, if <code>backup</code> is set to <em>no</em> this option will be silently ignored.</div> + <div>This is a dict object containing configurable options related to backup file path. The value of this option is read only when <code>backup</code> is set to <em>true</em>, if <code>backup</code> is set to <em>no</em> this option will be silently ignored.</div> </td> </tr> <tr> @@ -361,10 +361,10 @@ Examples - name: load an acl into the device arista.eos.eos_config: lines: - - 10 permit ip host 192.0.2.1 any log - - 20 permit ip host 192.0.2.2 any log - - 30 permit ip host 192.0.2.3 any log - - 40 permit ip host 192.0.2.4 any log + - 10 permit ip host 192.0.2.1 any log + - 20 permit ip host 192.0.2.2 any log + - 30 permit ip host 192.0.2.3 any log + - 40 permit ip host 192.0.2.4 any log parents: ip access-list test before: no ip access-list test replace: block @@ -375,7 +375,7 @@ Examples - name: render a Jinja2 template onto an Arista switch arista.eos.eos_config: - backup: yes + backup: true src: eos_template.j2 - name: diff the running config against a master config @@ -386,15 +386,13 @@ Examples - name: for idempotency, use full-form commands arista.eos.eos_config: lines: - # - shut - - shutdown - # parents: int eth1 + - shutdown parents: interface Ethernet1 - name: configurable backup path arista.eos.eos_config: src: eos_template.j2 - backup: yes + backup: true backup_options: filename: backup.cfg dir_path: /home/user @@ -422,7 +420,7 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <span style="color: purple">string</span> </div> </td> - <td>when backup is yes</td> + <td>when backup is true</td> <td> <div>The full path to the backup file</div> <br/> @@ -456,7 +454,7 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <span style="color: purple">string</span> </div> </td> - <td>when backup is yes</td> + <td>when backup is true</td> <td> <div>The date extracted from the backup file name</div> <br/> @@ -473,7 +471,7 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <span style="color: purple">string</span> </div> </td> - <td>when backup is yes and filename is not specified in backup options</td> + <td>when backup is true and filename is not specified in backup options</td> <td> <div>The name of the backup file</div> <br/> @@ -490,7 +488,7 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <span style="color: purple">string</span> </div> </td> - <td>when backup is yes and filename is not specified in backup options</td> + <td>when backup is true and filename is not specified in backup options</td> <td> <div>The full path to the backup file excluding the timestamp</div> <br/> @@ -507,7 +505,7 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <span style="color: purple">string</span> </div> </td> - <td>when backup is yes</td> + <td>when backup is true</td> <td> <div>The time extracted from the backup file name</div> <br/> diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_eapi_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_eapi_module.rst index 5d6b54b3d..24d238d06 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_eapi_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_eapi_module.rst @@ -254,9 +254,9 @@ Examples state: started http: false https_port: 9443 - local_http: yes + local_http: true local_http_port: 80 - socket: yes + socket: true - name: Shutdown eAPI access arista.eos.eos_eapi: diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_facts_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_facts_module.rst index ad9a7fa34..dbe6d5af7 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_facts_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_facts_module.rst @@ -103,12 +103,12 @@ Examples - name: Gather only the config and default facts arista.eos.eos_facts: gather_subset: - - config + - config - name: Do not gather hardware facts arista.eos.eos_facts: gather_subset: - - '!hardware' + - '!hardware' - name: Gather legacy and resource facts arista.eos.eos_facts: @@ -118,10 +118,10 @@ Examples - name: Gather only the interfaces resource facts and no legacy facts - arista.eos.eos_facts: gather_subset: - - '!all' - - '!min' + - '!all' + - '!min' gather_network_resources: - - interfaces + - interfaces - name: Gather all resource facts and minimal legacy facts arista.eos.eos_facts: diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_hostname_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_hostname_module.rst index 382a59f6d..d7080f945 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_hostname_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_hostname_module.rst @@ -219,7 +219,7 @@ Examples # Using state: gathered # Before state: # ------------- - #test#show running-config | section ^hostname + # test#show running-config | section ^hostname # hostname eosTest # Gathered play: # -------------- diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_interfaces_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_interfaces_module.rst index cebb499c4..64ced4d9b 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_interfaces_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_interfaces_module.rst @@ -224,7 +224,7 @@ Notes .. note:: - Tested against Arista EOS 4.24.6F - - This module works with connection ``network_cli``. See the `EOS Platform Options <../network/user_guide/platform_eos.html>`_. + - This module works with connection ``network_cli``. See https://docs.ansible.com/ansible/latest/network/user_guide/platform_eos.html @@ -238,191 +238,283 @@ Examples # Before state: # ------------- # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # description "Interface 1" # ! # interface Ethernet2 # ! # interface Management1 - # description "Management interface" # ip address dhcp - # ! + # dhcp client accept default-route - name: Merge provided configuration with device configuration arista.eos.eos_interfaces: config: - - name: Ethernet1 - enabled: true - mode: layer3 - - name: Ethernet2 - description: Configured by Ansible - enabled: false + - name: Ethernet1 + enabled: true + mode: layer3 + - name: Ethernet2 + description: Configured by Ansible + enabled: false state: merged + # Task Output + # ----------- + # + # before: + # - enabled: true + # name: Ethernet1 + # - enabled: true + # name: Ethernet2 + # - enabled: true + # name: Management1 + # commands: + # - interface Ethernet1 + # - no switchport + # - interface Ethernet2 + # - shutdown + # - description Configured by Ansible + # after: + # - enabled: true + # mode: layer3 + # name: Ethernet1 + # - description: Configured by Ansible + # enabled: false + # name: Ethernet2 + # - enabled: true + # name: Management1 + # After state: # ------------ # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # description "Interface 1" # no switchport # ! # interface Ethernet2 - # description "Configured by Ansible" + # description Configured by Ansible # shutdown # ! # interface Management1 - # description "Management interface" # ip address dhcp - # ! + # dhcp client accept default-route # Using replaced # Before state: # ------------- # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # description "Interface 1" + # no switchport # ! # interface Ethernet2 + # description Configured by Ansible + # shutdown # ! # interface Management1 - # description "Management interface" # ip address dhcp - # ! + # dhcp client accept default-route - name: Replaces device configuration of listed interfaces with provided configuration arista.eos.eos_interfaces: config: - - name: Ethernet1 - enabled: true - - name: Ethernet2 - description: Configured by Ansible - enabled: false + - name: Ethernet1 + enabled: true + - name: Ethernet2 + description: Configured by Ansible + enabled: false state: replaced + # Task Output + # ----------- + # + # before: + # - enabled: true + # mode: layer3 + # name: Ethernet1 + # - description: Configured by Ansible + # enabled: false + # name: Ethernet2 + # - enabled: true + # name: Management1 + # commands: + # - interface Ethernet1 + # - switchport + # after: + # - enabled: true + # name: Ethernet1 + # - description: Configured by Ansible + # enabled: false + # name: Ethernet2 + # - enabled: true + # name: Management1 + # After state: # ------------ # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 # ! # interface Ethernet2 - # description "Configured by Ansible" + # description Configured by Ansible # shutdown # ! # interface Management1 - # description "Management interface" # ip address dhcp - # ! + # dhcp client accept default-route # Using overridden # Before state: # ------------- # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # description "Interface 1" # ! # interface Ethernet2 + # description Configured by Ansible + # shutdown # ! # interface Management1 - # description "Management interface" # ip address dhcp - # ! + # dhcp client accept default-route - name: Overrides all device configuration with provided configuration arista.eos.eos_interfaces: config: - - name: Ethernet1 - enabled: true - - name: Ethernet2 - description: Configured by Ansible - enabled: false + - name: Ethernet1 + enabled: true + - name: Ethernet2 + description: Configured by Ansible + enabled: false state: overridden + # Task Output + # ----------- + # + # before: + # - enabled: true + # name: Ethernet1 + # - description: Configured by Ansible + # enabled: false + # name: Ethernet2 + # - enabled: true + # name: Management1 + # commands: + # - interface Management1 + # - no shutdown + # after: + # - enabled: true + # name: Ethernet1 + # - description: Configured by Ansible + # enabled: false + # name: Ethernet2 + # - enabled: true + # name: Management1 + # After state: # ------------ # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 # ! # interface Ethernet2 - # description "Configured by Ansible" + # description Configured by Ansible # shutdown # ! # interface Management1 # ip address dhcp - # ! + # dhcp client accept default-route # Using deleted # Before state: # ------------- # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # description "Interface 1" - # no switchport # ! # interface Ethernet2 + # description Configured by Ansible + # shutdown # ! # interface Management1 - # description "Management interface" # ip address dhcp - # ! + # dhcp client accept default-route - name: Delete or return interface parameters to default settings arista.eos.eos_interfaces: config: - - name: Ethernet1 + - name: Ethernet1 state: deleted + # Task Output + # ----------- + # + # before: + # - enabled: true + # name: Ethernet1 + # - description: Configured by Ansible + # enabled: false + # name: Ethernet2 + # - enabled: true + # name: Management1 + # commands: + # - interface Ethernet1 + # - no shutdown + # after: + # - enabled: true + # name: Ethernet1 + # - description: Configured by Ansible + # enabled: false + # name: Ethernet2 + # - enabled: true + # name: Management1 + # After state: # ------------ # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 # ! # interface Ethernet2 + # description Configured by Ansible + # shutdown # ! # interface Management1 - # description "Management interface" # ip address dhcp - # ! + # dhcp client accept default-route # Using rendered - - name: Use Rendered to convert the structured data to native config + - name: Render the provided configuration into platform specific configuration lines arista.eos.eos_interfaces: config: - - name: Ethernet1 - enabled: true - mode: layer3 - - name: Ethernet2 - description: Configured by Ansible - enabled: false - state: merged - - # Output: - # ------------ - - # - "interface Ethernet1" - # - "description "Interface 1"" - # - "no swithcport" - # - "interface Ethernet2" - # - "description "Configured by Ansible"" - # - "shutdown" - # - "interface Management1" - # - "description "Management interface"" - # - "ip address dhcp" - - # Using parsed - # parsed.cfg - + - name: Ethernet1 + enabled: true + mode: layer3 + - name: Ethernet2 + description: Configured by Ansible + enabled: false + state: rendered + + # Module Execution Result: + # ------------------------ + # + # rendered: + # - interface Ethernet1 + # - no shutdown + # - no switchport + # - interface Ethernet2 + # - shutdown + # - description Configured by Ansible + + # Using Parsed + + # File: parsed.cfg + # ---------------- + # # interface Ethernet1 # description "Interface 1" # ! @@ -431,46 +523,54 @@ Examples # shutdown # ! - - name: Use parsed to convert native configs to structured data + - name: Parse the commands for provided configuration arista.eos.interfaces: running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed - # Output + # Module Execution Result: + # ------------------------ + # # parsed: - # - name: Ethernet1 - # enabled: True - # mode: layer2 - # - name: Ethernet2 - # description: 'Configured by Ansible' - # enabled: False - # mode: layer2 - - # Using gathered: - - # Existing config on the device - # ----------------------------- + # - name: Ethernet1 + # enabled: True + # mode: layer2 + # - name: Ethernet2 + # description: 'Configured by Ansible' + # enabled: False + # mode: layer2 + + # Using Gathered + + # Before state: + # ------------- + # + # test#show running-config | section interface # interface Ethernet1 - # description "Interface 1" # ! # interface Ethernet2 - # description "Configured by Ansible" + # description Configured by Ansible # shutdown # ! + # interface Management1 + # ip address dhcp + # dhcp client accept default-route - name: Gather interfaces facts from the device arista.eos.interfaces: state: gathered - # output + # Module Execution Result: + # ------------------------ + # # gathered: - # - name: Ethernet1 - # enabled: True - # mode: layer2 - # - name: Ethernet2 - # description: 'Configured by Ansible' - # enabled: False - # mode: layer2 + # - enabled: true + # name: Ethernet1 + # - description: Configured by Ansible + # enabled: false + # name: Ethernet2 + # - enabled: true + # name: Management1 @@ -497,10 +597,10 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late </td> <td>when changed</td> <td> - <div>The configuration as structured data after module completion.</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> @@ -512,12 +612,12 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <span style="color: purple">dictionary</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 as structured data prior to module 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> @@ -529,12 +629,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;">['interface Ethernet2', 'shutdown', 'speed 10full']</div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['interface Ethernet1', 'no shutdown', 'no switchport']</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', 'no shutdown', 'no switchport']</div> </td> </tr> </table> @@ -548,4 +699,4 @@ Status Authors ~~~~~~~ -- Nathaniel Case (@qalthos) +- Nathaniel Case (@Qalthos) diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_l2_interfaces_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_l2_interfaces_module.rst index b487ae2b3..a6176d51f 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_l2_interfaces_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_l2_interfaces_module.rst @@ -224,7 +224,7 @@ Notes .. note:: - Tested against Arista EOS 4.24.6F - - This module works with connection ``network_cli``. See the `EOS Platform Options <../network/user_guide/platform_eos.html>`_. + - This module works with connection ``network_cli``. See https://docs.ansible.com/ansible/latest/network/user_guide/platform_eos.html @@ -238,205 +238,307 @@ Examples # Before state: # ------------- # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # switchport access vlan 20 # ! # interface Ethernet2 - # switchport trunk native vlan 20 - # switchport mode trunk + # description Configured by Ansible + # shutdown # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config - # ! + # dhcp client accept default-route - name: Merge provided configuration with device configuration. arista.eos.eos_l2_interfaces: config: - - name: Ethernet1 - mode: trunk - trunk: - native_vlan: 10 - - name: Ethernet2 - mode: access - access: - vlan: 30 + - name: Ethernet1 + mode: trunk + trunk: + native_vlan: 10 + - name: Ethernet2 + mode: access + access: + vlan: 30 state: merged + # Task Output + # ----------- + # + # before: + # - name: Ethernet1 + # - name: Ethernet2 + # - name: Management1 + # commands: + # - interface Ethernet1 + # - switchport mode trunk + # - switchport trunk native vlan 10 + # - interface Ethernet2 + # - switchport mode access + # - switchport access vlan 30 + # after: + # - mode: trunk + # name: Ethernet1 + # trunk: + # native_vlan: 10 + # - access: + # vlan: 30 + # name: Ethernet2 + # - name: Management1 + # After state: # ------------ # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 # switchport trunk native vlan 10 # switchport mode trunk # ! # interface Ethernet2 + # description Configured by Ansible + # shutdown # switchport access vlan 30 # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config - # ! + # dhcp client accept default-route # Using replaced # Before state: # ------------- # - # veos2#show running-config | s int + # test#show running-config | section interface # interface Ethernet1 - # switchport access vlan 20 + # switchport trunk native vlan 10 + # switchport mode trunk # ! # interface Ethernet2 - # switchport trunk native vlan 20 - # switchport mode trunk + # description Configured by Ansible + # shutdown + # switchport access vlan 30 # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config - # ! + # dhcp client accept default-route - name: Replace device configuration of specified L2 interfaces with provided configuration. arista.eos.eos_l2_interfaces: config: - - name: Ethernet1 - mode: trunk - trunk: - native_vlan: 20 - trunk_allowed_vlans: 5-10, 15 + - name: Ethernet1 + mode: trunk + trunk: + native_vlan: 20 + trunk_allowed_vlans: 5-10, 15 state: replaced + # Task Output + # ----------- + # + # before: + # - mode: trunk + # name: Ethernet1 + # trunk: + # native_vlan: 10 + # - access: + # vlan: 30 + # name: Ethernet2 + # - name: Management1 + # commands: + # - interface Ethernet1 + # - switchport trunk native vlan 20 + # - switchport trunk allowed vlan 10,15,5,6,7,8,9 + # after: + # - mode: trunk + # name: Ethernet1 + # trunk: + # native_vlan: 20 + # trunk_allowed_vlans: + # - 5-10 + # - '15' + # - access: + # vlan: 30 + # name: Ethernet2 + # - name: Management1 + # After state: # ------------ # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 # switchport trunk native vlan 20 # switchport trunk allowed vlan 5-10,15 # switchport mode trunk # ! # interface Ethernet2 - # switchport trunk native vlan 20 - # switchport mode trunk + # description Configured by Ansible + # shutdown + # switchport access vlan 30 # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config - # ! + # dhcp client accept default-route # Using overridden # Before state: # ------------- # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # switchport access vlan 20 - # ! - # interface Ethernet2 # switchport trunk native vlan 20 + # switchport trunk allowed vlan 5-10,15 # switchport mode trunk # ! + # interface Ethernet2 + # description Configured by Ansible + # shutdown + # switchport access vlan 30 + # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config - # ! + # dhcp client accept default-route - name: Override device configuration of all L2 interfaces on device with provided configuration. arista.eos.eos_l2_interfaces: config: - - name: Ethernet2 - mode: access - access: - vlan: 30 + - name: Ethernet2 + mode: access + access: + vlan: 30 state: overridden + # Task Output + # ----------- + # + # before: + # - mode: trunk + # name: Ethernet1 + # trunk: + # native_vlan: 20 + # trunk_allowed_vlans: + # - 5-10 + # - '15' + # - access: + # vlan: 30 + # name: Ethernet2 + # - name: Management1 + # commands: + # - interface Ethernet1 + # - no switchport mode + # - no switchport trunk allowed vlan + # - no switchport trunk native vlan + # - interface Ethernet2 + # - switchport mode access + # after: + # - name: Ethernet1 + # - access: + # vlan: 30 + # name: Ethernet2 + # - name: Management1 + # After state: # ------------ # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 # ! # interface Ethernet2 + # description Configured by Ansible + # shutdown # switchport access vlan 30 # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config - # ! + # dhcp client accept default-route # Using deleted # Before state: # ------------- # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # switchport access vlan 20 # ! # interface Ethernet2 - # switchport trunk native vlan 20 - # switchport mode trunk + # description Configured by Ansible + # shutdown + # switchport access vlan 30 # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config - # ! + # dhcp client accept default-route - name: Delete EOS L2 interfaces as in given arguments. arista.eos.eos_l2_interfaces: config: - - name: Ethernet1 - - name: Ethernet2 + - name: Ethernet1 + - name: Ethernet2 state: deleted + # Task Output + # ----------- + # + # before: + # - name: Ethernet1 + # - access: + # vlan: 30 + # name: Ethernet2 + # - name: Management1 + # commands: + # - interface Ethernet2 + # - no switchport access vlan + # after: + # - name: Ethernet1 + # - name: Ethernet2 + # - name: Management1 + # After state: # ------------ # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 # ! # interface Ethernet2 + # description Configured by Ansible + # shutdown # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config + # dhcp client accept default-route # using rendered - name: Use Rendered to convert the structured data to native config arista.eos.eos_l2_interfaces: config: - - name: Ethernet1 - mode: trunk - trunk: - native_vlan: 10 - - name: Ethernet2 - mode: access - access: - vlan: 30 - state: merged - - # Output : - # ------------ + - name: Ethernet1 + mode: trunk + trunk: + native_vlan: 10 + - name: Ethernet2 + mode: access + access: + vlan: 30 + state: rendered + + # Module Execution Result: + # ------------------------ + # + # rendered: + # - interface Ethernet1 + # - switchport mode trunk + # - switchport trunk native vlan 10 + # - interface Ethernet2 + # - switchport mode access + # - switchport access vlan 30 + + # Using parsed + + # File: parsed.cfg + # ---------------- # - # - "interface Ethernet1" - # - "switchport trunk native vlan 10" - # - "switchport mode trunk" - # - "interface Ethernet2" - # - "switchport access vlan 30" - # - "interface Management1" - # - "ip address dhcp" - # - "ipv6 address auto-config" - - - # using parsed - - # parsed.cfg - # interface Ethernet1 # switchport trunk native vlan 10 # switchport mode trunk @@ -445,25 +547,28 @@ Examples # switchport access vlan 30 # ! - - name: Use parsed to convert native configs to structured data + - name: Parse the commands for provided configuration arista.eos.l2_interfaces: running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed - # Output: - # parsed: - # - name: Ethernet1 - # mode: trunk - # trunk: - # native_vlan: 10 - # - name: Ethernet2 - # mode: access - # access: - # vlan: 30 - + # Module Execution Result: + # ------------------------ + # + # parsed: + # - name: Ethernet1 + # mode: trunk + # trunk: + # native_vlan: 10 + # - name: Ethernet2 + # mode: access + # access: + # vlan: 30 + + # Using gathered - # Using gathered: - # Existing config on the device: + # Before state: + # ------------- # # veos#show running-config | section interface # interface Ethernet1 @@ -477,16 +582,19 @@ Examples - name: Gather interfaces facts from the device arista.eos.l2_interfaces: state: gathered - # output: - # gathered: - # - name: Ethernet1 - # mode: trunk - # trunk: - # native_vlan: 10 - # - name: Ethernet2 - # mode: access - # access: - # vlan: 30 + + # Module Execution Result: + # ------------------------ + # + # gathered: + # - name: Ethernet1 + # mode: trunk + # trunk: + # native_vlan: 10 + # - name: Ethernet2 + # mode: access + # access: + # vlan: 30 @@ -508,15 +616,15 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <b>after</b> <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> <div style="font-size: small"> - <span style="color: purple">list</span> + <span style="color: purple">dictionary</span> </div> </td> <td>when changed</td> <td> - <div>The configuration as structured data after module completion.</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> @@ -525,15 +633,15 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <b>before</b> <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> <div style="font-size: small"> - <span style="color: purple">list</span> + <span style="color: purple">dictionary</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 as structured data prior to module 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> @@ -545,12 +653,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;">['interface Ethernet2', 'switchport access vlan 20']</div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['interface Ethernet1', 'switchport mode trunk', 'switchport access vlan 20']</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', 'switchport mode trunk', 'switchport access vlan 20']</div> </td> </tr> </table> @@ -564,4 +723,4 @@ Status Authors ~~~~~~~ -- Nathaniel Case (@qalthos) +- Nathaniel Case (@Qalthos) diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_l3_interfaces_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_l3_interfaces_module.rst index c6615fc0d..495e31507 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_l3_interfaces_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_l3_interfaces_module.rst @@ -229,7 +229,7 @@ Notes .. note:: - Tested against Arista EOS 4.24.6F - - This module works with connection ``network_cli``. See the `EOS Platform Options <../network/user_guide/platform_eos.html>`_. 'eos_l2_interfaces/eos_interfaces' should be used for preparing the interfaces , before applying L3 configurations using this module (eos_l3_interfaces). + - This module works with connection ``network_cli``. See https://docs.ansible.com/ansible/latest/network/user_guide/platform_eos.html 'eos_l2_interfaces/eos_interfaces' should be used for preparing the interfaces, before applying L3 configurations using this module (eos_l3_interfaces). @@ -238,170 +238,276 @@ Examples .. code-block:: yaml - # Using deleted + # Using merged # Before state: # ------------- # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # ip address 192.0.2.12/24 # ! # interface Ethernet2 - # ipv6 address 2001:db8::1/64 + # description Configured by Ansible + # shutdown # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config + # dhcp client accept default-route - - name: Delete L3 attributes of given interfaces. + - name: Merge provided configuration with device configuration. arista.eos.eos_l3_interfaces: config: - - name: Ethernet1 - - name: Ethernet2 - state: deleted + - name: Ethernet1 + ipv4: + - address: 198.51.100.14/24 + - name: Ethernet2 + ipv4: + - address: 203.0.113.27/24 + state: merged + + # Task Output + # ----------- + # + # before: + # - name: Ethernet1 + # - name: Ethernet2 + # - ipv4: + # - address: dhcp + # name: Management1 + # commands: + # - interface Ethernet1 + # - ip address 198.51.100.14/24 + # - interface Ethernet2 + # - ip address 203.0.113.27/24 + # after: + # - ipv4: + # - address: 198.51.100.14/24 + # name: Ethernet1 + # - ipv4: + # - address: 203.0.113.27/24 + # name: Ethernet2 + # - ipv4: + # - address: dhcp + # name: Management1 # After state: # ------------ # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 + # ip address 198.51.100.14/24 # ! # interface Ethernet2 + # description Configured by Ansible + # shutdown + # ip address 203.0.113.27/24 # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config - + # dhcp client accept default-route - # Using merged + # Using overridden # Before state: # ------------- # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # ip address 192.0.2.12/24 + # ip address 198.51.100.14/24 # ! # interface Ethernet2 - # ipv6 address 2001:db8::1/64 + # ip address 203.0.113.27/24 # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config + # dhcp client accept default-route - - name: Merge provided configuration with device configuration. + - name: Override device configuration of all L2 interfaces on device with provided + configuration. arista.eos.eos_l3_interfaces: config: - - name: Ethernet1 - ipv4: - - address: 198.51.100.14/24 - - name: Ethernet2 - ipv4: - - address: 203.0.113.27/24 - state: merged + - name: Ethernet1 + ipv6: + - address: 2001:db8:feed::1/96 + - name: Ethernet2 + ipv4: + - address: 203.0.113.27/24 + - ipv4: + - address: dhcp + name: Management1 + state: overridden + + # Task Output + # ----------- + # + # before: + # - ipv4: + # - address: 198.51.100.14/24 + # name: Ethernet1 + # - ipv4: + # - address: 203.0.113.27/24 + # name: Ethernet2 + # - ipv4: + # - address: dhcp + # name: Management1 + # commands: + # - interface Ethernet1 + # - ipv6 address 2001:db8:feed::1/96 + # - no ip address + # after: + # - ipv6: + # - address: 2001:db8:feed::1/96 + # name: Ethernet1 + # - ipv4: + # - address: 203.0.113.27/24 + # name: Ethernet2 + # - ipv4: + # - address: dhcp + # name: Management1 # After state: # ------------ # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # ip address 198.51.100.14/24 + # ipv6 address 2001:db8:feed::1/96 # ! # interface Ethernet2 # ip address 203.0.113.27/24 - # ipv6 address 2001:db8::1/64 # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config - + # dhcp client accept default-route - # Using overridden + # Using replaced # Before state: # ------------- # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # ip address 192.0.2.12/24 + # ipv6 address 2001:db8:feed::1/96 # ! # interface Ethernet2 - # ipv6 address 2001:db8::1/64 + # ip address 203.0.113.27/24 # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config + # dhcp client accept default-route - - name: Override device configuration of all L2 interfaces on device with provided - configuration. + - name: Replace device configuration of specified L2 interfaces with provided configuration. arista.eos.eos_l3_interfaces: config: - - name: Ethernet1 - ipv6: - - address: 2001:db8:feed::1/96 - - name: Management1 - ipv4: - - address: dhcp - ipv6: auto-config - state: overridden + - name: Ethernet2 + ipv4: + - address: 203.0.113.27/24 + state: replaced + + # Task Output + # ----------- + # + # before: + # - ipv6: + # - address: 2001:db8:feed::1/96 + # name: Ethernet1 + # - ipv4: + # - address: 203.0.113.27/24 + # name: Ethernet2 + # - ipv4: + # - address: dhcp + # name: Management1 + # commands: + # - interface Ethernet2 + # - ip address 203.0.113.28/24 + # after: + # - ipv6: + # - address: 2001:db8:feed::1/96 + # name: Ethernet1 + # - ipv4: + # - address: 203.0.113.28/24 + # name: Ethernet2 + # - ipv4: + # - address: dhcp + # name: Management1 # After state: # ------------ # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 # ipv6 address 2001:db8:feed::1/96 # ! # interface Ethernet2 + # ip address 203.0.113.28/24 # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config + # dhcp client accept default-route - - # Using replaced + # Using deleted # Before state: # ------------- # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # ip address 192.0.2.12/24 + # ipv6 address 2001:db8:feed::1/96 # ! # interface Ethernet2 - # ipv6 address 2001:db8::1/64 + # ip address 203.0.113.28/24 # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config + # dhcp client accept default-route - - name: Replace device configuration of specified L2 interfaces with provided configuration. + - name: Delete L3 attributes of given interfaces. arista.eos.eos_l3_interfaces: config: - - name: Ethernet2 - ipv4: - - address: 203.0.113.27/24 - state: replaced + - name: Ethernet1 + - name: Ethernet2 + state: deleted + + # Task Output + # ----------- + # + # before: + # - ipv6: + # - address: 2001:db8:feed::1/96 + # name: Ethernet1 + # - ipv4: + # - address: 203.0.113.28/24 + # name: Ethernet2 + # - ipv4: + # - address: dhcp + # name: Management1 + # commands: + # - interface Ethernet1 + # - no ipv6 address 2001:db8:feed::1/96 + # - interface Ethernet2 + # - no ip address + # after: + # - name: Ethernet1 + # - name: Ethernet2 + # - ipv4: + # - address: dhcp + # name: Management1 # After state: # ------------ # - # veos#show running-config | section interface + # test#show running-config | section interface # interface Ethernet1 - # ip address 192.0.2.12/24 # ! # interface Ethernet2 - # ip address 203.0.113.27/24 # ! # interface Management1 # ip address dhcp - # ipv6 address auto-config + # dhcp client accept default-route - # Using parsed: + # Using Parsed - # parsed.cfg - # ------------ + # File: parsed.cfg + # ---------------- # # veos#show running-config | section interface # interface Ethernet1 @@ -416,41 +522,45 @@ Examples running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed - # Output: - + # Module Execution Result: + # ------------------------ + # # parsed: - # - name: Ethernet1 - # ipv4: - # - address: 198.51.100.14/24 - # - name: Ethernet2 - # ipv4: - # - address: 203.0.113.27/24 + # - name: Ethernet1 + # ipv4: + # - address: 198.51.100.14/24 + # - name: Ethernet2 + # ipv4: + # - address: 203.0.113.27/24 # Using rendered: - name: Use Rendered to convert the structured data to native config arista.eos.eos_l3_interfaces: config: - - name: Ethernet1 - ipv4: - - address: 198.51.100.14/24 - - name: Ethernet2 - ipv4: - - address: 203.0.113.27/24 + - name: Ethernet1 + ipv4: + - address: 198.51.100.14/24 + - name: Ethernet2 + ipv4: + - address: 203.0.113.27/24 state: rendered - # Output - # ------------ - #rendered: - # - "interface Ethernet1" - # - "ip address 198.51.100.14/24" - # - "interface Ethernet2" - # - "ip address 203.0.113.27/24" + # Module Execution Result: + # ------------------------ + # + # rendered: + # - interface Ethernet1 + # - ip address 198.51.100.14/24 + # - interface Ethernet2 + # - ip address 203.0.113.27/24 # using gathered: - # Native COnfig: - # veos#show running-config | section interface + # Before state: + # ------------- + # + # test#show running-config | section interface # interface Ethernet1 # ip address 198.51.100.14/24 # ! @@ -462,13 +572,16 @@ Examples arista.eos.l3_interfaces: state: gathered - # gathered: - # - name: Ethernet1 - # ipv4: - # - address: 198.51.100.14/24 - # - name: Ethernet2 - # ipv4: - # - address: 203.0.113.27/24 + # Module Execution Result: + # ------------------------ + # + # gathered: + # - name: Ethernet1 + # ipv4: + # - address: 198.51.100.14/24 + # - name: Ethernet2 + # ipv4: + # - address: 203.0.113.27/24 @@ -490,16 +603,15 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <b>after</b> <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> <div style="font-size: small"> - <span style="color: purple">list</span> + <span style="color: purple">dictionary</span> </div> </td> <td>when changed</td> <td> - <div>The configuration as structured data after module completion.</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> @@ -508,16 +620,15 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <b>before</b> <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> <div style="font-size: small"> - <span style="color: purple">list</span> + <span style="color: purple">dictionary</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 as structured data prior to module 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> @@ -529,12 +640,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;">['interface Ethernet2', 'ip address 192.0.2.12/24']</div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['interface Ethernet1', 'ip address 198.51.100.14/24', 'ipv6 address 2001:db8:feed::1/96']</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', 'ip address 198.51.100.14/24', 'ipv6 address 2001:db8:feed::1/96']</div> </td> </tr> </table> @@ -548,4 +710,4 @@ Status Authors ~~~~~~~ -- Nathaniel Case (@qalthos) +- Nathaniel Case (@Qalthos) diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_lacp_interfaces_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_lacp_interfaces_module.rst index dbe2ffa98..5570e69ca 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_lacp_interfaces_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_lacp_interfaces_module.rst @@ -179,10 +179,10 @@ Examples - name: Merge provided configuration with device configuration arista.eos.eos_lacp_interfaces: config: - - name: Ethernet1 - rate: fast - - name: Ethernet2 - rate: normal + - name: Ethernet1 + rate: fast + - name: Ethernet2 + rate: normal state: merged # @@ -204,7 +204,6 @@ Examples # Before state # ------------ # - # # veos#show run | section ^interface # interface Ethernet1 # lacp port-priority 30 @@ -215,8 +214,8 @@ Examples configuration arista.eos.eos_lacp_interfaces: config: - - name: Ethernet1 - rate: fast + - name: Ethernet1 + rate: fast state: replaced # @@ -248,8 +247,8 @@ Examples - name: Override the LACP configuration of all the interfaces with provided configuration arista.eos.eos_lacp_interfaces: config: - - name: Ethernet1 - rate: fast + - name: Ethernet1 + rate: fast state: overridden # @@ -295,10 +294,10 @@ Examples - name: Use Rendered to convert the structured data to native config arista.eos.eos_lacp_interfaces: config: - - name: Ethernet1 - rate: fast - - name: Ethernet2 - rate: normal + - name: Ethernet1 + rate: fast + - name: Ethernet2 + rate: normal state: rendered # diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_lacp_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_lacp_module.rst index c843c1805..a7f56ea78 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_lacp_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_lacp_module.rst @@ -201,7 +201,7 @@ Examples # veos# show running-config | include lacp # - #Using rendered: + # Using rendered: - name: Use Rendered to convert the structured data to native config arista.eos.eos_lacp: diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_lag_interfaces_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_lag_interfaces_module.rst index f41e3d283..4caabb004 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_lag_interfaces_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_lag_interfaces_module.rst @@ -196,10 +196,10 @@ Examples - name: Merge provided LAG attributes with existing device configuration arista.eos.eos_lag_interfaces: config: - - name: 5 - members: - - member: Ethernet2 - mode: on + - name: 5 + members: + - member: Ethernet2 + mode: on state: merged # After state: @@ -225,10 +225,10 @@ Examples - name: Replace all device configuration of specified LAGs with provided configuration arista.eos.eos_lag_interfaces: config: - - name: 5 - members: - - member: Ethernet2 - mode: on + - name: 5 + members: + - member: Ethernet2 + mode: on state: replaced # After state: @@ -253,10 +253,10 @@ Examples - name: Override all device configuration of all LAG attributes with provided configuration arista.eos.eos_lag_interfaces: config: - - name: 10 - members: - - member: Ethernet2 - mode: on + - name: 10 + members: + - member: Ethernet2 + mode: on state: overridden # After state: @@ -282,9 +282,9 @@ Examples - name: Delete LAG attributes of the given interfaces. arista.eos.eos_lag_interfaces: config: - - name: 5 - members: - - member: Ethernet1 + - name: 5 + members: + - member: Ethernet1 state: deleted # After state: @@ -322,12 +322,12 @@ Examples - name: Use Rendered to convert the structured data to native config arista.eos.eos_lag_interfaces: config: - - name: 5 - members: - - member: Ethernet2 - mode: on - - member: Ethernet1 - mode: on + - name: 5 + members: + - member: Ethernet2 + mode: on + - member: Ethernet1 + mode: on state: rendered # ----------- # Output diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_lldp_interfaces_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_lldp_interfaces_module.rst index 90463d9e0..b30a99ba8 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_lldp_interfaces_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_lldp_interfaces_module.rst @@ -182,10 +182,10 @@ Examples - name: Merge provided configuration with running configuration arista.eos.eos_lldp_interfaces: config: - - name: Ethernet1 - transmit: false - - name: Ethernet2 - transmit: false + - name: Ethernet1 + transmit: false + - name: Ethernet2 + transmit: false state: merged # @@ -219,8 +219,8 @@ Examples configuration arista.eos.eos_lldp_interfaces: config: - - name: Ethernet1 - transmit: false + - name: Ethernet1 + transmit: false state: replaced # @@ -252,8 +252,8 @@ Examples - name: Override the LLDP configuration of all the interfaces with provided configuration arista.eos.eos_lldp_interfaces: config: - - name: Ethernet1 - transmit: false + - name: Ethernet1 + transmit: false state: overridden # @@ -300,10 +300,10 @@ Examples - name: Use Rendered to convert the structured data to native config arista.eos.eos_lldp_interfaces: config: - - name: Ethernet1 - transmit: false - - name: Ethernet2 - transmit: false + - name: Ethernet1 + transmit: false + - name: Ethernet2 + transmit: false state: rendered # diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_logging_global_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_logging_global_module.rst index d159d0de6..9c6684331 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_logging_global_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_logging_global_module.rst @@ -1144,29 +1144,28 @@ Examples .. code-block:: yaml # Using merged - # Before state # test(config)#show running-config | section logging # test(config)# - - name: Merge provided configuration with device configuration - arista.eos.eos_logging_global: - config: - hosts: - - name: "host01" - protocol: "tcp" - - name: "11.11.11.1" - port: 25 - vrfs: - - name: "vrf01" - source_interface: "Ethernet1" - - name: "vrf02" - hosts: - - name: "hostvrf1" - protocol: "tcp" - - name: "24.1.1.1" - port: "33" + - name: Merge provided configuration with device configuration + arista.eos.eos_logging_global: + config: + hosts: + - name: "host01" + protocol: "tcp" + - name: "11.11.11.1" + port: 25 + vrfs: + - name: "vrf01" + source_interface: "Ethernet1" + - name: "vrf02" + hosts: + - name: "hostvrf1" + protocol: "tcp" + - name: "24.1.1.1" + port: "33" # After State: @@ -1240,25 +1239,25 @@ Examples # logging level AAA alerts # test(config)# - - name: Repalce - arista.eos.eos_logging_global: - config: - synchronous: - set: True - trap: - severity: "critical" - hosts: - - name: "host02" - protocol: "tcp" - vrfs: - - name: "vrf03" - source_interface: "Vlan100" - - name: "vrf04" - hosts: - - name: "hostvrf1" - protocol: "tcp" - - state: replaced + - name: Repalce + arista.eos.eos_logging_global: + config: + synchronous: + set: true + trap: + severity: "critical" + hosts: + - name: "host02" + protocol: "tcp" + vrfs: + - name: "vrf03" + source_interface: "Vlan100" + - name: "vrf04" + hosts: + - name: "hostvrf1" + protocol: "tcp" + + state: replaced # After State: # test(config)#show running-config | section logging @@ -1279,7 +1278,7 @@ Examples # } # ], # "synchronous": { - # "set": True + # "set": true # }, # "trap": { # "severity": "critical" @@ -1389,25 +1388,25 @@ Examples # logging level AAA alerts # test(config)# - - name: Repalce - arista.eos.eos_logging_global: - config: - synchronous: - set: True - trap: - severity: "critical" - hosts: - - name: "host02" - protocol: "tcp" - vrfs: - - name: "vrf03" - source_interface: "Vlan100" - - name: "vrf04" - hosts: - - name: "hostvrf1" - protocol: "tcp" - - state: overridden + - name: Repalce + arista.eos.eos_logging_global: + config: + synchronous: + set: true + trap: + severity: "critical" + hosts: + - name: "host02" + protocol: "tcp" + vrfs: + - name: "vrf03" + source_interface: "Vlan100" + - name: "vrf04" + hosts: + - name: "hostvrf1" + protocol: "tcp" + + state: overridden # After State: # test(config)#show running-config | section logging @@ -1428,7 +1427,7 @@ Examples # } # ], # "synchronous": { - # "set": True + # "set": true # }, # "trap": { # "severity": "critical" @@ -1536,10 +1535,10 @@ Examples # logging vrf vrf03 source-interface Vlan100 # test(config)# - - name: Delete all logging configs - arista.eos.eos_logging_global: - state: deleted - become: yes + - name: Delete all logging configs + arista.eos.eos_logging_global: + state: deleted + become: true # After state: # test(config)#show running-config | section logging @@ -1628,10 +1627,10 @@ Examples # ! # logging level AAA alerts - - name: parse configs - arista.eos.eos_logging_global: - running_config: "{{ lookup('file', './parsed.cfg') }}" - state: parsed + - name: parse configs + arista.eos.eos_logging_global: + running_config: "{{ lookup('file', './parsed.cfg') }}" + state: parsed # Module Execution # "parsed": { @@ -1702,9 +1701,9 @@ Examples # logging level AAA alerts # test(config)# - - name: gather configs - arista.eos.eos_logging_global: - state: gathered + - name: gather configs + arista.eos.eos_logging_global: + state: gathered # Module Execution: # "gathered": { @@ -1761,35 +1760,35 @@ Examples # # Using rendered: - - name: Render provided configuration - arista.eos.eos_logging_global: - config: - format: - timestamp: - traditional: - timezone: True - level: - facility: "AAA" - severity: "alerts" - persistent: - size: 4096 - policy: - invert_result: True - match_list: "list01" - hosts: - - name: "host01" - protocol: "tcp" - - name: "11.11.11.1" - port: 25 - vrfs: - - name: "vrf01" - source_interface: "Ethernet1" - - name: "vrf02" - hosts: - - name: "hostvrf1" - protocol: "tcp" - - name: "24.1.1.1" - port: "33" + - name: Render provided configuration + arista.eos.eos_logging_global: + config: + format: + timestamp: + traditional: + timezone: true + level: + facility: "AAA" + severity: "alerts" + persistent: + size: 4096 + policy: + invert_result: true + match_list: "list01" + hosts: + - name: "host01" + protocol: "tcp" + - name: "11.11.11.1" + port: 25 + vrfs: + - name: "vrf01" + source_interface: "Ethernet1" + - name: "vrf02" + hosts: + - name: "hostvrf1" + protocol: "tcp" + - name: "24.1.1.1" + port: "33" # Module Execution: # "rendered": [ diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_logging_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_logging_module.rst index bcdb50a43..77c3b9ed4 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_logging_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_logging_module.rst @@ -335,8 +335,8 @@ Examples - name: Configure logging using aggregate arista.eos.eos_logging: aggregate: - - {dest: console, level: warnings} - - {dest: buffered, size: 480000} + - {dest: console, level: warnings} + - {dest: buffered, size: 480000} state: present diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_ntp_global_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_ntp_global_module.rst index eea1b5e73..4b69c8163 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_ntp_global_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_ntp_global_module.rst @@ -687,47 +687,47 @@ Examples # Using merged - # Before state - + # Before state: + # ------------- # localhost(config)#show running-config | section ntp # localhost(config)# - - name: Merge provided configuration with device configuration - arista.eos.eos_ntp_global: - config: - authenticate: - enable: true - authentication_keys: - - id: 2 - algorithm: "sha1" - encryption: 7 - key: "123456" - - id: 23 - algorithm: "md5" - encryption: 7 - key: "123456" - local_interface: "Ethernet1" - qos_dscp: 10 - trusted_key: 23 - servers: - - server: "10.1.1.1" - vrf: "vrf01" - burst: True - prefer: True - - server: "25.1.1.1" - vrf: "vrf01" - maxpoll: 15 - key_id: 2 - serve: - access_lists: - - afi: "ip" - acls: - - acl_name: "acl01" - direction: "in" - - afi: "ipv6" - acls: - - acl_name: "acl02" - direction: "in" + - name: Merge provided configuration with device configuration + arista.eos.eos_ntp_global: + config: + authenticate: + enable: true + authentication_keys: + - id: 2 + algorithm: "sha1" + encryption: 7 + key: "123456" + - id: 23 + algorithm: "md5" + encryption: 7 + key: "123456" + local_interface: "Ethernet1" + qos_dscp: 10 + trusted_key: 23 + servers: + - server: "10.1.1.1" + vrf: "vrf01" + burst: true + prefer: true + - server: "25.1.1.1" + vrf: "vrf01" + maxpoll: 15 + key_id: 2 + serve: + access_lists: + - afi: "ip" + acls: + - acl_name: "acl01" + direction: "in" + - afi: "ipv6" + acls: + - acl_name: "acl02" + direction: "in" # After State @@ -836,28 +836,29 @@ Examples # ntp serve ipv6 access-group acl02 in # localhost(config)# - - name: Replace - arista.eos.eos_ntp_global: - config: - qos_dscp: 15 - authentication_keys: - - id: 2 - algorithm: "md5" - encryption: 7 - key: "123456" - servers: - - server: "11.21.1.1" - vrf: "vrf01" - burst: True - prefer: True - minpoll: 13 - serve: - access_lists: - - afi: "ip" - acls: - - acl_name: "acl03" - direction: "in" - state: replaced + - name: Replace + arista.eos.eos_ntp_global: + config: + qos_dscp: 15 + authentication_keys: + - id: 2 + algorithm: "md5" + encryption: 7 + key: "123456" + servers: + - server: "11.21.1.1" + vrf: "vrf01" + burst: true + prefer: true + minpoll: 13 + serve: + access_lists: + - afi: "ip" + acls: + - acl_name: "acl03" + direction: "in" + state: replaced + # After State: # localhost(config)#show running-config | section ntp # ntp authentication-key 2 md5 7 123456 @@ -992,28 +993,29 @@ Examples # ntp serve ipv6 access-group acl02 in # localhost(config)# - - name: Replace - arista.eos.eos_ntp_global: - config: - qos_dscp: 15 - authentication_keys: - - id: 2 - algorithm: "md5" - encryption: 7 - key: "123456" - servers: - - server: "11.21.1.1" - vrf: "vrf01" - burst: True - prefer: True - minpoll: 13 - serve: - access_lists: - - afi: "ip" - acls: - - acl_name: "acl03" - direction: "in" - state: overridden + - name: Replace + arista.eos.eos_ntp_global: + config: + qos_dscp: 15 + authentication_keys: + - id: 2 + algorithm: "md5" + encryption: 7 + key: "123456" + servers: + - server: "11.21.1.1" + vrf: "vrf01" + burst: true + prefer: true + minpoll: 13 + serve: + access_lists: + - afi: "ip" + acls: + - acl_name: "acl03" + direction: "in" + state: overridden + # After State: # localhost(config)#show running-config | section ntp # ntp authentication-key 2 md5 7 123456 @@ -1149,9 +1151,9 @@ Examples # ntp serve ipv6 access-group acl02 in # localhost(config)# - - name: Delete ntp-global - arista.eos.eos_ntp_global: - state: deleted + - name: Delete ntp-global + arista.eos.eos_ntp_global: + state: deleted # After State: # localhost(config)#show running-config | section ntp @@ -1255,12 +1257,13 @@ Examples # ntp serve ip access-group acl01 in # ntp serve ipv6 access-group acl02 in - - name: parse configs - arista.eos.eos_ntp_global: - running_config: "{{ lookup('file', './parsed_ntp_global.cfg') }}" - state: parsed - tags: - - parsed + - name: parse configs + arista.eos.eos_ntp_global: + running_config: "{{ lookup('file', './parsed_ntp_global.cfg') }}" + state: parsed + tags: + - parsed + # Module Execution # "parsed": { # "authenticate": { @@ -1344,13 +1347,14 @@ Examples # ntp serve ipv6 access-group acl02 in # localhost(config)# + - name: gather configs + arista.eos.eos_ntp_global: + state: gathered + tags: + - gathered - - name: gather configs - arista.eos.eos_ntp_global: - state: gathered - tags: - - gathered # Module Execution + # "gathered": { # "authenticate": { # "enable": true @@ -1418,47 +1422,45 @@ Examples # } # } - # using rendered: - - name: Render provided configuration - arista.eos.eos_ntp_global: - config: - authenticate: - enable: true - authentication_keys: - - id: 2 - algorithm: "sha1" - encryption: 7 - key: "123456" - - id: 23 - algorithm: "md5" - encryption: 7 - key: "123456" - local_interface: "Ethernet1" - qos_dscp: 10 - trusted_key: 23 - servers: - - server: "10.1.1.1" - vrf: "vrf01" - burst: True - prefer: True - - server: "25.1.1.1" - vrf: "vrf01" - maxpoll: 15 - key_id: 2 - serve: - access_lists: - - afi: "ip" - acls: - - acl_name: "acl01" - direction: "in" - - afi: "ipv6" - acls: - - acl_name: "acl02" - direction: "in" - state: rendered - become: yes + - name: Render provided configuration + arista.eos.eos_ntp_global: + config: + authenticate: + enable: true + authentication_keys: + - id: 2 + algorithm: "sha1" + encryption: 7 + key: "123456" + - id: 23 + algorithm: "md5" + encryption: 7 + key: "123456" + local_interface: "Ethernet1" + qos_dscp: 10 + trusted_key: 23 + servers: + - server: "10.1.1.1" + vrf: "vrf01" + burst: true + prefer: true + - server: "25.1.1.1" + vrf: "vrf01" + maxpoll: 15 + key_id: 2 + serve: + access_lists: + - afi: "ip" + acls: + - acl_name: "acl01" + direction: "in" + - afi: "ipv6" + acls: + - acl_name: "acl02" + direction: "in" + state: rendered # Module Execution: # "rendered": [ diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_ospf_interfaces_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_ospf_interfaces_module.rst index 52844cc67..10f624c96 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_ospf_interfaces_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_ospf_interfaces_module.rst @@ -749,7 +749,7 @@ Parameters </ul> </td> <td> - <div>if True, Disable MTU check for Database Description packets.</div> + <div>if true, Disable MTU check for Database Description packets.</div> </td> </tr> <tr> @@ -938,7 +938,7 @@ Parameters </ul> </td> <td> - <div>if True, Disable MTU check for Database Description packets.</div> + <div>if true, Disable MTU check for Database Description packets.</div> </td> </tr> <tr> @@ -1124,31 +1124,59 @@ Examples # Using merged - # Before state - + # Before state: + # ------------- # veos(config)#show running-config | section interface | ospf # veos(config)# - - name: Merge provided configuration with device configuration - arista.eos.eos_ospf_interfaces: - config: - - name: "Vlan1" - address_family: - - afi: "ipv4" - area: - area_id: "0.0.0.50" - cost: 500 - mtu_ignore: True - - afi: "ipv6" - dead_interval: 44 - ip_params: - - afi: "ipv6" - mtu_ignore: True - network: "point-to-point" - state: merged - - # After State - + - name: Merge provided configuration with device configuration + arista.eos.eos_ospf_interfaces: + config: + - name: "Vlan1" + address_family: + - afi: "ipv4" + area: + area_id: "0.0.0.50" + cost: 500 + mtu_ignore: true + - afi: "ipv6" + dead_interval: 44 + ip_params: + - afi: "ipv6" + mtu_ignore: true + network: "point-to-point" + state: merged + + # Task output: + # ------------ + # before: [] + # + # commands: + # - interface Vlan1 + # - ip ospf area 0.0.0.50 + # - ip ospf cost 500 + # - ip ospf mtu-ignore + # - ospfv3 dead-interval 44 + # - ospfv3 ipv6 mtu-ignore + # - ospfv3 ipv6 network point-to-point + # + # after: + # - address_family: + # - afi: ipv4 + # area: + # area_id: 0.0.0.50 + # cost: 500 + # mtu_ignore: true + # - afi: ipv6 + # dead_interval: 44 + # ip_params: + # - afi: ipv6 + # mtu_ignore: true + # network: point-to-point + # name: Vlan1 + + # After state: + # ------------ # veos(config)#show running-config | section interface | ospf # interface Vlan1 # ip ospf cost 500 @@ -1157,74 +1185,11 @@ Examples # ospfv3 dead-interval 44 # ospfv3 ipv6 network point-to-point # ospfv3 ipv6 mtu-ignore - # veos(config)# - # - # - # Module Execution: - # - # "after": [ - # { - # "name": "Ethernet1" - # }, - # { - # "name": "Ethernet2" - # }, - # { - # "name": "Management1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.50" - # }, - # "cost": 500, - # "mtu_ignore": True - # }, - # { - # "afi": "ipv6", - # "dead_interval": 44, - # "ip_params": [ - # { - # "afi": "ipv6", - # "mtu_ignore": True, - # "network": "point-to-point" - # } - # ] - # } - # ], - # "name": "Vlan1" - # } - # ], - # "before": [ - # { - # "name": "Ethernet1" - # }, - # { - # "name": "Ethernet2" - # }, - # { - # "name": "Management1" - # } - # ], - # "changed": True, - # "commands": [ - # "interface Vlan1", - # "ip ospf area 0.0.0.50", - # "ip ospf cost 500", - # "ip ospf mtu-ignore", - # "ospfv3 dead-interval 44", - # "ospfv3 ipv6 mtu-ignore", - # "ospfv3 ipv6 network point-to-point" - # ], - # # Using replaced - #--------------- - - # Before State: + # Before state: + # ------------- # veos(config)#show running-config | section interface | ospf # interface Vlan1 # ip ospf cost 500 @@ -1247,26 +1212,100 @@ Examples # ospfv3 ipv4 hello-interval 45 # ospfv3 ipv4 retransmit-interval 100 # ospfv3 ipv4 area 0.0.0.6 - # veos(config)# - - - - name: Replace device configuration with provided configuration - arista.eos.eos_ospf_interfaces: - config: - - name: "Vlan1" - address_family: - - afi: "ipv6" - cost: 44 - bfd: True - ip_params: - - afi: "ipv6" - mtu_ignore: True - network: "point-to-point" - dead_interval: 56 - state: replaced - - # After State: + - name: Replace device configuration with provided configuration + arista.eos.eos_ospf_interfaces: + config: + - name: "Vlan1" + address_family: + - afi: "ipv6" + cost: 44 + bfd: true + ip_params: + - afi: "ipv6" + mtu_ignore: true + network: "point-to-point" + dead_interval: 56 + state: replaced + + # Task output: + # ------------ + # before: + # - address_family: + # - afi: ipv4 + # area: + # area_id: 0.0.0.50 + # cost: 500 + # dead_interval: 29 + # hello_interval: 66 + # mtu_ignore: true + # - afi: ipv6 + # cost: 106 + # dead_interval: 44 + # hello_interval: 77 + # ip_params: + # - afi: ipv4 + # area: + # area_id: 0.0.0.5 + # priority: 45 + # - afi: ipv6 + # mtu_ignore: true + # network: point-to-point + # passive_interface: true + # retransmit_interval: 115 + # transmit_delay: 100 + # name: Vlan1 + # - address_family: + # - afi: ipv6 + # ip_params: + # - afi: ipv4 + # area: + # area_id: 0.0.0.6 + # hello_interval: 45 + # retransmit_interval: 100 + # name: Vlan2 + # + # commands: + # - interface Vlan1 + # - no ip ospf cost 500 + # - no ip ospf dead-interval 29 + # - no ip ospf hello-interval 66 + # - no ip ospf mtu-ignore + # - no ip ospf area 0.0.0.50 + # - ospfv3 cost 44 + # - ospfv3 bfd + # - ospfv3 authentication ipsec spi 30 md5 passphrase 7 7hl8FV3lZ6H1mAKpjL47hQ== + # - no ospfv3 ipv4 priority 45 + # - no ospfv3 ipv4 area 0.0.0.5 + # - ospfv3 ipv6 dead-interval 56 + # - no ospfv3 ipv6 passive-interface + # - no ospfv3 ipv6 retransmit-interval 115 + # - no ospfv3 hello-interval 77 + # - no ospfv3 dead-interval 44 + # - no ospfv3 transmit-delay 100 + # + # after: + # - address_family: + # - afi: ipv6 + # bfd: true + # cost: 44 + # ip_params: + # - afi: ipv6 + # mtu_ignore: true + # network: point-to-point + # name: Vlan1 + # - address_family: + # - afi: ipv6 + # ip_params: + # - afi: ipv4 + # area: + # area_id: 0.0.0.6 + # hello_interval: 45 + # retransmit_interval: 100 + # name: Vlan2 + + # After state: + # ------------ # veos(config)#show running-config | section interface | ospf # interface Vlan1 # ospfv3 bfd @@ -1279,149 +1318,11 @@ Examples # ospfv3 ipv4 hello-interval 45 # ospfv3 ipv4 retransmit-interval 100 # ospfv3 ipv4 area 0.0.0.6 - # veos(config)# - # - # Module Execution: - # - # "after": [ - # { - # "name": "Ethernet1" - # }, - # { - # "name": "Ethernet2" - # }, - # { - # "name": "Management1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "bfd": True, - # "cost": 44, - # "ip_params": [ - # { - # "afi": "ipv6", - # "mtu_ignore": True, - # "network": "point-to-point" - # } - # ] - # } - # ], - # "name": "Vlan1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "ip_params": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.6" - # }, - # "hello_interval": 45, - # "retransmit_interval": 100 - # } - # ] - # } - # ], - # "name": "Vlan2" - # } - # ], - # "before": [ - # { - # "name": "Ethernet1" - # }, - # { - # "name": "Ethernet2" - # }, - # { - # "name": "Management1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.50" - # }, - # "cost": 500, - # "dead_interval": 29, - # "hello_interval": 66, - # "mtu_ignore": True - # }, - # { - # "afi": "ipv6", - # "cost": 106, - # "dead_interval": 44, - # "hello_interval": 77, - # "ip_params": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.5" - # }, - # "priority": 45 - # }, - # { - # "afi": "ipv6", - # "mtu_ignore": True, - # "network": "point-to-point", - # "passive_interface": True, - # "retransmit_interval": 115 - # } - # ], - # "transmit_delay": 100 - # } - # ], - # "name": "Vlan1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "ip_params": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.6" - # }, - # "hello_interval": 45, - # "retransmit_interval": 100 - # } - # ] - # } - # ], - # "name": "Vlan2" - # } - # ], - # "changed": True, - # "commands": [ - # "interface Vlan1", - # "no ip ospf cost 500", - # "no ip ospf dead-interval 29", - # "no ip ospf hello-interval 66", - # "no ip ospf mtu-ignore", - # "no ip ospf area 0.0.0.50", - # "ospfv3 cost 44", - # "ospfv3 bfd", - # "ospfv3 authentication ipsec spi 30 md5 passphrase 7 7hl8FV3lZ6H1mAKpjL47hQ==", - # "no ospfv3 ipv4 priority 45", - # "no ospfv3 ipv4 area 0.0.0.5", - # "ospfv3 ipv6 dead-interval 56", - # "no ospfv3 ipv6 passive-interface", - # "no ospfv3 ipv6 retransmit-interval 115", - # "no ospfv3 hello-interval 77", - # "no ospfv3 dead-interval 44", - # "no ospfv3 transmit-delay 100" - # ], - # - # Using overidden: - # ---------------- + # Using overidden - # Before State: + # Before state: + # ------------- # veos(config)#show running-config | section interface | ospf # interface Vlan1 # ip ospf dead-interval 29 @@ -1443,25 +1344,89 @@ Examples # ospfv3 ipv4 hello-interval 45 # ospfv3 ipv4 retransmit-interval 100 # ospfv3 ipv4 area 0.0.0.6 - # veos(config)# - - - name: Override device configuration with provided configuration - arista.eos.eos_ospf_interfaces: - config: - - name: "Vlan1" - address_family: - - afi: "ipv6" - cost: 44 - bfd: True - ip_params: - - afi: "ipv6" - mtu_ignore: True - network: "point-to-point" - dead_interval: 56 - state: overridden - - # After State: + - name: Override device configuration with provided configuration + arista.eos.eos_ospf_interfaces: + config: + - name: "Vlan1" + address_family: + - afi: "ipv6" + cost: 44 + bfd: true + ip_params: + - afi: "ipv6" + mtu_ignore: true + network: "point-to-point" + dead_interval: 56 + state: overridden + + # Task output: + # ------------ + # before: + # - address_family: + # - afi: ipv4 + # dead_interval: 29 + # hello_interval: 66 + # mtu_ignore: true + # - afi: ipv6 + # bfd: true + # cost: 106 + # hello_interval: 77 + # ip_params: + # - afi: ipv4 + # area: + # area_id: 0.0.0.5 + # priority: 45 + # - afi: ipv6 + # dead_interval: 56 + # mtu_ignore: true + # network: point-to-point + # passive_interface: true + # retransmit_interval: 115 + # transmit_delay: 100 + # name: Vlan1 + # - address_family: + # - afi: ipv6 + # ip_params: + # - afi: ipv4 + # area: + # area_id: 0.0.0.6 + # hello_interval: 45 + # retransmit_interval: 100 + # name: Vlan2 + # + # commands: + # - interface Vlan2 + # - no ospfv3 ipv4 hello-interval 45 + # - no ospfv3 ipv4 retransmit-interval 100 + # - no ospfv3 ipv4 area 0.0.0.6 + # - interface Vlan1 + # - no ip ospf dead-interval 29 + # - no ip ospf hello-interval 66 + # - no ip ospf mtu-ignore + # - ospfv3 cost 44 + # - ospfv3 authentication ipsec spi 30 md5 passphrase 7 7hl8FV3lZ6H1mAKpjL47hQ== + # - no ospfv3 ipv4 priority 45 + # - no ospfv3 ipv4 area 0.0.0.5 + # - no ospfv3 ipv6 passive-interface + # - no ospfv3 ipv6 retransmit-interval 115 + # - no ospfv3 hello-interval 77 + # - no ospfv3 transmit-delay 100 + # + # after: + # - address_family: + # - afi: ipv6 + # bfd: true + # cost: 44 + # ip_params: + # - afi: ipv6 + # dead_interval: 56 + # mtu_ignore: true + # network: point-to-point + # name: Vlan1 + + # After state: + # ------------ # veos(config)#show running-config | section interface | ospf # interface Vlan1 # ospfv3 bfd @@ -1470,133 +1435,11 @@ Examples # ospfv3 ipv6 dead-interval 56 # ospfv3 ipv6 network point-to-point # ospfv3 ipv6 mtu-ignore - # veos(config)# - # - # - # Module Execution: - # - # "after": [ - # { - # "name": "Ethernet1" - # }, - # { - # "name": "Ethernet2" - # }, - # { - # "name": "Management1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "bfd": True, - # "cost": 44, - # "ip_params": [ - # { - # "afi": "ipv6", - # "dead_interval": 56, - # "mtu_ignore": True, - # "network": "point-to-point" - # } - # ] - # } - # ], - # "name": "Vlan1" - # }, - # { - # "name": "Vlan2" - # } - # ], - # "before": [ - # { - # "name": "Ethernet1" - # }, - # { - # "name": "Ethernet2" - # }, - # { - # "name": "Management1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "dead_interval": 29, - # "hello_interval": 66, - # "mtu_ignore": True - # }, - # { - # "afi": "ipv6", - # "bfd": True, - # "cost": 106, - # "hello_interval": 77, - # "ip_params": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.5" - # }, - # "priority": 45 - # }, - # { - # "afi": "ipv6", - # "dead_interval": 56, - # "mtu_ignore": True, - # "network": "point-to-point", - # "passive_interface": True, - # "retransmit_interval": 115 - # } - # ], - # "transmit_delay": 100 - # } - # ], - # "name": "Vlan1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "ip_params": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.6" - # }, - # "hello_interval": 45, - # "retransmit_interval": 100 - # } - # ] - # } - # ], - # "name": "Vlan2" - # } - # ], - # "changed": True, - # "commands": [ - # "interface Vlan2", - # "no ospfv3 ipv4 hello-interval 45", - # "no ospfv3 ipv4 retransmit-interval 100", - # "no ospfv3 ipv4 area 0.0.0.6", - # "interface Vlan1", - # "no ip ospf dead-interval 29", - # "no ip ospf hello-interval 66", - # "no ip ospf mtu-ignore", - # "ospfv3 cost 44", - # "ospfv3 authentication ipsec spi 30 md5 passphrase 7 7hl8FV3lZ6H1mAKpjL47hQ==", - # "no ospfv3 ipv4 priority 45", - # "no ospfv3 ipv4 area 0.0.0.5", - # "no ospfv3 ipv6 passive-interface", - # "no ospfv3 ipv6 retransmit-interval 115", - # "no ospfv3 hello-interval 77", - # "no ospfv3 transmit-delay 100" - # ], - # - # Using deleted: - #-------------- - - # before State: + # Using deleted + # Before state: + # ------------- # veos(config)#show running-config | section interface | ospf # interface Vlan1 # ip ospf dead-interval 29 @@ -1618,146 +1461,88 @@ Examples # ospfv3 ipv4 hello-interval 45 # ospfv3 ipv4 retransmit-interval 100 # ospfv3 ipv4 area 0.0.0.6 - # veos(config)# - - name: Delete device configuration - arista.eos.eos_ospf_interfaces: - config: - - name: "Vlan1" - state: deleted - - # After State: + - name: Delete provided ospf interface config + arista.eos.eos_ospf_interfaces: + config: + - name: "Vlan1" + state: deleted + # Task output: + # ------------ + # before: + # - address_family: + # - afi: ipv4 + # dead_interval: 29 + # hello_interval: 66 + # mtu_ignore: true + # - afi: ipv6 + # bfd: true + # cost: 106 + # hello_interval: 77 + # ip_params: + # - afi: ipv4 + # area: + # area_id: 0.0.0.5 + # priority: 45 + # - afi: ipv6 + # dead_interval: 56 + # mtu_ignore: true + # network: point-to-point + # passive_interface: true + # retransmit_interval: 115 + # transmit_delay: 100 + # name: Vlan1 + # - address_family: + # - afi: ipv6 + # ip_params: + # - afi: ipv4 + # area: + # area_id: 0.0.0.6 + # hello_interval: 45 + # retransmit_interval: 100 + # name: Vlan2 + + # commands: + # - interface Vlan1 + # - no ip ospf dead-interval 29 + # - no ip ospf hello-interval 66 + # - no ip ospf mtu-ignore + # - no ospfv3 bfd + # - no ospfv3 cost 106 + # - no ospfv3 hello-interval 77 + # - no ospfv3 transmit-delay 100 + # - no ospfv3 ipv4 priority 45 + # - no ospfv3 ipv4 area 0.0.0.5 + # - no ospfv3 ipv6 passive-interface + # - no ospfv3 ipv6 dead-interval 56 + # - no ospfv3 ipv6 retransmit-interval 115 + # - no ospfv3 ipv6 network point-to-point + # - no ospfv3 ipv6 mtu-ignore + # + # after: + # - address_family: + # - afi: ipv6 + # ip_params: + # - afi: ipv4 + # area: + # area_id: 0.0.0.6 + # hello_interval: 45 + # retransmit_interval: 100 + # name: Vlan2 + + # After state: + # ------------ # veos#show running-config | section interface | ospf # interface Vlan2 # ospfv3 ipv4 hello-interval 45 # ospfv3 ipv4 retransmit-interval 100 # ospfv3 ipv4 area 0.0.0.6 - # - # Module Execution: - # - # "after": [ - # { - # "name": "Ethernet1" - # }, - # { - # "name": "Ethernet2" - # }, - # { - # "name": "Management1" - # }, - # { - # "name": "Vlan1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "ip_params": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.6" - # }, - # "hello_interval": 45, - # "retransmit_interval": 100 - # } - # ] - # } - # ], - # "name": "Vlan2" - # } - # ], - # "before": [ - # { - # "name": "Ethernet1" - # }, - # { - # "name": "Ethernet2" - # }, - # { - # "name": "Management1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "dead_interval": 29, - # "hello_interval": 66, - # "mtu_ignore": True - # }, - # { - # "afi": "ipv6", - # "bfd": True, - # "cost": 106, - # "hello_interval": 77, - # "ip_params": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.5" - # }, - # "priority": 45 - # }, - # { - # "afi": "ipv6", - # "dead_interval": 56, - # "mtu_ignore": True, - # "network": "point-to-point", - # "passive_interface": True, - # "retransmit_interval": 115 - # } - # ], - # "transmit_delay": 100 - # } - # ], - # "name": "Vlan1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "ip_params": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.6" - # }, - # "hello_interval": 45, - # "retransmit_interval": 100 - # } - # ] - # } - # ], - # "name": "Vlan2" - # } - # ], - # "changed": True, - # "commands": [ - # "interface Vlan1", - # "no ip ospf dead-interval 29", - # "no ip ospf hello-interval 66", - # "no ip ospf mtu-ignore", - # "no ospfv3 bfd", - # "no ospfv3 cost 106", - # "no ospfv3 hello-interval 77", - # "no ospfv3 transmit-delay 100", - # "no ospfv3 ipv4 priority 45", - # "no ospfv3 ipv4 area 0.0.0.5", - # "no ospfv3 ipv6 passive-interface", - # "no ospfv3 ipv6 dead-interval 56", - # "no ospfv3 ipv6 retransmit-interval 115", - # "no ospfv3 ipv6 network point-to-point", - # "no ospfv3 ipv6 mtu-ignore" - # ], - # - # Using parsed: - # ------------ + # Using parsed - # parsed.cfg: + # parsed.cfg # ---------- - # interface Vlan1 # ip ospf dead-interval 29 # ip ospf hello-interval 66 @@ -1781,73 +1566,50 @@ Examples # ospfv3 ipv4 area 0.0.0.6 # - - name: parse configs - arista.eos.eos_ospf_interfaces: - running_config: "{{ lookup('file', './parsed.cfg') }}" - state: parsed - - # Module Execution: - # "parsed": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "cost": 500, - # "dead_interval": 29, - # "hello_interval": 66, - # "mtu_ignore": True - # }, - # { - # "afi": "ipv6", - # "bfd": True, - # "cost": 106, - # "hello_interval": 77, - # "ip_params": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.5" - # }, - # "priority": 45 - # }, - # { - # "afi": "ipv6", - # "dead_interval": 56, - # "mtu_ignore": True, - # "network": "point-to-point", - # "passive_interface": True, - # "retransmit_interval": 115 - # } - # ], - # "transmit_delay": 100 - # } - # ], - # "name": "Vlan1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "ip_params": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.6" - # }, - # "hello_interval": 45, - # "retransmit_interval": 100 - # } - # ] - # } - # ], - # "name": "Vlan2" - # } - # ] + - name: parse provided config into structured facts + arista.eos.eos_ospf_interfaces: + running_config: "{{ lookup('file', './parsed.cfg') }}" + state: parsed - # Using gathered: + # Task output: + # ------------ + # parsed: + # - address_family: + # - afi: ipv4 + # cost: 500 + # dead_interval: 29 + # hello_interval: 66 + # mtu_ignore: true + # - afi: ipv6 + # bfd: true + # cost: 106 + # hello_interval: 77 + # ip_params: + # - afi: ipv4 + # area: + # area_id: 0.0.0.5 + # priority: 45 + # - afi: ipv6 + # dead_interval: 56 + # mtu_ignore: true + # network: point-to-point + # passive_interface: true + # retransmit_interval: 115 + # transmit_delay: 100 + # name: Vlan1 + # - address_family: + # - afi: ipv6 + # ip_params: + # - afi: ipv4 + # area: + # area_id: 0.0.0.6 + # hello_interval: 45 + # retransmit_interval: 100 + # name: Vlan2 - # Device COnfig: + # Using gathered: + # Device config: # veos#show running-config | section interface | ospf # interface Vlan1 # ip ospf cost 500 @@ -1870,150 +1632,228 @@ Examples # ospfv3 ipv4 hello-interval 45 # ospfv3 ipv4 retransmit-interval 100 # ospfv3 ipv4 area 0.0.0.6 - # veos# - - name: gather configs - arista.eos.eos_ospf_interfaces: - state: gathered + - name: gather runnig config + arista.eos.eos_ospf_interfaces: + state: gathered - # Module Execution: - # - # "gathered": [ - # { - # "name": "Ethernet1" - # }, - # { - # "name": "Ethernet2" - # }, - # { - # "name": "Management1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.50" - # }, - # "cost": 500, - # "dead_interval": 29, - # "hello_interval": 66, - # "mtu_ignore": True - # }, - # { - # "afi": "ipv6", - # "cost": 106, - # "hello_interval": 77, - # "ip_params": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.5" - # }, - # "priority": 45 - # }, - # { - # "afi": "ipv6", - # "dead_interval": 56, - # "mtu_ignore": True, - # "network": "point-to-point", - # "passive_interface": True, - # "retransmit_interval": 115 - # } - # ], - # "transmit_delay": 100 - # } - # ], - # "name": "Vlan1" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "ip_params": [ - # { - # "afi": "ipv4", - # "area": { - # "area_id": "0.0.0.6" - # }, - # "hello_interval": 45, - # "retransmit_interval": 100 - # } - # ] - # } - # ], - # "name": "Vlan2" - # } - # ], - # - - - # Using rendered: - # -------------- - - - name: Render provided configuration - arista.eos.eos_ospf_interfaces: - config: - - name: "Vlan1" - address_family: - - afi: "ipv4" - dead_interval: 29 - mtu_ignore: True - hello_interval: 66 - - afi: "ipv6" - hello_interval: 77 - cost : 106 - transmit_delay: 100 - ip_params: - - afi: "ipv6" - retransmit_interval: 115 - dead_interval: 56 - passive_interface: True - - afi: "ipv4" - area: - area_id: "0.0.0.5" - priority: 45 - - name: "Vlan2" - address_family: - - afi: "ipv6" - ip_params: - - afi: "ipv4" - area: - area_id: "0.0.0.6" - hello_interval: 45 - retransmit_interval: 100 - - afi: "ipv4" - message_digest_key: - key_id: 200 - encryption: 7 - key: "hkdfhtu==" - - state: rendered - - # Module Execution: - # - # "rendered": [ - # "interface Vlan1", - # "ip ospf dead-interval 29", - # "ip ospf mtu-ignore", - # "ip ospf hello-interval 66", - # "ospfv3 hello-interval 77", - # "ospfv3 cost 106", - # "ospfv3 transmit-delay 100", - # "ospfv3 ipv4 area 0.0.0.5", - # "ospfv3 ipv4 priority 45", - # "ospfv3 ipv6 retransmit-interval 115", - # "ospfv3 ipv6 dead-interval 56", - # "ospfv3 ipv6 passive-interface", - # "interface Vlan2", - # "ip ospf message-digest-key 200 md5 7 hkdfhtu==", - # "ospfv3 ipv4 area 0.0.0.6", - # "ospfv3 ipv4 hello-interval 45", - # "ospfv3 ipv4 retransmit-interval 100" - # ] - # + # Task output: + # ------------ + # gathered: + # - address_family: + # - afi: ipv4 + # area: + # area_id: 0.0.0.50 + # cost: 500 + # dead_interval: 29 + # hello_interval: 66 + # mtu_ignore: true + # - afi: ipv6 + # cost: 106 + # hello_interval: 77 + # ip_params: + # - afi: ipv4 + # area: + # area_id: 0.0.0.5 + # priority: 45 + # - afi: ipv6 + # dead_interval: 56 + # mtu_ignore: true + # network: point-to-point + # passive_interface: true + # retransmit_interval: 115 + # transmit_delay: 100 + # name: Vlan1 + # - address_family: + # - afi: ipv6 + # ip_params: + # - afi: ipv4 + # area: + # area_id: 0.0.0.6 + # hello_interval: 45 + # retransmit_interval: 100 + # name: Vlan2 + + # Using rendered + + - name: Render provided configuration + arista.eos.eos_ospf_interfaces: + config: + - name: "Vlan1" + address_family: + - afi: "ipv4" + dead_interval: 29 + mtu_ignore: true + hello_interval: 66 + - afi: "ipv6" + hello_interval: 77 + cost: 106 + transmit_delay: 100 + ip_params: + - afi: "ipv6" + retransmit_interval: 115 + dead_interval: 56 + passive_interface: true + - afi: "ipv4" + area: + area_id: "0.0.0.5" + priority: 45 + - name: "Vlan2" + address_family: + - afi: "ipv6" + ip_params: + - afi: "ipv4" + area: + area_id: "0.0.0.6" + hello_interval: 45 + retransmit_interval: 100 + - afi: "ipv4" + message_digest_key: + key_id: 200 + encryption: 7 + key: "hkdfhtu==" + + state: rendered + + # Task output: + # ------------ + # rendered: + # - interface Vlan1 + # - ip ospf dead-interval 29 + # - ip ospf mtu-ignore + # - ip ospf hello-interval 66 + # - ospfv3 hello-interval 77 + # - ospfv3 cost 106 + # - ospfv3 transmit-delay 100 + # - ospfv3 ipv4 area 0.0.0.5 + # - ospfv3 ipv4 priority 45 + # - ospfv3 ipv6 retransmit-interval 115 + # - ospfv3 ipv6 dead-interval 56 + # - ospfv3 ipv6 passive-interface + # - interface Vlan2 + # - ip ospf message-digest-key 200 md5 7 hkdfhtu== + # - ospfv3 ipv4 area 0.0.0.6 + # - ospfv3 ipv4 hello-interval 45 + # - ospfv3 ipv4 retransmit-interval 100 + + + +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">list</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">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 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 Vlan1', 'ip ospf dead-interval 29', 'ip ospf mtu-ignore']</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 Vlan1', 'ip ospf dead-interval 29', 'ip ospf mtu-ignore']</div> + </td> + </tr> + </table> + <br/><br/> Status diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_ospfv2_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_ospfv2_module.rst index 187a2985a..aa1a70975 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_ospfv2_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_ospfv2_module.rst @@ -1174,7 +1174,7 @@ Parameters </ul> </td> <td> - <div>If True, Disable dn-bit check for Type-3 LSAs in non-default VRFs.</div> + <div>If true, Disable dn-bit check for Type-3 LSAs in non-default VRFs.</div> </td> </tr> <tr> @@ -1270,7 +1270,7 @@ Parameters </ul> </td> <td> - <div>If True, Enable graceful restart helper.</div> + <div>If true, Enable graceful restart helper.</div> </td> </tr> <tr> @@ -1859,7 +1859,7 @@ Parameters </ul> </td> <td> - <div>If True, Set all interfaces to passive by default</div> + <div>If true, Set all interfaces to passive by default</div> </td> </tr> <tr> @@ -2708,82 +2708,168 @@ Examples # Using merged # Before state: - # ------------ + # ------------- # localhost#show running-config | section ospf # localhost# - - name: replace Ospf configs - arista.eos.eos_ospfv2: - config: - - processes: - - process_id: 1 - adjacency: - exchange_start: - threshold: 20045623 - areas: - - filter: - address: "10.1.1.0/24" - id: "0.0.0.2" - - id: "0.0.0.50" - range: - address: "172.20.0.0/16" - cost: 34 - default_information: - metric: 100 - metric_type: 1 - originate: True - distance: - intra_area: 85 - max_lsa: - count: 8000 - ignore_count: 3 - ignore_time: 6 - reset_time: 20 - threshold: 40 - networks: - - area: "0.0.0.0" - prefix: 10.10.2.0/24 - - area: "0.0.0.0" - prefix: "10.10.3.0/24" - redistribute: - - routes: "static" - router_id: "170.21.0.4" - - process_id: 2 - vrf: "vrf01" - areas: - - id: "0.0.0.9" - default_cost: 20 - max_lsa: - count: 8000 - ignore_count: 3 - ignore_time: 6 - reset_time: 20 - threshold: 40 - networks: - - area: "0.0.0.0" - prefix: 10.10.2.0/24 - - area: "0.0.0.0" - prefix: "10.10.3.0/24" - redistribute: - - routes: "static" - router_id: "170.21.0.4" - - process_id: 2 - vrf: "vrf01" - areas: - - id: "0.0.0.9" - default_cost: 20 - max_lsa: - count: 8000 - ignore_count: 3 - ignore_time: 6 - reset_time: 20 - threshold: 40 - - process_id: 3 - vrf: "vrf02" - redistribute: - - routes: "connected" + - name: Merge provided config into running config + arista.eos.eos_ospfv2: + config: + - processes: + - process_id: 1 + adjacency: + exchange_start: + threshold: 20045623 + areas: + - filter: + address: "10.1.1.0/24" + id: "0.0.0.2" + - id: "0.0.0.50" + range: + address: "172.20.0.0/16" + cost: 34 + default_information: + metric: 100 + metric_type: 1 + originate: true + distance: + intra_area: 85 + max_lsa: + count: 8000 + ignore_count: 3 + ignore_time: 6 + reset_time: 20 + threshold: 40 + networks: + - area: "0.0.0.0" + prefix: 10.10.2.0/24 + - area: "0.0.0.0" + prefix: "10.10.3.0/24" + redistribute: + - routes: "static" + router_id: "170.21.0.4" + - process_id: 2 + vrf: "vrf01" + areas: + - id: "0.0.0.9" + default_cost: 20 + max_lsa: + count: 8000 + ignore_count: 3 + ignore_time: 6 + reset_time: 20 + threshold: 40 + networks: + - area: "0.0.0.0" + prefix: 10.10.2.0/24 + - area: "0.0.0.0" + prefix: "10.10.3.0/24" + redistribute: + - routes: "static" + router_id: "170.21.0.4" + - process_id: 2 + vrf: "vrf01" + areas: + - id: "0.0.0.9" + default_cost: 20 + max_lsa: + count: 8000 + ignore_count: 3 + ignore_time: 6 + reset_time: 20 + threshold: 40 + - process_id: 3 + vrf: "vrf02" + redistribute: + - routes: "connected" + + # Task output: + # ------------ + # before: {} + + # commands + # - router ospf 1 + # - adjacency exchange-start threshold 20045623 + # - area 0.0.0.2 filter 10.1.1.0/24 + # - area 0.0.0.50 range 172.20.0.0/16 cost 34 + # - default-information originate metric 100 metric-type 1 + # - distance ospf intra-area 85 + # - max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20 + # - network 10.10.2.0/24 area 0.0.0.0 + # - network 10.10.3.0/24 area 0.0.0.0 + # - redistribute static + # - router-id 170.21.0.4 + # - exit + # - router ospf 2 vrf vrf01 + # - area 0.0.0.9 default-cost 20 + # - max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20 + # - network 10.10.2.0/24 area 0.0.0.0 + # - network 10.10.3.0/24 area 0.0.0.0 + # - redistribute static + # - router-id 170.21.0.4 + # - exit + # - router ospf 2 vrf vrf01 + # - area 0.0.0.9 default-cost 20 + # - max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20 + # - exit + # - router ospf 3 vrf vrf02 + # - redistribute connected + # - exit + # + # after: + # processes: + # - adjacency: + # exchange_start: + # threshold: 20045623 + # areas: + # - area_id: 0.0.0.2 + # filter: + # address: 10.1.1.0/24 + # - area_id: 0.0.0.50 + # range: + # address: 172.20.0.0/16 + # cost: 34 + # default_information: + # metric: 100 + # metric_type: 1 + # originate: true + # distance: + # intra_area: 85 + # max_lsa: + # count: 8000 + # ignore_count: 3 + # ignore_time: 6 + # reset_time: 20 + # threshold: 40 + # networks: + # - area: 0.0.0.0 + # prefix: 10.10.2.0/24 + # - area: 0.0.0.0 + # prefix: 10.10.3.0/24 + # process_id: 1 + # redistribute: + # - routes: static + # router_id: 170.21.0.4 + # - areas: + # - area_id: 0.0.0.9 + # default_cost: 20 + # max_lsa: + # count: 8000 + # ignore_count: 3 + # ignore_time: 6 + # reset_time: 20 + # threshold: 40 + # process_id: 2 + # vrf: vrf01 + # - max_lsa: + # count: 12000 + # process_id: 3 + # redistribute: + # - routes: connected + # vrf: vrf02 # After state: + # ------------ # localhost#show running-config | section ospf # router ospf 1 # router-id 170.21.0.4 @@ -2804,103 +2890,11 @@ Examples # router ospf 3 vrf vrf02 # redistribute connected # max-lsa 12000 - # localhost# - # - # "processes": [ - # { - # "adjacency": { - # "exchange_start": { - # "threshold": 20045623 - # } - # }, - # "areas": [ - # { - # "filter": { - # "address": "10.1.1.0/24" - # }, - # "id": "0.0.0.2" - # }, - # { - # "id": "0.0.0.50", - # "range": { - # "address": "172.20.0.0/16", - # "cost": 34 - # } - # } - # ], - # "default_information": { - # "metric": 100, - # "metric_type": 1, - # "originate": true - # }, - # "distance": { - # "intra_area": 85 - # }, - # "max_lsa": { - # "count": 8000, - # "ignore_count": 3, - # "ignore_time": 6, - # "reset_time": 20, - # "threshold": 40 - # }, - # "networks": [ - # { - # "area": "0.0.0.0", - # "prefix": "10.10.2.0/24" - # }, - # { - # "area": "0.0.0.0", - # "prefix": "10.10.3.0/24" - # } - # ], - # "process_id": 1, - # "redistribute": [ - # { - # "routes": "static" - # } - # ], - # "router_id": "170.21.0.4" - # }, - # { - # "areas": [ - # { - # "default_cost": 20, - # "id": "0.0.0.9" - # } - # ], - # "max_lsa": { - # "count": 8000, - # "ignore_count": 3, - # "ignore_time": 6, - # "reset_time": 20, - # "threshold": 40 - # }, - # "process_id": 2, - # "vrf": "vrf01" - # }, - # { - # "max_lsa": { - # "count": 12000 - # }, - # "process_id": 3, - # "redistribute": [ - # { - # "routes": "connected" - # } - # ], - # "vrf": "vrf02" - # } - # ] - # } - # ] - # - - # Using replaced: - # -------------- + # Using replaced # Before State: - + # ------------- # localhost#show running-config | section ospf # router ospf 1 # router-id 170.21.0.4 @@ -2921,210 +2915,155 @@ Examples # router ospf 3 vrf vrf02 # redistribute connected # max-lsa 12000 - # localhost# # - # "before": [ - # { - # "processes": [ - # { - # "adjacency": { - # "exchange_start": { - # "threshold": 20045623 - # } - # }, - # "areas": [ - # { - # "filter": { - # "address": "10.1.1.0/24" - # }, - # "id": "0.0.0.2" - # }, - # { - # "id": "0.0.0.50", - # "range": { - # "address": "172.20.0.0/16", - # "cost": 34 - # } - # } - # ], - # "default_information": { - # "metric": 100, - # "metric_type": 1, - # "originate": true - # }, - # "distance": { - # "intra_area": 85 - # }, - # "max_lsa": { - # "count": 8000, - # "ignore_count": 3, - # "ignore_time": 6, - # "reset_time": 20, - # "threshold": 40 - # }, - # "networks": [ - # { - # "area": "0.0.0.0", - # "prefix": "10.10.2.0/24" - # }, - # { - # "area": "0.0.0.0", - # "prefix": "10.10.3.0/24" - # } - # ], - # "process_id": 1, - # "redistribute": [ - # { - # "routes": "static" - # } - # ], - # "router_id": "170.21.0.4" - # }, - # { - # "areas": [ - # { - # "default_cost": 20, - # "id": "0.0.0.9" - # } - # ], - # "max_lsa": { - # "count": 8000, - # "ignore_count": 3, - # "ignore_time": 6, - # "reset_time": 20, - # "threshold": 40 - # }, - # "process_id": 2, - # "vrf": "vrf01" - # }, - # { - # "max_lsa": { - # "count": 12000 - # }, - # "process_id": 3, - # "redistribute": [ - # { - # "routes": "connected" - # } - # ], - # "vrf": "vrf02" - # } - # ] - # } - # ] - # - - name: replace Ospf configs - arista.eos.eos_ospfv2: - config: - - processes: - - process_id: 2 - vrf: "vrf01" - point_to_point: True - redistribute: - - routes: "isis" - isis_level: "level-1" - - state: replaced - - # After State: - # ----------- - # "router ospf 2 vrf vrf01", - # "no area 0.0.0.9 default-cost 20", - # "no max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20", - # "point-to-point routes", - # "redistribute isis level-1" + - name: replace Ospf configs + arista.eos.eos_ospfv2: + config: + - processes: + - process_id: 2 + vrf: "vrf01" + point_to_point: true + redistribute: + - routes: "isis" + isis_level: "level-1" + state: replaced + + # Task output: + # ------------ + # before: + # processes: + # - adjacency: + # exchange_start: + # threshold: 20045623 + # areas: + # - area_id: 0.0.0.2 + # filter: + # address: 10.1.1.0/24 + # - area_id: 0.0.0.50 + # range: + # address: 172.20.0.0/16 + # cost: 34 + # default_information: + # metric: 100 + # metric_type: 1 + # originate: true + # distance: + # intra_area: 85 + # max_lsa: + # count: 8000 + # ignore_count: 3 + # ignore_time: 6 + # reset_time: 20 + # threshold: 40 + # networks: + # - area: 0.0.0.0 + # prefix: 10.10.2.0/24 + # - area: 0.0.0.0 + # prefix: 10.10.3.0/24 + # process_id: 1 + # redistribute: + # - routes: static + # router_id: 170.21.0.4 + # - areas: + # - area_id: 0.0.0.9 + # default_cost: 20 + # max_lsa: + # count: 8000 + # ignore_count: 3 + # ignore_time: 6 + # reset_time: 20 + # threshold: 40 + # process_id: 2 + # vrf: vrf01 + # - max_lsa: + # count: 12000 + # process_id: 3 + # redistribute: + # - routes: connected + # vrf: vrf02 # - # "after": [ - # { - # "processes": [ - # { - # "adjacency": { - # "exchange_start": { - # "threshold": 20045623 - # } - # }, - # "areas": [ - # { - # "filter": { - # "address": "10.1.1.0/24" - # }, - # "id": "0.0.0.2" - # }, - # { - # "id": "0.0.0.50", - # "range": { - # "address": "172.20.0.0/16", - # "cost": 34 - # } - # } - # ], - # "default_information": { - # "metric": 100, - # "metric_type": 1, - # "originate": true - # }, - # "distance": { - # "intra_area": 85 - # }, - # "max_lsa": { - # "count": 8000, - # "ignore_count": 3, - # "ignore_time": 6, - # "reset_time": 20, - # "threshold": 40 - # }, - # "networks": [ - # { - # "area": "0.0.0.0", - # "prefix": "10.10.2.0/24" - # }, - # { - # "area": "0.0.0.0", - # "prefix": "10.10.3.0/24" - # } - # ], - # "process_id": 1, - # "redistribute": [ - # { - # "routes": "static" - # } - # ], - # "router_id": "170.21.0.4" - # }, - # { - # "max_lsa": { - # "count": 12000 - # }, - # "process_id": 2, - # "redistribute": [ - # { - # "isis_level": "level-1", - # "routes": "isis" - # } - # ], - # "vrf": "vrf01" - # }, - # { - # "max_lsa": { - # "count": 12000 - # }, - # "process_id": 3, - # "redistribute": [ - # { - # "routes": "connected" - # } - # ], - # "vrf": "vrf02" - # } - # ] - # } - # ] + # commands: + # - router ospf 2 vrf vrf01 + # - no area 0.0.0.9 default-cost 20 + # - no max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20 + # - point-to-point routes + # - redistribute isis level-1 # + # after: + # processes: + # - adjacency: + # exchange_start: + # threshold: 20045623 + # areas: + # - area_id: 0.0.0.2 + # filter: + # address: 10.1.1.0/24 + # - area_id: 0.0.0.50 + # range: + # address: 172.20.0.0/16 + # cost: 34 + # default_information: + # metric: 100 + # metric_type: 1 + # originate: true + # distance: + # intra_area: 85 + # max_lsa: + # count: 8000 + # ignore_count: 3 + # ignore_time: 6 + # reset_time: 20 + # threshold: 40 + # networks: + # - area: 0.0.0.0 + # prefix: 10.10.2.0/24 + # - area: 0.0.0.0 + # prefix: 10.10.3.0/24 + # process_id: 1 + # redistribute: + # - routes: static + # router_id: 170.21.0.4 + # - max_lsa: + # count: 12000 + # process_id: 2 + # redistribute: + # - isis_level: level-1 + # routes: isis + # vrf: vrf01 + # - max_lsa: + # count: 12000 + # process_id: 3 + # redistribute: + # - routes: connected + # vrf: vrf02 - # Using overridden: - # ---------------- + # After state: + # ------------ + # localhost#show running-config | section ospf + # router ospf 1 + # router-id 170.21.0.4 + # distance ospf intra-area 85 + # redistribute static + # area 0.0.0.2 filter 10.1.1.0/24 + # area 0.0.0.50 range 172.20.0.0/16 cost 34 + # network 10.10.2.0/24 area 0.0.0.0 + # network 10.10.3.0/24 area 0.0.0.0 + # max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20 + # adjacency exchange-start threshold 20045623 + # default-information originate metric 100 metric-type 1 + # ! + # router ospf 2 vrf vrf01 + # redistribute isis level-1 + # max-lsa 12000 + # ! + # router ospf 3 vrf vrf02 + # redistribute connected + # max-lsa 12000 - # Before State: + # Using overridden + + # Before state: + # ------------- # localhost#show running-config | section ospf # router ospf 1 # router-id 170.21.0.4 @@ -3145,135 +3084,98 @@ Examples # router ospf 3 vrf vrf02 # redistribute connected # max-lsa 12000 - # localhost# + + - name: override running config with provided config + arista.eos.eos_ospfv2: + config: + - processes: + - process_id: 2 + vrf: "vrf01" + redistribute: + - routes: "connected" + state: overriden + + # Task output: + # ------------ + + # before: + # processes: + # - adjacency: + # exchange_start: + # threshold: 20045623 + # areas: + # - area_id: 0.0.0.2 + # filter: + # address: 10.1.1.0/24 + # - area_id: 0.0.0.50 + # range: + # address: 172.20.0.0/16 + # cost: 34 + # default_information: + # metric: 100 + # metric_type: 1 + # originate: true + # distance: + # intra_area: 85 + # max_lsa: + # count: 8000 + # ignore_count: 3 + # ignore_time: 6 + # reset_time: 20 + # threshold: 40 + # networks: + # - area: 0.0.0.0 + # prefix: 10.10.2.0/24 + # - area: 0.0.0.0 + # prefix: 10.10.3.0/24 + # process_id: 1 + # redistribute: + # - routes: static + # router_id: 170.21.0.4 + # - max_lsa: + # count: 12000 + # process_id: 2 + # redistribute: + # - isis_level: level-1 + # routes: isis + # vrf: vrf01 + # - max_lsa: + # count: 12000 + # process_id: 3 + # redistribute: + # - routes: connected + # vrf: vrf02 # - # "before": [ - # { - # "processes": [ - # { - # "adjacency": { - # "exchange_start": { - # "threshold": 20045623 - # } - # }, - # "areas": [ - # { - # "filter": { - # "address": "10.1.1.0/24" - # }, - # "id": "0.0.0.2" - # }, - # { - # "id": "0.0.0.50", - # "range": { - # "address": "172.20.0.0/16", - # "cost": 34 - # } - # } - # ], - # "default_information": { - # "metric": 100, - # "metric_type": 1, - # "originate": true - # }, - # "distance": { - # "intra_area": 85 - # }, - # "max_lsa": { - # "count": 8000, - # "ignore_count": 3, - # "ignore_time": 6, - # "reset_time": 20, - # "threshold": 40 - # }, - # "networks": [ - # { - # "area": "0.0.0.0", - # "prefix": "10.10.2.0/24" - # }, - # { - # "area": "0.0.0.0", - # "prefix": "10.10.3.0/24" - # } - # ], - # "process_id": 1, - # "redistribute": [ - # { - # "routes": "static" - # } - # ], - # "router_id": "170.21.0.4" - # }, - # { - # "max_lsa": { - # "count": 12000 - # }, - # "process_id": 2, - # "redistribute": [ - # { - # "isis_level": "level-1", - # "routes": "isis" - # } - # ], - # "vrf": "vrf01" - # }, - # { - # "max_lsa": { - # "count": 12000 - # }, - # "process_id": 3, - # "redistribute": [ - # { - # "routes": "connected" - # } - # ], - # "vrf": "vrf02" - # } - # ] - # } - # ] - - - name: override Ospf configs - arista.eos.eos_ospfv2: - config: - - processes: - - process_id: 2 - vrf: "vrf01" - redistribute: - - routes: "connected" - - state: override - - # After State: - - # "no router ospf 1", - # "no router ospf 3", - # "router ospf 2 vrf vrf01", - # "no max-lsa 12000", - # "no redistribute isis level-1", - # "redistribute connected" + # commands: + # - no router ospf 1 + # - no router ospf 3 + # - router ospf 2 vrf vrf01 + # - no max-lsa 12000 + # - no redistribute isis level-1 + # - redistribute connected # - # "after": [ - # { - # "processes": [ - # { - # "max_lsa": { - # "count": 12000 - # }, - # "process_id": 2, - # "redistribute": [ - # { - # "routes": "connected" - # } - # ], - # "vrf": "vrf01" - # } - # ] - # } - # ] - - # Using Deleted: + # after: + # processes: + # - max_lsa: + # count: 12000 + # process_id: 2 + # redistribute: + # - isis_level: level-1 + # routes: isis + # vrf: vrf01 + + # After state: + # ------------ + # localhost#show running-config | section ospf + # router ospf 2 vrf vrf01 + # redistribute isis level-1 + # max-lsa 12000 + # ! + + # Using deleted + # Before state: + # ------------- # localhost#show running-config | section ospf # router ospf 1 # router-id 170.21.0.4 @@ -3295,157 +3197,97 @@ Examples # router ospf 3 vrf vrf02 # redistribute connected # max-lsa 12000 - # localhost# # - # "before": [ - # { - # "processes": [ - # { - # "adjacency": { - # "exchange_start": { - # "threshold": 20045623 - # } - # }, - # "areas": [ - # { - # "filter": { - # "address": "10.1.1.0/24" - # }, - # "id": "0.0.0.2" - # }, - # { - # "id": "0.0.0.50", - # "range": { - # "address": "172.20.0.0/16", - # "cost": 34 - # } - # } - # ], - # "default_information": { - # "metric": 100, - # "metric_type": 1, - # "originate": true - # }, - # "distance": { - # "intra_area": 85 - # }, - # "max_lsa": { - # "count": 8000, - # "ignore_count": 3, - # "ignore_time": 6, - # "reset_time": 20, - # "threshold": 40 - # }, - # "networks": [ - # { - # "area": "0.0.0.0", - # "prefix": "10.10.2.0/24" - # }, - # { - # "area": "0.0.0.0", - # "prefix": "10.10.3.0/24" - # } - # ], - # "process_id": 1, - # "redistribute": [ - # { - # "routes": "static" - # } - # ], - # "router_id": "170.21.0.4" - # }, - # { - # "areas": [ - # { - # "default_cost": 20, - # "id": "0.0.0.9" - # } - # ], - # "max_lsa": { - # "count": 8000, - # "ignore_count": 3, - # "ignore_time": 6, - # "reset_time": 20, - # "threshold": 40 - # }, - # "process_id": 2, - # "redistribute": [ - # { - # "routes": "connected" - # } - # ], - # "vrf": "vrf01" - # }, - # { - # "max_lsa": { - # "count": 12000 - # }, - # "process_id": 3, - # "redistribute": [ - # { - # "routes": "connected" - # } - # ], - # "vrf": "vrf02" - # } - # ] - # } - # ] - - - name: Delete Ospf configs - arista.eos.eos_ospfv2: - config: - - processes: - - process_id: 1 - - state: deleted - - # After State: - # Commands: - # "no router ospf 1" - - # "after": [ - # { - # "processes": [ - # { - # "areas": [ - # { - # "default_cost": 20, - # "id": "0.0.0.9" - # } - # ], - # "max_lsa": { - # "count": 8000, - # "ignore_count": 3, - # "ignore_time": 6, - # "reset_time": 20, - # "threshold": 40 - # }, - # "process_id": 2, - # "redistribute": [ - # { - # "routes": "connected" - # } - # ], - # "vrf": "vrf01" - # }, - # { - # "max_lsa": { - # "count": 12000 - # }, - # "process_id": 3, - # "redistribute": [ - # { - # "routes": "connected" - # } - # ], - # "vrf": "vrf02" - # } - # ] - # } - # ] - - # Using gathered: + - name: Delete OSPF config + arista.eos.eos_ospfv2: + config: + processes: + - process_id: 1 + state: deleted + + # Task output: + # ------------ + # before: + # processes: + # - adjacency: + # exchange_start: + # threshold: 20045623 + # areas: + # - area_id: 0.0.0.2 + # filter: + # address: 10.1.1.0/24 + # - area_id: 0.0.0.50 + # range: + # address: 172.20.0.0/16 + # cost: 34 + # default_information: + # metric: 100 + # metric_type: 1 + # originate: true + # distance: + # intra_area: 85 + # max_lsa: + # count: 8000 + # ignore_count: 3 + # ignore_time: 6 + # reset_time: 20 + # threshold: 40 + # networks: + # - area: 0.0.0.0 + # prefix: 10.10.2.0/24 + # - area: 0.0.0.0 + # prefix: 10.10.3.0/24 + # process_id: 1 + # redistribute: + # - routes: static + # router_id: 170.21.0.4 + # - areas: + # - area_id: 0.0.0.9 + # default_cost: 20 + # max_lsa: + # count: 8000 + # ignore_count: 3 + # ignore_time: 6 + # reset_time: 20 + # threshold: 40 + # process_id: 2 + # redistribute: + # - routes: connected + # vrf: vrf01 + # - max_lsa: + # count: 12000 + # process_id: 3 + # redistribute: + # - routes: connected + # vrf: vrf02 + # + # commands: + # - no router ospf 1 + # + # after: + # processes: + # - areas: + # - area_id: 0.0.0.9 + # default_cost: 20 + # max_lsa: + # count: 8000 + # ignore_count: 3 + # ignore_time: 6 + # reset_time: 20 + # threshold: 40 + # process_id: 2 + # redistribute: + # - routes: connected + # vrf: vrf01 + # - max_lsa: + # count: 12000 + # process_id: 3 + # redistribute: + # - routes: connected + # vrf: vrf02 + + # After state: + # ------------ # localhost#show running-config | section ospf # router ospf 2 vrf vrf01 # redistribute connected @@ -3455,54 +3297,47 @@ Examples # router ospf 3 vrf vrf02 # redistribute connected # max-lsa 12000 - # localhost# - - name: replace Ospf configs - arista.eos.eos_ospfv2: - state: gathered - - # "gathered": [ - # { - # "processes": [ - # { - # "areas": [ - # { - # "default_cost": 20, - # "id": "0.0.0.9" - # } - # ], - # "max_lsa": { - # "count": 8000, - # "ignore_count": 3, - # "ignore_time": 6, - # "reset_time": 20, - # "threshold": 40 - # }, - # "process_id": 2, - # "redistribute": [ - # { - # "routes": "connected" - # } - # ], - # "vrf": "vrf01" - # }, - # { - # "max_lsa": { - # "count": 12000 - # }, - # "process_id": 3, - # "redistribute": [ - # { - # "routes": "connected" - # } - # ], - # "vrf": "vrf02" - # } - # ] - # } - # ] - - # Using parsed: + # Using gathered + # localhost#show running-config | section ospf + # router ospf 2 vrf vrf01 + # redistribute connected + # area 0.0.0.9 default-cost 20 + # max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20 + # ! + # router ospf 3 vrf vrf02 + # redistribute connected + # max-lsa 12000 + + - name: replace Ospf configs + arista.eos.eos_ospfv2: + state: gathered + + # Task output: + # ------------ + # gathered: + # processes: + # - areas: + # - area_id: 0.0.0.9 + # default_cost: 20 + # max_lsa: + # count: 8000 + # ignore_count: 3 + # ignore_time: 6 + # reset_time: 20 + # threshold: 40 + # process_id: 2 + # redistribute: + # - routes: connected + # vrf: vrf01 + # - max_lsa: + # count: 12000 + # process_id: 3 + # redistribute: + # - routes: connected + # vrf: vrf02 + + # Using parsed # ------------ # parsed.cfg @@ -3523,153 +3358,165 @@ Examples # router ospf 3 vrf vrf02 # redistribute static - - name: Parse Ospf configs - arista.eos.eos_ospfv2: - running_config: "{{ lookup('file', './parsed.cfg') }}" - state: parsed - - # "parsed": [ - # { - # "processes": [ - # { - # "adjacency": { - # "exchange_start": { - # "threshold": 20045623 - # } - # }, - # "areas": [ - # { - # "filter": { - # "address": "10.1.1.0/24" - # }, - # "id": "0.0.0.2" - # }, - # { - # "id": "0.0.0.50", - # "range": { - # "address": "172.20.0.0/16", - # "cost": 34 - # } - # } - # ], - # "default_information": { - # "metric": 100, - # "metric_type": 1, - # "originate": true - # }, - # "distance": { - # "intra_area": 85 - # }, - # "max_lsa": { - # "count": 80000, - # "ignore_count": 3, - # "ignore_time": 6, - # "reset_time": 20, - # "threshold": 40 - # }, - # "networks": [ - # { - # "area": "0.0.0.0", - # "prefix": "10.10.2.0/24" - # }, - # { - # "area": "0.0.0.0", - # "prefix": "10.10.3.0/24" - # } - # ], - # "process_id": 1, - # "redistribute": [ - # { - # "routes": "static" - # } - # ], - # "router_id": "170.21.0.4" - # }, - # { - # "areas": [ - # { - # "default_cost": 20, - # "id": "0.0.0.9" - # } - # ], - # "max_lsa": { - # "count": 80000, - # "ignore_count": 3, - # "ignore_time": 6, - # "reset_time": 20, - # "threshold": 40 - # }, - # "process_id": 2, - # "vrf": "vrf01," - # }, - # { - # "process_id": 3, - # "redistribute": [ - # { - # "routes": "static" - # } - # ], - # "vrf": "vrf02" - # } - # ] - # } - # ] - - # Using rendered: - # -------------- - - - name: replace Ospf configs - arista.eos.eos_ospfv2: - config: - - processes: - - process_id: 1 - adjacency: - exchange_start: - threshold: 20045623 - areas: - - filter: - address: 10.1.1.0/24 - id: 0.0.0.2 - - id: 0.0.0.50 - range: - address: 172.20.0.0/16 - cost: 34 - default_information: - metric: 100 - metric_type: 1 - originate: true - distance: - intra_area: 85 - max_lsa: - count: 8000 - ignore_count: 3 - ignore_time: 6 - reset_time: 20 - threshold: 40 - networks: - - area: 0.0.0.0 - prefix: 10.10.2.0/24 - - area: 0.0.0.0 - prefix: 10.10.3.0/24 - redistribute: - - routes: static - router_id: 170.21.0.4 - state: rendered - - # "rendered": [ - # "router ospf 1", - # "adjacency exchange-start threshold 20045623", - # "area 0.0.0.2 filter 10.1.1.0/24", - # "area 0.0.0.50 range 172.20.0.0/16 cost 34", - # "default-information originate metric 100 metric-type 1", - # "distance ospf intra-area 85", - # "max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20", - # "network 10.10.2.0/24 area 0.0.0.0", - # "network 10.10.3.0/24 area 0.0.0.0", - # "redistribute static", - # "router-id 170.21.0.4" - # ] - # + - name: Parse running config and display structured facts + arista.eos.eos_ospfv2: + running_config: "{{ lookup('file', './parsed.cfg') }}" + state: parsed + + # Task output: + # ------------ + # parsed: + # processes: + # - adjacency: + # exchange_start: + # threshold: 20045623 + # areas: + # - area_id: 0.0.0.2 + # filter: + # address: 10.1.1.0/24 + # - area_id: 0.0.0.50 + # range: + # address: 172.20.0.0/16 + # cost: 34 + # default_information: + # metric: 100 + # metric_type: 1 + # originate: true + # distance: + # intra_area: 85 + # max_lsa: + # count: 80000 + # ignore_count: 3 + # ignore_time: 6 + # reset_time: 20 + # threshold: 40 + # networks: + # - area: 0.0.0.0 + # prefix: 10.10.2.0/24 + # - area: 0.0.0.0 + # prefix: 10.10.3.0/24 + # process_id: 1 + # redistribute: + # - routes: static + # router_id: 170.21.0.4 + # - areas: + # - area_id: 0.0.0.9 + # default_cost: 20 + # max_lsa: + # count: 80000 + # ignore_count: 3 + # ignore_time: 6 + # reset_time: 20 + # threshold: 40 + # process_id: 2 + # vrf: vrf01, + # - process_id: 3 + # redistribute: + # - routes: static + # vrf: vrf02 + + # Using rendered + + - name: replace Ospf configs + arista.eos.eos_ospfv2: + config: + processes: + - process_id: 1 + adjacency: + exchange_start: + threshold: 20045623 + areas: + - filter: + address: "10.1.1.0/24" + area_id: "0.0.0.2" + - area_id: "0.0.0.50" + range: + address: "172.20.0.0/16" + cost: 34 + default_information: + metric: 100 + metric_type: 1 + originate: true + distance: + intra_area: 85 + max_lsa: + count: 8000 + ignore_count: 3 + ignore_time: 6 + reset_time: 20 + threshold: 40 + networks: + - area: "0.0.0.0" + prefix: 10.10.2.0/24 + - area: "0.0.0.0" + prefix: "10.10.3.0/24" + redistribute: + - routes: "static" + router_id: "170.21.0.4" + - process_id: 2 + vrf: "vrf01" + areas: + - area_id: "0.0.0.9" + default_cost: 20 + max_lsa: + count: 8000 + ignore_count: 3 + ignore_time: 6 + reset_time: 20 + threshold: 40 + networks: + - area: "0.0.0.0" + prefix: 10.10.2.0/24 + - area: "0.0.0.0" + prefix: "10.10.3.0/24" + redistribute: + - routes: "static" + router_id: "170.21.0.4" + - process_id: 2 + vrf: "vrf01" + areas: + - area_id: "0.0.0.9" + default_cost: 20 + max_lsa: + count: 8000 + ignore_count: 3 + ignore_time: 6 + reset_time: 20 + threshold: 40 + - process_id: 3 + vrf: "vrf02" + redistribute: + - routes: "connected" + state: rendered + + # rendered: + # - router ospf 1 + # - adjacency exchange-start threshold 20045623 + # - area 0.0.0.2 filter 10.1.1.0/24 + # - area 0.0.0.50 range 172.20.0.0/16 cost 34 + # - default-information originate metric 100 metric-type 1 + # - distance ospf intra-area 85 + # - max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20 + # - network 10.10.2.0/24 area 0.0.0.0 + # - network 10.10.3.0/24 area 0.0.0.0 + # - redistribute static + # - router-id 170.21.0.4 + # - exit + # - router ospf 2 vrf vrf01 + # - area 0.0.0.9 default-cost 20 + # - max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20 + # - network 10.10.2.0/24 area 0.0.0.0 + # - network 10.10.3.0/24 area 0.0.0.0 + # - redistribute static + # - router-id 170.21.0.4 + # - exit + # - router ospf 2 vrf vrf01 + # - area 0.0.0.9 default-cost 20 + # - max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20 + # - exit + # - router ospf 3 vrf vrf02 + # - redistribute connected + # - exit @@ -3691,16 +3538,15 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <b>after</b> <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> <div style="font-size: small"> - <span style="color: purple">list</span> + <span style="color: purple">dictionary</span> </div> </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> @@ -3709,16 +3555,15 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <b>before</b> <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> <div style="font-size: small"> - <span style="color: purple">list</span> + <span style="color: purple">dictionary</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> @@ -3730,12 +3575,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;">['router ospf 1', 'adjacency exchange-start threshold 20045623', 'area 0.0.0.2 filter 10.1.1.0/24', 'area 0.0.0.50 range 172.20.0.0/16 cost 34', 'default-information originate metric 100 metric-type 1', 'distance ospf intra-area 85', 'max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20', 'network 10.10.2.0/24 area 0.0.0.0', 'network 10.10.3.0/24 area 0.0.0.0', 'redistribute static', 'router-id 170.21.0.4']</div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['router ospf 1', 'adjacency exchange-start threshold 20045623', 'area 0.0.0.2 filter 10.1.1.0/24']</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 1', 'adjacency exchange-start threshold 20045623', 'area 0.0.0.2 filter 10.1.1.0/24']</div> </td> </tr> </table> diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_ospfv3_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_ospfv3_module.rst index 76f0a7267..8cb04a354 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_ospfv3_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_ospfv3_module.rst @@ -266,7 +266,7 @@ Parameters </ul> </td> <td> - <div>If False, key string is not encrypted</div> + <div>If false, key string is not encrypted</div> </td> </tr> <tr> @@ -290,7 +290,7 @@ Parameters </ul> </td> <td> - <div>If True, Specifies that a HIDDEN key will follow.</div> + <div>If true, Specifies that a HIDDEN key will follow.</div> </td> </tr> <tr> @@ -437,7 +437,7 @@ Parameters </ul> </td> <td> - <div>If False, key string is not encrypted</div> + <div>If false, key string is not encrypted</div> </td> </tr> <tr> @@ -488,7 +488,7 @@ Parameters </ul> </td> <td> - <div>If True, Specifies that a HIDDEN key will follow.</div> + <div>If true, Specifies that a HIDDEN key will follow.</div> </td> </tr> <tr> @@ -680,7 +680,7 @@ Parameters </ul> </td> <td> - <div>True if only default information orignate is set</div> + <div>true if only default information orignate is set</div> </td> </tr> @@ -753,7 +753,7 @@ Parameters </ul> </td> <td> - <div>True if only nssa is set</div> + <div>true if only nssa is set</div> </td> </tr> <tr> @@ -946,7 +946,7 @@ Parameters </ul> </td> <td> - <div>True if only stub is set</div> + <div>true if only stub is set</div> </td> </tr> <tr> @@ -970,7 +970,7 @@ Parameters </ul> </td> <td> - <div>If False , Filter all type-3 LSAs in the stub area.</div> + <div>If false , Filter all type-3 LSAs in the stub area.</div> </td> </tr> @@ -1315,7 +1315,7 @@ Parameters </ul> </td> <td> - <div>If True, Enable graceful restart helper.</div> + <div>If true, Enable graceful restart helper.</div> </td> </tr> <tr> @@ -2337,7 +2337,7 @@ Parameters </ul> </td> <td> - <div>If False, key string is not encrypted</div> + <div>If false, key string is not encrypted</div> </td> </tr> <tr> @@ -2360,7 +2360,7 @@ Parameters </ul> </td> <td> - <div>If True, Specifies that a HIDDEN key will follow.</div> + <div>If true, Specifies that a HIDDEN key will follow.</div> </td> </tr> <tr> @@ -2500,7 +2500,7 @@ Parameters </ul> </td> <td> - <div>If False, key string is not encrypted</div> + <div>If false, key string is not encrypted</div> </td> </tr> <tr> @@ -2549,7 +2549,7 @@ Parameters </ul> </td> <td> - <div>If True, Specifies that a HIDDEN key will follow.</div> + <div>If true, Specifies that a HIDDEN key will follow.</div> </td> </tr> <tr> @@ -2732,7 +2732,7 @@ Parameters </ul> </td> <td> - <div>True if only default information orignate is set</div> + <div>true if only default information orignate is set</div> </td> </tr> @@ -2802,7 +2802,7 @@ Parameters </ul> </td> <td> - <div>True if only nssa is set</div> + <div>true if only nssa is set</div> </td> </tr> <tr> @@ -2867,7 +2867,7 @@ Parameters </ul> </td> <td> - <div>True if only stub is set.</div> + <div>true if only stub is set.</div> </td> </tr> <tr> @@ -2890,7 +2890,7 @@ Parameters </ul> </td> <td> - <div>If False , Filter all type-3 LSAs in the stub area.</div> + <div>If false , Filter all type-3 LSAs in the stub area.</div> </td> </tr> @@ -3068,7 +3068,7 @@ Parameters </ul> </td> <td> - <div>If True, Enable graceful restart helper.</div> + <div>If true, Enable graceful restart helper.</div> </td> </tr> <tr> @@ -3898,30 +3898,59 @@ Examples # Using merged - # Before state - + # Before state: + # ------------- # veos#show running-config | section ospfv3 # veos# - - - arista.eos.eos_ospfv3: - config: - processes: - - address_family: - - timers: - lsa: 22 - graceful_restart: - grace_period: 35 - afi: "ipv6" - timers: - pacing: 55 - fips_restrictions: True - router_id: "2.2.2.2" - vrf: "vrfmerge" - - - # After state - + - name: Merge the provided configuration with the existing running configuration + arista.eos.eos_ospfv3: + config: + processes: + - address_family: + - timers: + lsa: 22 + graceful_restart: + grace_period: 35 + afi: "ipv6" + timers: + pacing: 55 + fips_restrictions: true + router_id: "2.2.2.2" + vrf: "vrfmerge" + state: merged + + + # Task output: + # ------------ + # before: {} + # + # commands: + # - router ospfv3 vrf vrfmerge + # - address-family ipv6 + # - graceful-restart grace-period 35 + # - timers lsa arrival 22 + # - exit + # - timers pacing flood 55 + # - fips restrictions + # - router-id 2.2.2.2 + # - exit + # + # after: + # processes: + # - address_family: + # - afi: ipv6 + # fips_restrictions: true + # graceful_restart: + # grace_period: 35 + # fips_restrictions: true + # router_id: 2.2.2.2 + # timers: + # pacing: 55 + # vrf: vrfmerge + + # After state: + # ------------ # veos#show running-config | section ospfv3 # router ospfv3 vrf vrfmerge # router-id 2.2.2.2 @@ -3933,52 +3962,11 @@ Examples # fips restrictions # timers lsa arrival 22 # graceful-restart grace-period 35 - # veos# - - # Module Execution - # "after": { - # "processes": [ - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "fips_restrictions": true, - # "graceful_restart": { - # "grace_period": 35 - # }, - # "timers": { - # "lsa": 22 - # } - # } - # ], - # "fips_restrictions": true, - # "router_id": "2.2.2.2", - # "timers": { - # "pacing": 55 - # }, - # "vrf": "vrfmerge" - # } - # ] - # }, - # "before": {}, - # "changed": true, - # "commands": [ - # "router ospfv3 vrf vrfmerge", - # "address-family ipv6", - # "graceful-restart grace-period 35", - # "timers lsa arrival 22", - # "exit", - # "timers pacing flood 55", - # "fips restrictions", - # "router-id 2.2.2.2", - # "exit" - # ], - # using replaced - # before state - + # Before state: + # ------------- # veos#show running-config | section ospfv3 # router ospfv3 # fips restrictions @@ -3993,27 +3981,89 @@ Examples # fips restrictions # timers lsa arrival 22 # graceful-restart grace-period 35 - # veos# - - - - arista.eos.eos_ospfv3: - config: - processes: - - areas: - - area_id: "0.0.0.0" - encryption: - spi: 43 - encryption: "null" - algorithm: "md5" - encrypt_key: False - passphrase: "7hl8FV3lZ6H1mAKpjL47hQ==" - vrf: "default" - address_family: - - afi: "ipv4" - router_id: "7.1.1.1" - state: replaced - # After state + - name: Replace a section of running config with provided config + arista.eos.eos_ospfv3: + config: + processes: + - areas: + - area_id: "0.0.0.0" + encryption: + spi: 43 + encryption: "null" + algorithm: "md5" + encrypt_key: false + passphrase: "7hl8FV3lZ6H1mAKpjL47hQ==" + vrf: "default" + address_family: + - afi: "ipv4" + router_id: "7.1.1.1" + state: replaced + + # Task output: + # ------------ + # before: + # processes: + # - areas: + # - area_id: 0.0.0.0 + # encryption: + # algorithm: md5 + # encryption: 'null' + # hidden_key: true + # passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # spi: 43 + # fips_restrictions: true + # vrf: default + # - address_family: + # - afi: ipv6 + # fips_restrictions: true + # graceful_restart: + # grace_period: 35 + # fips_restrictions: true + # router_id: 2.2.2.2 + # timers: + # pacing: 55 + # vrf: vrfmerge + # + # commands: + # - router ospfv3 vrf vrfmerge + # - address-family ipv6 + # - no fips restrictions + # - no graceful-restart + # - no timers lsa arrival 22 + # - area 0.0.0.3 range 10.1.2.2/24 advertise + # - area 0.0.0.3 range 60.1.1.1 255.255.0.0 cost 30 + # - exit + # - passive-interface default + # - no router-id + # - no fips restrictions + # - no timers pacing flood 55 + # - exit + # + # after: + # processes: + # - areas: + # - area_id: 0.0.0.0 + # encryption: + # algorithm: md5 + # encryption: 'null' + # hidden_key: true + # passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # spi: 43 + # vrf: default + # - address_family: + # - afi: ipv6 + # areas: + # - area_id: 0.0.0.3 + # ranges: + # - address: 10.1.2.0/24 + # - address: 60.1.0.0/16 + # cost: 30 + # passive_interface: true + # vrf: vrfmerge + + # After state: + # ------------ # veos#show running-config | section ospfv3 # router ospfv3 # area 0.0.0.0 encryption ipsec spi 43 esp null md5 passphrase 7 h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4= @@ -4024,112 +4074,11 @@ Examples # address-family ipv6 # area 0.0.0.3 range 10.1.2.0/24 # area 0.0.0.3 range 60.1.0.0/16 cost 30 - # veos# - - # Module execution - - # "after": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "0.0.0.0", - # "encryption": { - # "algorithm": "md5", - # "encryption": "null", - # "hidden_key": true, - # "passphrase": "h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4=" - # } - # } - # ], - # "vrf": "default" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "areas": [ - # { - # "area_id": "0.0.0.3", - # "ranges": [ - # { - # "address": "10.1.2.0/24" - # }, - # { - # "address": "60.1.0.0/16", - # "cost": 30 - # } - # ] - # } - # ] - # } - # ], - # "passive_interface": true, - # "vrf": "vrfmerge" - # } - # ] - # }, - # "before": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "0.0.0.0", - # "encryption": { - # "algorithm": "md5", - # "encryption": "null", - # "hidden_key": true, - # "passphrase": "h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4=" - # } - # } - # ], - # "fips_restrictions": true, - # "vrf": "default" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "fips_restrictions": true, - # "graceful_restart": { - # "grace_period": 35 - # }, - # "timers": { - # "lsa": 22 - # } - # } - # ], - # "fips_restrictions": true, - # "router_id": "2.2.2.2", - # "timers": { - # "pacing": 55 - # }, - # "vrf": "vrfmerge" - # } - # ] - # }, - # "changed": true, - # "commands": [ - # "router ospfv3 vrf vrfmerge", - # "address-family ipv6", - # "no fips restrictions", - # "no graceful-restart", - # "no timers lsa arrival 22", - # "area 0.0.0.3 range 10.1.2.2/24 advertise", - # "area 0.0.0.3 range 60.1.1.1 255.255.0.0 cost 30", - # "exit", - # "passive-interface default", - # "no router-id", - # "no fips restrictions", - # "no timers pacing flood 55", - # "exit" - # ], - # using overridden - # before state - + # Before state: + # ------------- # veos#show running-config | section ospfv3 # router ospfv3 # area 0.0.0.0 encryption ipsec spi 43 esp null md5 passphrase 7 h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4= @@ -4140,28 +4089,75 @@ Examples # address-family ipv6 # area 0.0.0.3 range 10.1.2.0/24 # area 0.0.0.3 range 60.1.0.0/16 cost 30 - # veos# - - - - arista.eos.eos_ospfv3: - config: - processes: - - address_family: - - areas: - - area_id: "0.0.0.3" - ranges: - - address: 10.1.2.2/24 - advertise: True - - address: 60.1.1.1 - subnet_mask: 255.255.0.0 - cost: 30 - afi: "ipv6" - passive_interface: True - vrf: "vrfmerge" - state: overridden - - # After state + - name: Override running config with provided config + arista.eos.eos_ospfv3: + config: + processes: + - address_family: + - areas: + - area_id: "0.0.0.3" + ranges: + - address: 10.1.2.2/24 + advertise: true + - address: 60.1.1.1 + subnet_mask: 255.255.0.0 + cost: 30 + afi: "ipv6" + passive_interface: true + vrf: "vrfmerge" + state: overridden + + # Task output: + # ------------ + # before: + # processes: + # - areas: + # - area_id: 0.0.0.0 + # encryption: + # algorithm: md5 + # encryption: 'null' + # hidden_key: true + # passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # spi: 43 + # vrf: default + # - address_family: + # - afi: ipv6 + # areas: + # - area_id: 0.0.0.3 + # ranges: + # - address: 10.1.2.0/24 + # - address: 60.1.0.0/16 + # cost: 30 + # passive_interface: true + # vrf: vrfmerge + # + # commands: + # - no router ospfv3 + # - router ospfv3 vrf vrfmerge + # - address-family ipv6 + # - no area 0.0.0.3 range 10.1.2.0/24 + # - no area 0.0.0.3 range 60.1.0.0/16 cost 30 + # - area 0.0.0.3 range 10.1.2.2/24 advertise + # - area 0.0.0.3 range 60.1.1.1 255.255.0.0 cost 30 + # - exit + # - exit + # + # after: + # processes: + # - address_family: + # - afi: ipv6 + # areas: + # - area_id: 0.0.0.3 + # ranges: + # - address: 10.1.2.0/24 + # - address: 60.1.0.0/16 + # cost: 30 + # passive_interface: true + # vrf: vrfmerge + + # After state: + # ------------ # veos#show running-config | section ospfv3 # router ospfv3 vrf vrfmerge # passive-interface default @@ -4169,97 +4165,11 @@ Examples # address-family ipv6 # area 0.0.0.3 range 10.1.2.0/24 # area 0.0.0.3 range 60.1.0.0/16 cost 30 - # veos# - - - - # Module execution - - # "after": { - # "processes": [ - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "areas": [ - # { - # "area_id": "0.0.0.3", - # "ranges": [ - # { - # "address": "10.1.2.0/24" - # }, - # { - # "address": "60.1.0.0/16", - # "cost": 30 - # } - # ] - # } - # ] - # } - # ], - # "passive_interface": true, - # "vrf": "vrfmerge" - # } - # ] - # }, - # "before": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "0.0.0.0", - # "encryption": { - # "algorithm": "md5", - # "encryption": "null", - # "hidden_key": true, - # "passphrase": "h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4=" - # } - # } - # ], - # "vrf": "default" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "areas": [ - # { - # "area_id": "0.0.0.3", - # "ranges": [ - # { - # "address": "10.1.2.0/24" - # }, - # { - # "address": "60.1.0.0/16", - # "cost": 30 - # } - # ] - # } - # ] - # } - # ], - # "passive_interface": true, - # "vrf": "vrfmerge" - # } - # ] - # }, - # "changed": true, - # "commands": [ - # "no router ospfv3", - # "router ospfv3 vrf vrfmerge", - # "address-family ipv6", - # "no area 0.0.0.3 range 10.1.2.0/24", - # "no area 0.0.0.3 range 60.1.0.0/16 cost 30", - # "area 0.0.0.3 range 10.1.2.2/24 advertise", - # "area 0.0.0.3 range 60.1.1.1 255.255.0.0 cost 30", - # "exit", - # "exit" - # ], # using deleted - # Before state - + # Before state: + # ------------- # veos#show running-config | section ospfv3 # router ospfv3 # area 0.0.0.0 encryption ipsec spi 43 esp null md5 passphrase 7 h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4= @@ -4276,17 +4186,56 @@ Examples # address-family ipv6 # area 0.0.0.3 range 10.1.2.0/24 # area 0.0.0.3 range 60.1.0.0/16 cost 30 - # veos# - - - - arista.eos.eos_ospfv3: - config: - processes: - - vrf: "default" - state: deleted - - # After state + - name: Delete OSPFv3 config + arista.eos.eos_ospfv3: + config: + state: deleted + + # Task output: + # ------------ + + # before: + # processes: + # - areas: + # - area_id: 0.0.0.0 + # encryption: + # algorithm: md5 + # encryption: 'null' + # hidden_key: true + # passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # spi: 43 + # vrf: default + # - address_family: + # - afi: ipv4 + # areas: + # - area_id: 0.0.0.3 + # ranges: + # - address: 10.1.2.0/24 + # - address: 60.1.0.0/16 + # cost: 30 + # redistribute: + # - routes: connected + # - route_map: MAP01 + # routes: static + # - afi: ipv6 + # areas: + # - area_id: 0.0.0.3 + # ranges: + # - address: 10.1.2.0/24 + # - address: 60.1.0.0/16 + # cost: 30 + # passive_interface: true + # vrf: vrfmerge + # + # commands: + # + # - no router ospfv3 + # + # after: {} + + # After state: + # ------------ # veos#show running-config | section ospfv3 # router ospfv3 vrf vrfmerge # passive-interface default @@ -4300,139 +4249,10 @@ Examples # address-family ipv6 # area 0.0.0.3 range 10.1.2.0/24 # area 0.0.0.3 range 60.1.0.0/16 cost 30 - # veos# - - - # Module execution - # "after": { - # "processes": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "areas": [ - # { - # "area_id": "0.0.0.3", - # "ranges": [ - # { - # "address": "10.1.2.0/24" - # }, - # { - # "address": "60.1.0.0/16", - # "cost": 30 - # } - # ] - # } - # ], - # "redistribute": [ - # { - # "routes": "connected" - # }, - # { - # "route_map": "MAP01", - # "routes": "static" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "areas": [ - # { - # "area_id": "0.0.0.3", - # "ranges": [ - # { - # "address": "10.1.2.0/24" - # }, - # { - # "address": "60.1.0.0/16", - # "cost": 30 - # } - # ] - # } - # ] - # } - # ], - # "passive_interface": true, - # "vrf": "vrfmerge" - # } - # ] - # }, - # "before": { - # "processes": [ - # { - # "areas": [ - # { - # "area_id": "0.0.0.0", - # "encryption": { - # "algorithm": "md5", - # "encryption": "null", - # "hidden_key": true, - # "passphrase": "h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4=" - # } - # } - # ], - # "vrf": "default" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "areas": [ - # { - # "area_id": "0.0.0.3", - # "ranges": [ - # { - # "address": "10.1.2.0/24" - # }, - # { - # "address": "60.1.0.0/16", - # "cost": 30 - # } - # ] - # } - # ], - # "redistribute": [ - # { - # "routes": "connected" - # }, - # { - # "route_map": "MAP01", - # "routes": "static" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "areas": [ - # { - # "area_id": "0.0.0.3", - # "ranges": [ - # { - # "address": "10.1.2.0/24" - # }, - # { - # "address": "60.1.0.0/16", - # "cost": 30 - # } - # ] - # } - # ] - # } - # ], - # "passive_interface": true, - # "vrf": "vrfmerge" - # } - # ] - # }, - # "changed": true, - # "commands": [ - # "no router ospfv3" - # ], # using parsed # parsed_ospfv3.cfg - # router ospfv3 # fips restrictions # area 0.0.0.20 stub @@ -4479,159 +4299,101 @@ Examples # timers spf delay initial 56 56 56 # timers out-delay 10 - - - arista.eos.eos_ospfv3: - running_config: "{{ lookup('file', './parsed_ospfv3.cfg') }}" - state: parsed - - # Module execution - - # "parsed": { - # "processes": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "fips_restrictions": true, - # "redistribute": [ - # { - # "routes": "connected" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "fips_restrictions": true, - # "router_id": "10.1.1.1" - # } - # ], - # "adjacency": { - # "exchange_start": { - # "threshold": 11 - # } - # }, - # "areas": [ - # { - # "area_id": "0.0.0.20", - # "authentication": { - # "algorithm": "sha1", - # "hidden_key": true, - # "passphrase": "4O8T3zo4xBdRWXBnsnK934o9SEb+jEhHUN6+xzZgCo2j9EnQBUvtwNxxLEmYmm6w", - # "spi": 33 - # }, - # "stub": { - # "set": true - # } - # }, - # { - # "area_id": "0.0.0.40", - # "default_cost": 45, - # "stub": { - # "set": true - # } - # } - # ], - # "fips_restrictions": true, - # "timers": { - # "pacing": 7 - # }, - # "vrf": "default" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "fips_restrictions": true, - # "maximum_paths": 100, - # "passive_interface": true, - # "redistribute": [ - # { - # "route_map": "MAP01", - # "routes": "connected" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "areas": [ - # { - # "area_id": "0.0.0.10", - # "nssa": { - # "no_summary": true - # } - # } - # ], - # "default_information": { - # "originate": true, - # "route_map": "DefaultRouteFilter" - # }, - # "fips_restrictions": true, - # "max_metric": { - # "router_lsa": { - # "external_lsa": { - # "max_metric_value": 25 - # }, - # "summary_lsa": { - # "set": true - # } - # } - # } - # } - # ], - # "areas": [ - # { - # "area_id": "0.0.0.0", - # "encryption": { - # "algorithm": "sha1", - # "encryption": "null", - # "hidden_key": true, - # "passphrase": "7hl8FV3lZ6H1mAKpjL47hQ==" - # } - # } - # ], - # "bfd": { - # "all_interfaces": true - # }, - # "fips_restrictions": true, - # "log_adjacency_changes": { - # "detail": true - # }, - # "vrf": "vrf01" - # }, - # { - # "address_family": [ - # { - # "afi": "ipv6", - # "areas": [ - # { - # "area_id": "0.0.0.1", - # "stub": { - # "set": true - # } - # } - # ], - # "distance": 200, - # "fips_restrictions": true, - # "router_id": "10.17.0.3", - # "timers": { - # "out_delay": 10, - # "spf": { - # "initial": 56, - # "max": 56, - # "min": 56, - # } - # } - # } - # ], - # "fips_restrictions": true, - # "vrf": "vrf02" - # } - # ] + - name: Parse the provided config + arista.eos.eos_ospfv3: + running_config: "{{ lookup('file', './parsed_ospfv3.cfg') }}" + state: parsed + + # Task output: + # ------------ + # parsed: + # processes: + # - address_family: + # - afi: ipv4 + # fips_restrictions: true + # redistribute: + # - routes: connected + # - afi: ipv6 + # fips_restrictions: true + # router_id: 10.1.1.1 + # adjacency: + # exchange_start: + # threshold: 11 + # areas: + # - area_id: 0.0.0.20 + # authentication: + # algorithm: sha1 + # hidden_key: true + # passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # spi: 33 + # stub: + # set: true + # - area_id: 0.0.0.40 + # default_cost: 45 + # stub: + # set: true + # fips_restrictions: true + # timers: + # pacing: 7 + # vrf: default + # - address_family: + # - afi: ipv4 + # fips_restrictions: true + # maximum_paths: 100 + # passive_interface: true + # redistribute: + # - route_map: MAP01 + # routes: connected + # - afi: ipv6 + # areas: + # - area_id: 0.0.0.10 + # nssa: + # no_summary: true + # default_information: + # originate: true + # route_map: DefaultRouteFilter + # fips_restrictions: true + # max_metric: + # router_lsa: + # external_lsa: + # max_metric_value: 25 + # summary_lsa: + # set: true + # areas: + # - area_id: 0.0.0.0 + # encryption: + # algorithm: sha1 + # encryption: 'null' + # hidden_key: true + # passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER + # spi: 256 + # bfd: + # all_interfaces: true + # fips_restrictions: true + # log_adjacency_changes: + # detail: true + # vrf: vrf01 + # - address_family: + # - afi: ipv6 + # areas: + # - area_id: 0.0.0.1 + # stub: + # set: true + # distance: 200 + # fips_restrictions: true + # router_id: 10.17.0.3 + # timers: + # out_delay: 10 + # spf: + # initial: 56 + # max: 56 + # min: 56 + # fips_restrictions: true + # vrf: vrf02 # using gathered - # native config - + # native config: # veos#show running-config | section ospfv3 # router ospfv3 vrf vrfmerge # passive-interface default @@ -4645,100 +4407,188 @@ Examples # address-family ipv6 # area 0.0.0.3 range 10.1.2.0/24 # area 0.0.0.3 range 60.1.0.0/16 cost 30 - # veos# - - - - arista.eos.eos_ospfv3: - state: gathered - # module execution + - name: Gather running configuration + arista.eos.eos_ospfv3: + state: gathered + + # Task output: + # ------------ + # gathered: + # processes: + # - address_family: + # - afi: ipv4 + # areas: + # - area_id: 0.0.0.3 + # ranges: + # - address: 10.1.2.0/24 + # - address: 60.1.0.0/16 + # cost: 30 + # redistribute: + # - routes: connected + # - route_map: MAP01 + # routes: static + # - afi: ipv6 + # areas: + # - area_id: 0.0.0.3 + # ranges: + # - address: 10.1.2.0/24 + # - address: 60.1.0.0/16 + # cost: 30 + # passive_interface: true + # vrf: vrfmerge - # "gathered": { - # "processes": [ - # { - # "address_family": [ - # { - # "afi": "ipv4", - # "areas": [ - # { - # "area_id": "0.0.0.3", - # "ranges": [ - # { - # "address": "10.1.2.0/24" - # }, - # { - # "address": "60.1.0.0/16", - # "cost": 30 - # } - # ] - # } - # ], - # "redistribute": [ - # { - # "routes": "connected" - # }, - # { - # "route_map": "MAP01", - # "routes": "static" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "areas": [ - # { - # "area_id": "0.0.0.3", - # "ranges": [ - # { - # "address": "10.1.2.0/24" - # }, - # { - # "address": "60.1.0.0/16", - # "cost": 30 - # } - # ] - # } - # ] - # } - # ], - # "passive_interface": true, - # "vrf": "vrfmerge" - # } - # ] # using rendered - - arista.eos.eos_ospfv3: - config: - processes: - - address_family: - - timers: - lsa: 22 - graceful_restart: - grace_period: 35 - afi: "ipv6" - timers: - pacing: 55 - fips_restrictions: True - router_id: "2.2.2.2" - vrf: "vrfmerge" - state: rendered - - # module execution - - # "rendered": [ - # "router ospfv3 vrf vrfmerge", - # "address-family ipv6", - # "graceful-restart grace-period 35", - # "timers lsa arrival 22", - # "exit", - # "timers pacing flood 55", - # "fips restrictions", - # "router-id 2.2.2.2", - # "exit" - # ] + - name: render CLI commands for provided config + arista.eos.eos_ospfv3: + config: + processes: + - address_family: + - timers: + lsa: 22 + graceful_restart: + grace_period: 35 + afi: "ipv6" + timers: + pacing: 55 + fips_restrictions: true + router_id: "2.2.2.2" + vrf: "vrfmerge" + state: rendered + + # Task output: + # ------------ + # rendered: + # - router ospfv3 vrf vrfmerge + # - address-family ipv6 + # - graceful-restart grace-period 35 + # - timers lsa arrival 22 + # - exit + # - timers pacing flood 55 + # - fips restrictions + # - router-id 2.2.2.2 + # - exit + + + +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 ospfv3 vrf vrfmerge', 'address-family ipv6', 'graceful-restart grace-period 35']</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 vrf vrfmerge', 'address-family ipv6', 'graceful-restart grace-period 35']</div> + </td> + </tr> + </table> + <br/><br/> Status diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_prefix_lists_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_prefix_lists_module.rst index 7f2474438..7c3164abd 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_prefix_lists_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_prefix_lists_module.rst @@ -386,43 +386,88 @@ Examples .. code-block:: yaml # Using merged + + # Before state # veos#show running-config | section prefix-lists # veos# - - name: Merge provided configuration with device configuration - arista.eos.eos_prefix_lists: - config: - - afi: "ipv4" - prefix_lists: - - name: "v401" - entries: - - sequence: 25 - action: "deny" - address: "45.55.4.0/24" - - sequence: 100 - action: "permit" - address: "11.11.2.0/24" - match: - masklen: 32 - operator: "ge" - - name: "v402" - entries: - - action: "deny" - address: "10.1.1.0/24" - sequence: 10 - match: - masklen: 32 - operator: "ge" - - afi: "ipv6" - prefix_lists: - - name: "v601" - entries: - - sequence: 125 - action: "deny" - address: "5000:1::/64" + - name: Merge provided configuration with device configuration + arista.eos.eos_prefix_lists: + config: + - afi: "ipv4" + prefix_lists: + - name: "v401" + entries: + - sequence: 25 + action: "deny" + address: "45.55.4.0/24" + - sequence: 100 + action: "permit" + address: "11.11.2.0/24" + match: + masklen: 32 + operator: "ge" + - name: "v402" + entries: + - action: "deny" + address: "10.1.1.0/24" + sequence: 10 + match: + masklen: 32 + operator: "ge" + - afi: "ipv6" + prefix_lists: + - name: "v601" + entries: + - sequence: 125 + action: "deny" + address: "5000:1::/64" - # After State + # Task Output + # ------------- + # before: {} + # commands: + # - ipv6 prefix-list v601 + # - seq 125 deny 5000:1::/64 + # - ip prefix-list v401 + # - seq 25 deny 45.55.4.0/24 + # - seq 100 permit 11.11.2.0/24 ge 32 + # - ip prefix-list v402 + # - seq 10 deny 10.1.1.0/24 ge 32 + # after: + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: deny + # address: 45.55.4.0/24 + # sequence: 25 + # - action: permit + # address: 11.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 100 + # name: v401 + # - entries: + # - action: deny + # address: 10.1.1.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 10 + # name: v402 + # - afi: ipv6 + # prefix_lists: + # - entries: + # - action: deny + # address: 5000:1::/64 + # sequence: 125 + # name: v601 + + + # After state: + # ------------ # veos# # veos#show running-config | section prefix-list # ip prefix-list v401 @@ -435,81 +480,13 @@ Examples # ipv6 prefix-list v601 # seq 125 deny 5000:1::/64 # veos# - # - # Module Execution: - # "after": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "45.55.4.0/24", - # "sequence": 25 - # }, - # { - # "action": "permit", - # "address": "11.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 100 - # } - # ], - # "name": "v401" - # }, - # { - # "entries": [ - # { - # "action": "deny", - # "address": "10.1.1.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 10 - # } - # ], - # "name": "v402" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "5000:1::/64", - # "sequence": 125 - # } - # ], - # "name": "v601" - # } - # ] - # } - # ], - # "before": {}, - # "changed": true, - # "commands": [ - # "ipv6 prefix-list v601", - # "seq 125 deny 5000:1::/64", - # "ip prefix-list v401", - # "seq 25 deny 45.55.4.0/24", - # "seq 100 permit 11.11.2.0/24 ge 32", - # "ip prefix-list v402", - # "seq 10 deny 10.1.1.0/24 ge 32" - # ], - # - # using merged: + + # Using merged: # Failure scenario : 'merged' should not be used when an existing prefix-list (sequence number) # is to be modified. - # Before State: + # veos#show running-config | section prefix-list # ip prefix-list v401 # seq 25 deny 45.55.4.0/24 @@ -522,118 +499,89 @@ Examples # seq 125 deny 5000:1::/64 # veos# - - name: Merge provided configuration with device configuration - arista.eos.eos_prefix_lists: - config: - - afi: "ipv4" - prefix_lists: - - name: "v401" - entries: - - sequence: 25 - action: "deny" - address: "45.55.4.0/24" - match: - masklen: 32 - operator: "ge" - - sequence: 100 - action: "permit" - address: "11.11.2.0/24" - match: - masklen: 32 - operator: "ge" - - name: "v402" - entries: - - action: "deny" - address: "10.1.1.0/24" - sequence: 10 - match: - masklen: 32 - operator: "ge" - - afi: "ipv6" - prefix_lists: - - name: "v601" - entries: - - sequence: 125 - action: "deny" - address: "5000:1::/64" - state: merged - - # Module Execution: - # fatal: [192.168.122.113]: FAILED! => { - # "changed": false, - # "invocation": { - # "module_args": { - # "config": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "45.55.4.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "resequence": null, - # "sequence": 25 - # }, - # { - # "action": "permit", - # "address": "11.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "resequence": null, - # "sequence": 100 - # } - # ], - # "name": "v401" - # }, - # { - # "entries": [ - # { - # "action": "deny", - # "address": "10.1.1.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "resequence": null, - # "sequence": 10 - # } - # ], - # "name": "v402" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "5000:1::/64", - # "match": null, - # "resequence": null, - # "sequence": 125 - # } - # ], - # "name": "v601" - # } - # ] - # } - # ], - # "running_config": null, - # "state": "merged" - # } - # }, - # "msg": "Sequence number 25 is already present. Use replaced/overridden operation to change the configuration" - # } - # + - name: Merge provided configuration with device configuration + arista.eos.eos_prefix_lists: + config: + - afi: "ipv4" + prefix_lists: + - name: "v401" + entries: + - sequence: 25 + action: "deny" + address: "45.55.4.0/24" + match: + masklen: 32 + operator: "ge" + - sequence: 100 + action: "permit" + address: "11.11.2.0/24" + match: + masklen: 32 + operator: "ge" + - name: "v402" + entries: + - action: "deny" + address: "10.1.1.0/24" + sequence: 10 + match: + masklen: 32 + operator: "ge" + - afi: "ipv6" + prefix_lists: + - name: "v601" + entries: + - sequence: 125 + action: "deny" + address: "5000:1::/64" + state: merged + + # Task Output + # ------------- + # changed: false + # invocation: + # module_args: + # config: + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: deny + # address: 45.55.4.0/24 + # match: + # masklen: 32 + # operator: ge + # resequence: + # sequence: 25 + # - action: permit + # address: 11.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # resequence: + # sequence: 100 + # name: v401 + # - entries: + # - action: deny + # address: 10.1.1.0/24 + # match: + # masklen: 32 + # operator: ge + # resequence: + # sequence: 10 + # name: v402 + # - afi: ipv6 + # prefix_lists: + # - entries: + # - action: deny + # address: 5000:1::/64 + # match: + # resequence: + # sequence: 125 + # name: v601 + # running_config: + # state: merged + # msg: Sequence number 25 is already present. Use replaced/overridden operation to change + # the configuration + # Using Replaced: @@ -649,26 +597,94 @@ Examples # ipv6 prefix-list v601 # seq 125 deny 5000:1::/64 # veos# - - name: Replace - arista.eos.eos_prefix_lists: - config: - - afi: "ipv4" - prefix_lists: - - name: "v401" - entries: - - sequence: 25 - action: "deny" - address: "45.55.4.0/24" - match: - masklen: 32 - operator: "ge" - - sequence: 200 - action: "permit" - address: "200.11.2.0/24" - match: - masklen: 32 - operator: "ge" - state: replaced + + + - name: Replace Provided configuration with given configuration + arista.eos.eos_prefix_lists: + config: + - afi: "ipv4" + prefix_lists: + - name: "v401" + entries: + - sequence: 25 + action: "deny" + address: "45.55.4.0/24" + match: + masklen: 32 + operator: "ge" + - sequence: 200 + action: "permit" + address: "200.11.2.0/24" + match: + masklen: 32 + operator: "ge" + state: replaced + + + # Task Output + # ------------- + # before: + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: deny + # address: 45.55.4.0/24 + # sequence: 25 + # - action: permit + # address: 11.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 100 + # name: v401 + # - entries: + # - action: deny + # address: 10.1.1.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 10 + # name: v402 + # - afi: ipv6 + # prefix_lists: + # - entries: + # - action: deny + # address: 5000:1::/64 + # sequence: 125 + # name: v601 + # commands: + # - ip prefix-list v401 + # - no seq 25 + # - seq 25 deny 45.55.4.0/24 ge 32 + # - seq 200 permit 200.11.2.0/24 ge 32 + # - no seq 100 + # - no ip prefix-list v402 + # after: + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: deny + # address: 45.55.4.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 25 + # - action: permit + # address: 200.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 200 + # name: v401 + # - afi: ipv6 + # prefix_lists: + # - entries: + # - action: deny + # address: 5000:1::/64 + # sequence: 125 + # name: v601 + + # After State: # veos#show running-config | section prefix-list # ip prefix-list v401 @@ -680,121 +696,12 @@ Examples # veos# # # - # Module Execution: - # - # "after": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "45.55.4.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 25 - # }, - # { - # "action": "permit", - # "address": "200.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 200 - # } - # ], - # "name": "v401" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "5000:1::/64", - # "sequence": 125 - # } - # ], - # "name": "v601" - # } - # ] - # } - # ], - # "before": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "45.55.4.0/24", - # "sequence": 25 - # }, - # { - # "action": "permit", - # "address": "11.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 100 - # } - # ], - # "name": "v401" - # }, - # { - # "entries": [ - # { - # "action": "deny", - # "address": "10.1.1.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 10 - # } - # ], - # "name": "v402" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "5000:1::/64", - # "sequence": 125 - # } - # ], - # "name": "v601" - # } - # ] - # } - # ], - # "changed": true, - # "commands": [ - # "ip prefix-list v401", - # "no seq 25", - # "seq 25 deny 45.55.4.0/24 ge 32", - # "seq 200 permit 200.11.2.0/24 ge 32", - # "no seq 100", - # "no ip prefix-list v402" - # ], + # Using overridden: - # Before State: + + # Before State: # veos#show running-config | section prefix-list # ip prefix-list v401 # seq 25 deny 45.55.4.0/24 ge 32 @@ -808,29 +715,103 @@ Examples # seq 125 deny 5000:1::/64 # veos# + - name: Override + arista.eos.eos_prefix_lists: + config: + - afi: "ipv4" + prefix_lists: + - name: "v401" + entries: + - sequence: 25 + action: "deny" + address: "45.55.4.0/24" + - sequence: 300 + action: "permit" + address: "30.11.2.0/24" + match: + masklen: 32 + operator: "ge" + - name: "v403" + entries: + - action: "deny" + address: "10.1.1.0/24" + sequence: 10 + state: overridden + + + # Task Output + # ------------- + # before: + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: deny + # address: 45.55.4.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 25 + # - action: permit + # address: 11.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 100 + # - action: permit + # address: 200.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 200 + # name: v401 + # - entries: + # - action: deny + # address: 10.1.1.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 10 + # name: v402 + # - afi: ipv6 + # prefix_lists: + # - entries: + # - action: deny + # address: 5000:1::/64 + # sequence: 125 + # name: v601 + # commands: + # - no ipv6 prefix-list v601 + # - ip prefix-list v401 + # - seq 25 deny 45.55.4.0/24 + # - seq 300 permit 30.11.2.0/24 ge 32 + # - no seq 100 + # - no seq 200 + # - ip prefix-list v403 + # - seq 10 deny 10.1.1.0/24 + # - no ip prefix-list v402 + # after: + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: deny + # address: 45.55.4.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 25 + # - action: permit + # address: 30.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 300 + # name: v401 + # - entries: + # - action: deny + # address: 10.1.1.0/24 + # sequence: 10 + # name: v403 - - name: Override - arista.eos.eos_prefix_lists: - config: - - afi: "ipv4" - prefix_lists: - - name: "v401" - entries: - - sequence: 25 - action: "deny" - address: "45.55.4.0/24" - - sequence: 300 - action: "permit" - address: "30.11.2.0/24" - match: - masklen: 32 - operator: "ge" - - name: "v403" - entries: - - action: "deny" - address: "10.1.1.0/24" - sequence: 10 - state: overridden # After State # veos# @@ -842,134 +823,10 @@ Examples # ip prefix-list v403 # seq 10 deny 10.1.1.0/24 # veos# - # - # - # Module Execution: - # "after": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "45.55.4.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 25 - # }, - # { - # "action": "permit", - # "address": "30.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 300 - # } - # ], - # "name": "v401" - # }, - # { - # "entries": [ - # { - # "action": "deny", - # "address": "10.1.1.0/24", - # "sequence": 10 - # } - # ], - # "name": "v403" - # } - # ] - # } - # ], - # "before": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "45.55.4.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 25 - # }, - # { - # "action": "permit", - # "address": "11.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 100 - # }, - # { - # "action": "permit", - # "address": "200.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 200 - # } - # ], - # "name": "v401" - # }, - # { - # "entries": [ - # { - # "action": "deny", - # "address": "10.1.1.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 10 - # } - # ], - # "name": "v402" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "5000:1::/64", - # "sequence": 125 - # } - # ], - # "name": "v601" - # } - # ] - # } - # ], - # "changed": true, - # "commands": [ - # "no ipv6 prefix-list v601", - # "ip prefix-list v401", - # "seq 25 deny 45.55.4.0/24", - # "seq 300 permit 30.11.2.0/24 ge 32", - # "no seq 100", - # "no seq 200", - # "ip prefix-list v403", - # "seq 10 deny 10.1.1.0/24", - # "no ip prefix-list v402" - # ], - # # Using deleted: - # Before State: + # Before State: # veos#show running-config | section prefix-list # ip prefix-list v401 # seq 25 deny 45.55.4.0/24 ge 32 @@ -986,12 +843,95 @@ Examples # seq 125 deny 5000:1::/64 # veos# - - name: Delete device configuration - arista.eos.eos_prefix_lists: - config: - - afi: "ipv6" - state: deleted + - name: Delete device configuration + arista.eos.eos_prefix_lists: + config: + - afi: "ipv6" + state: deleted + # Task Output + # ------------- + # before: + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: deny + # address: 45.55.4.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 25 + # - action: permit + # address: 11.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 100 + # - action: permit + # address: 30.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 300 + # name: v401 + # - entries: + # - action: deny + # address: 10.1.1.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 10 + # name: v402 + # - entries: + # - action: deny + # address: 10.1.1.0/24 + # sequence: 10 + # name: v403 + # - afi: ipv6 + # prefix_lists: + # - entries: + # - action: deny + # address: 5000:1::/64 + # sequence: 125 + # name: v601 + # commands: + # - no ipv6 prefix-list v601 + # after: + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: deny + # address: 45.55.4.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 25 + # - action: permit + # address: 11.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 100 + # - action: permit + # address: 30.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 300 + # name: v401 + # - entries: + # - action: deny + # address: 10.1.1.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 10 + # name: v402 + # - entries: + # - action: deny + # address: 10.1.1.0/24 + # sequence: 10 + # name: v403 # after State: # veos#show running-config | section prefix-list @@ -1006,158 +946,12 @@ Examples # ip prefix-list v403 # seq 10 deny 10.1.1.0/24 # - # - # Module Execution: - # "after": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "45.55.4.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 25 - # }, - # { - # "action": "permit", - # "address": "11.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 100 - # }, - # { - # "action": "permit", - # "address": "30.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 300 - # } - # ], - # "name": "v401" - # }, - # { - # "entries": [ - # { - # "action": "deny", - # "address": "10.1.1.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 10 - # } - # ], - # "name": "v402" - # }, - # { - # "entries": [ - # { - # "action": "deny", - # "address": "10.1.1.0/24", - # "sequence": 10 - # } - # ], - # "name": "v403" - # } - # ] - # } - # ], - # "before": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "45.55.4.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 25 - # }, - # { - # "action": "permit", - # "address": "11.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 100 - # }, - # { - # "action": "permit", - # "address": "30.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 300 - # } - # ], - # "name": "v401" - # }, - # { - # "entries": [ - # { - # "action": "deny", - # "address": "10.1.1.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 10 - # } - # ], - # "name": "v402" - # }, - # { - # "entries": [ - # { - # "action": "deny", - # "address": "10.1.1.0/24", - # "sequence": 10 - # } - # ], - # "name": "v403" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "5000:1::/64", - # "sequence": 125 - # } - # ], - # "name": "v601" - # } - # ] - # } - # ], - # "changed": true, - # "commands": [ - # "no ipv6 prefix-list v601" - # ], - # + # Using deleted - # Before state: + + # Before state: # veos#show running-config | section prefix-list # ip prefix-list v401 # seq 25 deny 45.55.4.0/24 ge 32 @@ -1171,88 +965,63 @@ Examples # seq 10 deny 10.1.1.0/24 # veos# - - name: Delete device configuration - arista.eos.eos_prefix_lists: - state: deleted + - name: Delete device configuration + arista.eos.eos_prefix_lists: + state: deleted + + + # Task Output + # ------------- + # before: + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: deny + # address: 45.55.4.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 25 + # - action: permit + # address: 11.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 100 + # - action: permit + # address: 30.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 300 + # name: v401 + # - entries: + # - action: deny + # address: 10.1.1.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 10 + # name: v402 + # - entries: + # - action: deny + # address: 10.1.1.0/24 + # sequence: 10 + # name: v403 + # commands: + # - no ip prefix-list v401 + # - no ip prefix-list v402 + # - no ip prefix-list v403 + # after: {} # After State: # veos#show running-config | section prefix-list # veos# - # - # Module Execution: - # "after": {}, - # "before": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "45.55.4.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 25 - # }, - # { - # "action": "permit", - # "address": "11.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 100 - # }, - # { - # "action": "permit", - # "address": "30.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 300 - # } - # ], - # "name": "v401" - # }, - # { - # "entries": [ - # { - # "action": "deny", - # "address": "10.1.1.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 10 - # } - # ], - # "name": "v402" - # }, - # { - # "entries": [ - # { - # "action": "deny", - # "address": "10.1.1.0/24", - # "sequence": 10 - # } - # ], - # "name": "v403" - # } - # ] - # } - # ], - # "changed": true, - # "commands": [ - # "no ip prefix-list v401", - # "no ip prefix-list v402", - # "no ip prefix-list v403" - # ], - # + # Using parsed: + + # parse_prefix_lists.cfg # ip prefix-list v401 # seq 25 deny 45.55.4.0/24 @@ -1264,99 +1033,81 @@ Examples # ipv6 prefix-list v601 # seq 125 deny 5000:1::/64 # - - name: parse configs - arista.eos.eos_prefix_lists: - running_config: "{{ lookup('file', './parsed_prefix_lists.cfg') }}" - state: parsed - - # Module Execution: - # "parsed": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "45.55.4.0/24", - # "sequence": 25 - # }, - # { - # "action": "permit", - # "address": "11.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 100 - # } - # ], - # "name": "v401" - # }, - # { - # "entries": [ - # { - # "action": "deny", - # "address": "10.1.1.0/24", - # "sequence": 10 - # } - # ], - # "name": "v402" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "5000:1::/64", - # "sequence": 125 - # } - # ], - # "name": "v601" - # } - # ] - # } - # ] + + + - name: parse configs + arista.eos.eos_prefix_lists: + running_config: "{{ lookup('file', './parsed_prefix_lists.cfg') }}" + state: parsed + + + # Task Output + # ------------- + # parsed: + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: deny + # address: 45.55.4.0/24 + # sequence: 25 + # - action: permit + # address: 11.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 100 + # name: v401 + # - entries: + # - action: deny + # address: 10.1.1.0/24 + # sequence: 10 + # name: v402 + # - afi: ipv6 + # prefix_lists: + # - entries: + # - action: deny + # address: 5000:1::/64 + # sequence: 125 + # name: v601 + # Using rendered: - - name: Render provided configuration - arista.eos.eos_prefix_lists: - config: - - afi: "ipv4" - prefix_lists: - - name: "v401" - entries: - - sequence: 25 - action: "deny" - address: "45.55.4.0/24" - - sequence: 200 - action: "permit" - address: "200.11.2.0/24" - match: - masklen: 32 - operator: "ge" - - name: "v403" - entries: - - action: "deny" - address: "10.1.1.0/24" - sequence: 10 - state: rendered - - # Module Execution: - # "rendered": [ - # "ip prefix-list v401", - # "seq 25 deny 45.55.4.0/24", - # "seq 200 permit 200.11.2.0/24 ge 32", - # "ip prefix-list v403", - # "seq 10 deny 10.1.1.0/24" - # ] - # + + - name: Render provided configuration + arista.eos.eos_prefix_lists: + config: + - afi: "ipv4" + prefix_lists: + - name: "v401" + entries: + - sequence: 25 + action: "deny" + address: "45.55.4.0/24" + - sequence: 200 + action: "permit" + address: "200.11.2.0/24" + match: + masklen: 32 + operator: "ge" + - name: "v403" + entries: + - action: "deny" + address: "10.1.1.0/24" + sequence: 10 + state: rendered + + # Task Output + # ------------- + # rendered: + # - ip prefix-list v401 + # - seq 25 deny 45.55.4.0/24 + # - seq 200 permit 200.11.2.0/24 ge 32 + # - ip prefix-list v403 + # - seq 10 deny 10.1.1.0/24 # using gathered: + + # Device config: # veos#show running-config | section prefix-list # ip prefix-list v401 @@ -1370,70 +1121,163 @@ Examples # seq 125 deny 5000:1::/64 # veos# - - name: gather configs - arista.eos.eos_prefix_lists: - state: gathered + - name: gather configs + arista.eos.eos_prefix_lists: + state: gathered - # Module Execution: - # - # "gathered": [ - # { - # "afi": "ipv4", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "45.55.4.0/24", - # "sequence": 25 - # }, - # { - # "action": "permit", - # "address": "11.11.2.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 100 - # } - # ], - # "name": "v401" - # }, - # { - # "entries": [ - # { - # "action": "deny", - # "address": "10.1.1.0/24", - # "match": { - # "masklen": 32, - # "operator": "ge" - # }, - # "sequence": 10 - # } - # ], - # "name": "v402" - # } - # ] - # }, - # { - # "afi": "ipv6", - # "prefix_lists": [ - # { - # "entries": [ - # { - # "action": "deny", - # "address": "5000:1::/64", - # "sequence": 125 - # } - # ], - # "name": "v601" - # } - # ] - # } - # ], + # Task Output + # ------------- + # gathered: + # - afi: ipv4 + # prefix_lists: + # - entries: + # - action: deny + # address: 45.55.4.0/24 + # sequence: 25 + # - action: permit + # address: 11.11.2.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 100 + # name: v401 + # - entries: + # - action: deny + # address: 10.1.1.0/24 + # match: + # masklen: 32 + # operator: ge + # sequence: 10 + # name: v402 + # - afi: ipv6 + # prefix_lists: + # - entries: + # - action: deny + # address: 5000:1::/64 + # sequence: 125 + # name: v601 +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">list</span> + </div> + </td> + <td>when changed</td> + <td> + <div>The resulting configuration model invocation.</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> + </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">list</span> + </div> + </td> + <td>always</td> + <td> + <div>The configuration prior to the model invocation.</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> + </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>always</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 prefix-list v401', 'seq 25 deny 45.55.4.0/24', 'seq 200 permit 200.11.2.0/24 ge 32', 'ip prefix-list v403', 'seq 10 deny 10.1.1.0/24']</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 <code>state</code> is <em>gathered</em></td> + <td> + <div>The configuration as structured data transformed for the running configuration fetched from remote host</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> + </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 <code>state</code> is <em>parsed</em></td> + <td> + <div>The configuration as structured data transformed for the value of <code>running_config</code> option</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> + </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 <code>state</code> is <em>rendered</em></td> + <td> + <div>The set of CLI commands generated from the value in <code>config</code> option</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 prefix-list v401 - seq 25 deny 45.55.4.0/24 - seq 200 permit 200.11.2.0/24 ge 32 - ip prefix-list v403 - seq 10 deny 10.1.1.0/24</div> + </td> + </tr> + </table> + <br/><br/> + Status ------ diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_route_maps_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_route_maps_module.rst index f194b20b5..698ceea56 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_route_maps_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_route_maps_module.rst @@ -2621,7 +2621,7 @@ Parameters </ul> </td> <td> - <div>if True, overwrite existing config.</div> + <div>if true, overwrite existing config.</div> </td> </tr> <tr> @@ -2800,39 +2800,39 @@ Examples # veos#show running-config | section route-map # veos# - - name: Merge provided configuration with device configuration - arista.eos.eos_route_maps: - config: - - route_map: "mapmerge" - entries: - - description: "merged_map" - action: "permit" - sequence: 10 - match: - router_id: 22 - - description: "newmap" - action: "deny" - sequence: 25 - continue_sequence: 45 - match: - interface: "Ethernet1" - - route_map: "mapmerge2" - entries: - - sub_route_map: - name: "mapmerge" - action: "deny" - sequence: 45 - set: - metric: - value: 25 - add: "igp-metric" - as_path: - prepend: - last_as: 2 - match: - ipv6: - resolved_next_hop: "list1" - state: merged + - name: Merge provided configuration with device configuration + arista.eos.eos_route_maps: + config: + - route_map: "mapmerge" + entries: + - description: "merged_map" + action: "permit" + sequence: 10 + match: + router_id: 22 + - description: "newmap" + action: "deny" + sequence: 25 + continue_sequence: 45 + match: + interface: "Ethernet1" + - route_map: "mapmerge2" + entries: + - sub_route_map: + name: "mapmerge" + action: "deny" + sequence: 45 + set: + metric: + value: 25 + add: "igp-metric" + as_path: + prepend: + last_as: 2 + match: + ipv6: + resolved_next_hop: "list1" + state: merged # After State: @@ -2855,7 +2855,6 @@ Examples # route-map test permit 10 # veos# - # Module Execution: # "after": [ @@ -2950,26 +2949,26 @@ Examples # ! # veos# - - name: Replace - arista.eos.eos_route_maps: - config: - - route_map: "mapmerge" - entries: - - action: "permit" - sequence: 10 - match: - ipv6: - resolved_next_hop: "listr" - - action: "deny" - sequence: 90 - set: - extcommunity: - rt: - vpn: "22:11" - delete: True - ip: - unchanged: True - state: replaced + - name: Replace + arista.eos.eos_route_maps: + config: + - route_map: "mapmerge" + entries: + - action: "permit" + sequence: 10 + match: + ipv6: + resolved_next_hop: "listr" + - action: "deny" + sequence: 90 + set: + extcommunity: + rt: + vpn: "22:11" + delete: true + ip: + unchanged: true + state: replaced # After State: @@ -3161,22 +3160,22 @@ Examples # route-map test permit 10 # veos# - - name: Override - arista.eos.eos_route_maps: - config: - - route_map: "mapmerge" - entries: - - action: "permit" - sequence: 10 - match: - ipv6: - resolved_next_hop: "listr" - - action: "deny" - sequence: 90 - set: - metric: - igp_param: "igp-nexthop-cost" - state: overridden + - name: Override + arista.eos.eos_route_maps: + config: + - route_map: "mapmerge" + entries: + - action: "permit" + sequence: 10 + match: + ipv6: + resolved_next_hop: "listr" + - action: "deny" + sequence: 90 + set: + metric: + igp_param: "igp-nexthop-cost" + state: overridden # After State: @@ -3326,14 +3325,14 @@ Examples # set as-path prepend last-as 2 # veos# - - name: Delete route-map - arista.eos.eos_route_maps: - config: - - route_map: "mapmerge" - state: deleted - become: yes - tags: - - deleted1 + - name: Delete route-map + arista.eos.eos_route_maps: + config: + - route_map: "mapmerge" + state: deleted + become: true + tags: + - deleted1 # After State: @@ -3467,11 +3466,13 @@ Examples # set as-path prepend last-as 2 # veos# - - name: Delete all route-maps - arista.eos.eos_route_maps: - state: deleted + - name: Delete all route-maps + arista.eos.eos_route_maps: + state: deleted # After State: + # ------------ + # veos#show running-config | section route-map # veos# # @@ -3557,9 +3558,9 @@ Examples # set as-path prepend last-as 2 # veos# - - name: gather configs - arista.eos.eos_route_maps: - state: gathered + - name: gather configs + arista.eos.eos_route_maps: + state: gathered # Module Execution: # "gathered": [ @@ -3617,43 +3618,45 @@ Examples # Using rendered: - - name: Render provided configuration - arista.eos.eos_route_maps: - config: - - route_map: "mapmerge" - entries: - - description: "merged_map" - action: "permit" - sequence: 10 - match: - router_id: 22 - set: - bgp: 20 - - description: "newmap" - action: "deny" - sequence: 25 - continue_sequence: 45 - match: - interface: "Ethernet1" - - route_map: "mapmerge2" - entries: - - sub_route_map: - name: "mapmerge" - action: "deny" - sequence: 45 - set: - metric: - value: 25 - add: "igp-metric" - as_path: - prepend: - last_as: 2 - match: - ipv6: - resolved_next_hop: "list1" - state: rendered + - name: Render provided configuration + arista.eos.eos_route_maps: + config: + - route_map: "mapmerge" + entries: + - description: "merged_map" + action: "permit" + sequence: 10 + match: + router_id: 22 + set: + bgp: 20 + - description: "newmap" + action: "deny" + sequence: 25 + continue_sequence: 45 + match: + interface: "Ethernet1" + - route_map: "mapmerge2" + entries: + - sub_route_map: + name: "mapmerge" + action: "deny" + sequence: 45 + set: + metric: + value: 25 + add: "igp-metric" + as_path: + prepend: + last_as: 2 + match: + ipv6: + resolved_next_hop: "list1" + state: rendered + + # Task output: + # ------------ - # Module Execution: # "rendered": [ # "route-map mapmerge permit 10", # "match router-id prefix-list 22", @@ -3689,10 +3692,10 @@ Examples # set metric 25 +igp-metric # set as-path prepend last-as 2 - - name: parse configs - arista.eos.eos_route_maps: - running_config: "{{ lookup('file', './parsed.cfg') }}" - state: parsed + - name: parse configs + arista.eos.eos_route_maps: + running_config: "{{ lookup('file', './parsed.cfg') }}" + state: parsed # Module Execution: # "parsed": [ diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_snmp_server_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_snmp_server_module.rst index f66b77d33..c696a5b5c 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_snmp_server_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_snmp_server_module.rst @@ -819,7 +819,7 @@ Parameters <td> </td> <td> - <div>when True Disable implementation of a group of objects</div> + <div>when true Disable implementation of a group of objects</div> </td> </tr> <tr> @@ -3154,57 +3154,58 @@ Examples .. code-block:: yaml # Using merged: + # Before State # eos#show running-config | section snmp-server # eos# - - name: merge given snmp_server configuration - arista.eos.eos_snmp_server: - config: - communities: - - name: "comm3" - acl_v6: "list1" - view: "view1" - - name: "comm4" - acl_v4: "list3" - view: "view1" - - name: "comm5" - acl_v4: "list4" - ro: True - contact: "admin" - engineid: - remote: - host: 1.1.1.1 - id: "1234567" - groups: - - group: "group1" - version: "v1" - read: "view1" - - group: "group2" - version: "v3" - auth_privacy: "priv" - notify: "view1" - write: "view2" - hosts: - - host: "host02" - user: "user01" - udp_port: 23 - version: "2c" - - host: "host01" - user: "user01" - udp_port: 23 - version: "3 priv" - traps: - capacity: - arista_hardware_utilization_alert: True - bgp: - enabled: True - external_alarm: - arista_external_alarm_deasserted_notif: True - arista_external_alarm_asserted_notif: True - vrfs: - - vrf: "vrf01" - local_interface: "Ethernet1" + - name: merge given snmp_server configuration + arista.eos.eos_snmp_server: + config: + communities: + - name: "comm3" + acl_v6: "list1" + view: "view1" + - name: "comm4" + acl_v4: "list3" + view: "view1" + - name: "comm5" + acl_v4: "list4" + ro: true + contact: "admin" + engineid: + remote: + host: 1.1.1.1 + id: "1234567" + groups: + - group: "group1" + version: "v1" + read: "view1" + - group: "group2" + version: "v3" + auth_privacy: "priv" + notify: "view1" + write: "view2" + hosts: + - host: "host02" + user: "user01" + udp_port: 23 + version: "2c" + - host: "host01" + user: "user01" + udp_port: 23 + version: "3 priv" + traps: + capacity: + arista_hardware_utilization_alert: true + bgp: + enabled: true + external_alarm: + arista_external_alarm_deasserted_notif: true + arista_external_alarm_asserted_notif: true + vrfs: + - vrf: "vrf01" + local_interface: "Ethernet1" # After state # eos#show running-config | section snmp-server @@ -3311,6 +3312,7 @@ Examples # # Using replaced: + # Before State: # eos#show running-config | section snmp-server # snmp-server community comm3 view view1 ipv6 list1 @@ -3326,29 +3328,29 @@ Examples # snmp-server enable traps capacity arista-hardware-utilization-alert # snmp-server enable traps external-alarm arista-external-alarm-asserted-notif arista-external-alarm-deasserted-notif - - name: Replace given snmp_server configuration - become: true - register: result - arista.eos.eos_snmp_server: &replaced - state: replaced - config: - communities: - - name: "comm3" - acl_v6: "list1" - view: "view1" - - name: "replacecomm" - acl_v4: "list4" - extension: - root_oid: "123456" - script_location: "flash:" - traps: - test: - arista_test_notification: True - bgp: - enabled: True - vrfs: - - vrf: "vrf_replace" - local_interface: "Ethernet1" + - name: Replace given snmp_server configuration + become: true + register: result + arista.eos.eos_snmp_server: &replaced + state: replaced + config: + communities: + - name: "comm3" + acl_v6: "list1" + view: "view1" + - name: "replacecomm" + acl_v4: "list4" + extension: + root_oid: "123456" + script_location: "flash:" + traps: + test: + arista_test_notification: true + bgp: + enabled: true + vrfs: + - vrf: "vrf_replace" + local_interface: "Ethernet1" # After State: @@ -3497,27 +3499,27 @@ Examples # snmp-server enable traps capacity arista-hardware-utilization-alert # snmp-server enable traps external-alarm arista-external-alarm-asserted-notif arista-external-alarm-deasserted-notif - - name: Override given snmp_server configuration - arista.eos.eos_snmp_server: - state: overridden - config: - communities: - - name: "comm3" - acl_v6: "list1" - view: "view1" - - name: "replacecomm" - acl_v4: "list4" - extension: - root_oid: "123456" - script_location: "flash:" - traps: - test: - arista_test_notification: True - bgp: - enabled: True - vrfs: - - vrf: "vrf_replace" - local_interface: "Ethernet1" + - name: Override given snmp_server configuration + arista.eos.eos_snmp_server: + state: overridden + config: + communities: + - name: "comm3" + acl_v6: "list1" + view: "view1" + - name: "replacecomm" + acl_v4: "list4" + extension: + root_oid: "123456" + script_location: "flash:" + traps: + test: + arista_test_notification: true + bgp: + enabled: true + vrfs: + - vrf: "vrf_replace" + local_interface: "Ethernet1" # After State: @@ -3666,9 +3668,9 @@ Examples # snmp-server enable traps capacity arista-hardware-utilization-alert # snmp-server enable traps external-alarm arista-external-alarm-asserted-notif arista-external-alarm-deasserted-notif - - name: Delete given snmp_server configuration - arista.eos.eos_snmp_server: - state: deleted + - name: Delete given snmp_server configuration + arista.eos.eos_snmp_server: + state: deleted # After State: # eos#show running-config | section snmp-server @@ -3778,10 +3780,10 @@ Examples # snmp-server enable traps external-alarm arista-external-alarm-asserted-notif # snmp-server enable traps external-alarm arista-external-alarm-deasserted-notif - - name: Provide the running configuration for parsing (config to be parsed) - arista.eos.eos_snmp_server: - running_config: "{{ lookup('file', '_parsed.cfg') }}" - state: parsed + - name: Provide the running configuration for parsing (config to be parsed) + arista.eos.eos_snmp_server: + running_config: "{{ lookup('file', '_parsed.cfg') }}" + state: parsed # Module Execution: # "parsed": { @@ -3854,54 +3856,54 @@ Examples # } # Using rendered: - - name: Render given snmp_server configuration - arista.eos.eos_snmp_server: - state: "rendered" - config: - communities: - - name: "comm3" - acl_v6: "list1" - view: "view1" - - name: "comm4" - acl_v4: "list3" - view: "view1" - - name: "comm5" - acl_v4: "list4" - ro: True - contact: "admin" - engineid: - remote: - host: 1.1.1.1 - id: "1234567" - groups: - - group: "group1" - version: "v1" - read: "view1" - - group: "group2" - version: "v3" - auth_privacy: "priv" - notify: "view1" - write: "view2" - hosts: - - host: "host02" - user: "user01" - udp_port: 23 - version: "2c" - - host: "host01" - user: "user01" - udp_port: 23 - version: "3 priv" - traps: - capacity: - arista_hardware_utilization_alert: True - bgp: - enabled: True - external_alarm: - arista_external_alarm_deasserted_notif: True - arista_external_alarm_asserted_notif: True - vrfs: - - vrf: "vrf01" - local_interface: "Ethernet1" + - name: Render given snmp_server configuration + arista.eos.eos_snmp_server: + state: "rendered" + config: + communities: + - name: "comm3" + acl_v6: "list1" + view: "view1" + - name: "comm4" + acl_v4: "list3" + view: "view1" + - name: "comm5" + acl_v4: "list4" + ro: true + contact: "admin" + engineid: + remote: + host: 1.1.1.1 + id: "1234567" + groups: + - group: "group1" + version: "v1" + read: "view1" + - group: "group2" + version: "v3" + auth_privacy: "priv" + notify: "view1" + write: "view2" + hosts: + - host: "host02" + user: "user01" + udp_port: 23 + version: "2c" + - host: "host01" + user: "user01" + udp_port: 23 + version: "3 priv" + traps: + capacity: + arista_hardware_utilization_alert: true + bgp: + enabled: true + external_alarm: + arista_external_alarm_deasserted_notif: true + arista_external_alarm_asserted_notif: true + vrfs: + - vrf: "vrf01" + local_interface: "Ethernet1" # Module Execution: # "rendered": [ @@ -3936,10 +3938,10 @@ Examples # snmp-server enable traps capacity arista-hardware-utilization-alert # snmp-server enable traps external-alarm arista-external-alarm-asserted-notif arista-external-alarm-deasserted-notif - - name: Gathered the provided configuration with the exisiting running configuration - arista.eos.eos_snmp_server: - config: - state: gathered + - name: Gathered the provided configuration with the exisiting running configuration + arista.eos.eos_snmp_server: + config: + state: gathered # Module Execution: # "gathered": { diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_static_routes_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_static_routes_module.rst index 253d331b4..ab32b25a8 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_static_routes_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_static_routes_module.rst @@ -420,204 +420,83 @@ Examples # ipv6 route vrf testvrf 2222:6::/64 Null0 90 name testroute1 # veos(config)# + - name: Delete afi arista.eos.eos_static_routes: config: - - vrf: testvrf - address_families: - - afi: ipv4 + - vrf: testvrf + address_families: + - afi: ipv4 state: deleted - # "after": [ - # { - # "address_families": [ - # { - # "afi": "ipv6", - # "routes": [ - # { - # "dest": "5222:5::/64", - # "next_hops": [ - # { - # "forward_router_address": "4312:100::1", - # "interface": "Management1" - # } - # ] - # } - # ] - # } - # ] - # }, - # { - # "address_families": [ - # { - # "afi": "ipv6", - # "routes": [ - # { - # "dest": "2222:6::/64", - # "next_hops": [ - # { - # "forward_router_address": "4312:100::1", - # "interface": "Management1" - # }, - # { - # "admin_distance": 55, - # "interface": "Ethernet1" - # }, - # { - # "admin_distance": 90, - # "description": "testroute1", - # "interface": "Null0" - # } - # ] - # } - # ] - # } - # ], - # "vrf": "testvrf" - # } - # ], - # "before": [ - # { - # "address_families": [ - # { - # "afi": "ipv6", - # "routes": [ - # { - # "dest": "5222:5::/64", - # "next_hops": [ - # { - # "forward_router_address": "4312:100::1", - # "interface": "Management1" - # } - # ] - # } - # ] - # } - # ] - # }, - # { - # "address_families": [ - # { - # "afi": "ipv4", - # "routes": [ - # { - # "dest": "22.65.1.0/24", - # "next_hops": [ - # { - # "admin_distance": 90, - # "description": "testroute", - # "interface": "Null0" - # } - # ] - # } - # ] - # }, - # { - # "afi": "ipv6", - # "routes": [ - # { - # "dest": "2222:6::/64", - # "next_hops": [ - # { - # "forward_router_address": "4312:100::1", - # "interface": "Management1" - # }, - # { - # "admin_distance": 55, - # "interface": "Ethernet1" - # }, - # { - # "admin_distance": 90, - # "description": "testroute1", - # "interface": "Null0" - # } - # ] - # } - # ] - # } - # ], - # "vrf": "testvrf" - # } - # ], - # "changed": true, - # "commands": [ - # "no ip route vrf testvrf 22.65.1.0/24 Null0 90 name testroute" - # ], + + # Task Output + # ------------- + # before: + # - address_families: + # - afi: ipv6 + # routes: + # - dest: 5222:5::/64 + # next_hops: + # - forward_router_address: 4312:100::1 + # interface: Management1 + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 22.65.1.0/24 + # next_hops: + # - admin_distance: 90 + # description: testroute + # interface: Null0 + # - afi: ipv6 + # routes: + # - dest: 2222:6::/64 + # next_hops: + # - forward_router_address: 4312:100::1 + # interface: Management1 + # - admin_distance: 55 + # interface: Ethernet1 + # - admin_distance: 90 + # description: testroute1 + # interface: Null0 + # vrf: testvrf + # commands: + # - no ip route vrf testvrf 22.65.1.0/24 Null0 90 name testroute + # after: + # - address_families: + # - afi: ipv6 + # routes: + # - dest: 5222:5::/64 + # next_hops: + # - forward_router_address: 4312:100::1 + # interface: Management1 + # - address_families: + # - afi: ipv6 + # routes: + # - dest: 2222:6::/64 + # next_hops: + # - forward_router_address: 4312:100::1 + # interface: Management1 + # - admin_distance: 55 + # interface: Ethernet1 + # - admin_distance: 90 + # description: testroute1 + # interface: Null0 + # vrf: testvrf + # After State # ___________ - # veos(config)#show running-config | grep route # ipv6 route 5222:5::/64 Management1 4312:100::1 # ipv6 route vrf testvrf 2222:6::/64 Management1 4312:100::1 # ipv6 route vrf testvrf 2222:6::/64 Ethernet1 55 # ipv6 route vrf testvrf 2222:6::/64 Null0 90 name testroute1 - # + # Using merged - # Before : [ - # { - # "address_families": [ - # { - # "afi": "ipv4", - # "routes": [ - # { - # "dest": "165.10.1.0/24", - # "next_hops": [ - # { - # "admin_distance": 100, - # "interface": "Ethernet1" - # } - # ] - # }, - # { - # "dest": "172.17.252.0/24", - # "next_hops": [ - # { - # "nexthop_grp": "testgroup" - # } - # ] - # } - # ] - # }, - # { - # "afi": "ipv6", - # "routes": [ - # { - # "dest": "5001::/64", - # "next_hops": [ - # { - # "admin_distance": 50, - # "interface": "Ethernet1" - # } - # ] - # } - # ] - # } - # ] - # }, - # { - # "address_families": [ - # { - # "afi": "ipv4", - # "routes": [ - # { - # "dest": "130.1.122.0/24", - # "next_hops": [ - # { - # "interface": "Ethernet1", - # "tag": 50 - # } - # ] - # } - # ] - # } - # ], - # "vrf": "testvrf" - # } - # ] - # + # Before State # ------------- # veos(config)#show running-config | grep "route" @@ -627,99 +506,84 @@ Examples # ipv6 route 5001::/64 Ethernet1 50 # veos(config)# + - name: Merge new static route configuration arista.eos.eos_static_routes: config: - - vrf: testvrf - address_families: - - afi: ipv6 - routes: - - dest: 2211::0/64 - next_hop: - - forward_router_address: 100:1::2 - interface: Ethernet1 + - vrf: testvrf + address_families: + - afi: ipv6 + routes: + - dest: 2211::0/64 + next_hop: + - forward_router_address: 100:1::2 + interface: Ethernet1 state: merged + + # Task Output + # ------------- + # before: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 165.10.1.0/24 + # next_hops: + # - admin_distance: 100 + # interface: Ethernet1 + # - dest: 172.17.252.0/24 + # next_hops: + # - nexthop_grp: testgroup + # - afi: ipv6 + # routes: + # - dest: 5001::/64 + # next_hops: + # - admin_distance: 50 + # interface: Ethernet1 + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 130.1.122.0/24 + # next_hops: + # - interface: Ethernet1 + # tag: 50 + # vrf: testvrf + # commands: + # - ipv6 route 2211::/64 Ethernet1 100:1::2 + # after: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 165.10.1.0/24 + # next_hops: + # - admin_distance: 100 + # interface: Ethernet1 + # - dest: 172.17.252.0/24 + # next_hops: + # - nexthop_grp: testgroup + # - afi: ipv6 + # routes: + # - dest: 5001::/64 + # next_hops: + # - admin_distance: 50 + # interface: Ethernet1 + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 130.1.122.0/24 + # next_hops: + # - interface: Ethernet1 + # tag: 50 + # - afi: ipv6 + # routes: + # - dest: 2211::0/64 + # next_hops: + # - aforward_router_address: "100:1::2" + # interface: Ethernet1 + # vrf: testvrf + # After State # ----------- - - #After [ - # { - # "address_families": [ - # { - # "afi": "ipv4", - # "routes": [ - # { - # "dest": "165.10.1.0/24", - # "next_hops": [ - # { - # "admin_distance": 100, - # "interface": "Ethernet1" - # } - # ] - # }, - # { - # "dest": "172.17.252.0/24", - # "next_hops": [ - # { - # "nexthop_grp": "testgroup" - # } - # ] - # } - # ] - # }, - # { - # "afi": "ipv6", - # "routes": [ - # { - # "dest": "5001::/64", - # "next_hops": [ - # { - # "admin_distance": 50, - # "interface": "Ethernet1" - # } - # ] - # } - # ] - # } - # ] - # }, - # { - # "address_families": [ - # { - # "afi": "ipv4", - # "routes": [ - # { - # "dest": "130.1.122.0/24", - # "next_hops": [ - # { - # "interface": "Ethernet1", - # "tag": 50 - # } - # ] - # } - # ] - # }, - # { - # "afi": "ipv6", - # "routes": [ - # { - # "dest": "2211::0/64", - # "next_hops": [ - # { - # "aforward_router_address": 100:1::2 - # "interface": "Ethernet1" - # } - # ] - # } - # ] - # } - - # ], - # "vrf": "testvrf" - # } - # ] - # # veos(config)#show running-config | grep "route" # ip route 165.10.1.0/24 Ethernet1 100 # ip route 172.17.252.0/24 Nexthop-Group testgroup @@ -734,68 +598,6 @@ Examples # Before State # ------------- - - # "before": [ - # { - # "address_families": [ - # { - # "afi": "ipv4", - # "routes": [ - # { - # "dest": "165.10.1.0/24", - # "next_hops": [ - # { - # "admin_distance": 100, - # "interface": "Ethernet1" - # } - # ] - # }, - # { - # "dest": "172.17.252.0/24", - # "next_hops": [ - # { - # "nexthop_grp": "testgroup" - # } - # ] - # } - # ] - # }, - # { - # "afi": "ipv6", - # "routes": [ - # { - # "dest": "5001::/64", - # "next_hops": [ - # { - # "admin_distance": 50, - # "interface": "Ethernet1" - # } - # ] - # } - # ] - # } - # ] - # }, - # { - # "address_families": [ - # { - # "afi": "ipv4", - # "routes": [ - # { - # "dest": "130.1.122.0/24", - # "next_hops": [ - # { - # "interface": "Ethernet1", - # "tag": 50 - # } - # ] - # } - # ] - # } - # ], - # "vrf": "testvrf" - # } - # ] # veos(config)#show running-config | grep "route" # ip route 165.10.1.0/24 Ethernet1 100 # ip route 172.17.252.0/24 Nexthop-Group testgroup @@ -803,39 +605,63 @@ Examples # ipv6 route 5001::/64 Ethernet1 50 # veos(config)# + - name: Overridden static route configuration arista.eos.eos_static_routes: config: - - address_families: - - afi: ipv4 - routes: - - dest: 10.2.2.0/24 - next_hop: - - interface: Ethernet1 + - address_families: + - afi: ipv4 + routes: + - dest: 10.2.2.0/24 + next_hop: + - interface: Ethernet1 state: replaced + + # Task Output + # ------------- + # before: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 165.10.1.0/24 + # next_hops: + # - admin_distance: 100 + # interface: Ethernet1 + # - dest: 172.17.252.0/24 + # next_hops: + # - nexthop_grp: testgroup + # - afi: ipv6 + # routes: + # - dest: 5001::/64 + # next_hops: + # - admin_distance: 50 + # interface: Ethernet1 + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 130.1.122.0/24 + # next_hops: + # - interface: Ethernet1 + # tag: 50 + # vrf: testvrf + # commands: + # - no ip route 165.10.1.0/24 Ethernet1 100 + # - no ip route 172.17.252.0/24 Nexthop-Group testgroup + # - no ip route vrf testvrf 130.1.122.0/24 Ethernet1 tag 50 + # - no ipv6 route 5001::/64 Ethernet1 50 + # - ip route 10.2.2.0/24 Ethernet1 + # after: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 10.2.2.0/24 + # next_hops: + # - interface: Ethernet1 + + # After State # ----------- - - # "after": [ - # { - # "address_families": [ - # { - # "afi": "ipv4", - # "routes": [ - # { - # "dest": "10.2.2.0/24", - # "next_hops": [ - # { - # "interface": "Ethernet1" - # } - # ] - # } - # ] - # } - # ] - # } - # ] # veos(config)#show running-config | grep "route" # ip route 10.2.2.0/24 Ethernet1 # veos(config)# @@ -845,7 +671,6 @@ Examples # Before State # ------------- - # ip route 10.2.2.0/24 Ethernet1 # ip route 10.2.2.0/24 64.1.1.1 label 17 33 # ip route 33.33.33.0/24 Nexthop-Group testgrp @@ -855,108 +680,102 @@ Examples # ipv6 route vrf testvrf 2222:6::/64 Ethernet1 55 # ipv6 route vrf testvrf 2222:6::/64 Null0 90 name testroute1 - # [ - # { - # "address_families": [ - # { - # "afi": "ipv4", - # "routes": [ - # { - # "dest": "10.2.2.0/24", - # "next_hops": [ - # { - # "interface": "Ethernet1" - # }, - # { - # "admin_distance": 33, - # "interface": "64.1.1.1", - # "mpls_label": 17 - # } - # ] - # }, - # { - # "dest": "33.33.33.0/24", - # "next_hops": [ - # { - # "nexthop_grp": "testgrp" - # } - # ] - # } - # ] - # }, - # { - # "afi": "ipv6", - # "routes": [ - # { - # "dest": "5222:5::/64", - # "next_hops": [ - # { - # "forward_router_address": "4312:100::1", - # "interface": "Management1" - # } - # ] - # } - # ] - # } - # ] - # }, - # { - # "address_families": [ - # { - # "afi": "ipv4", - # "routes": [ - # { - # "dest": "22.65.1.0/24", - # "next_hops": [ - # { - # "admin_distance": 90, - # "description": "testroute", - # "interface": "Null0" - # } - # ] - # } - # ] - # }, - # { - # "afi": "ipv6", - # "routes": [ - # { - # "dest": "2222:6::/64", - # "next_hops": [ - # { - # "forward_router_address": "4312:100::1", - # "interface": "Management1" - # }, - # { - # "admin_distance": 90, - # "description": "testroute1", - # "interface": "Null0" - # } - # ] - # } - # ] - # } - # ], - # "vrf": "testvrf" - # } - # ] - name: Replace nexthop arista.eos.eos_static_routes: config: - - vrf: testvrf - address_families: - - afi: ipv6 - routes: - - dest: 2222:6::/64 - next_hops: - - admin_distance: 55 - interface: Ethernet1 + - vrf: testvrf + address_families: + - afi: ipv6 + routes: + - dest: 2222:6::/64 + next_hops: + - admin_distance: 56 + interface: Ethernet1 state: replaced + + # Task Output + # ------------- + # before: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 10.2.2.0/24 + # next_hops: + # - interface: Ethernet1 + # - admin_distance: 33 + # interface: 64.1.1.1 + # mpls_label: 17 + # - dest: 33.33.33.0/24 + # next_hops: + # - nexthop_grp: testgrp + # - afi: ipv6 + # routes: + # - dest: 5222:5::/64 + # next_hops: + # - forward_router_address: 4312:100::1 + # interface: Management1 + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 22.65.1.0/24 + # next_hops: + # - admin_distance: 90 + # description: testroute + # interface: Null0 + # - afi: ipv6 + # routes: + # - dest: 2222:6::/64 + # next_hops: + # - forward_router_address: 4312:100::1 + # interface: Management1 + # - admin_distance: 90 + # description: testroute1 + # interface: Null0 + # vrf: testvrf + # commands: + # - no ipv6 route vrf testvrf 2222:6::/64 Management1 4312:100::1 + # - no ipv6 route vrf testvrf 2222:6::/64 Ethernet1 55 + # - no ipv6 route vrf testvrf 2222:6::/64 Null0 90 name testroute1 + # - ipv6 route vrf testvrf 2222:6::/64 Ethernet1 56 + # after: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 10.2.2.0/24 + # next_hops: + # - interface: Ethernet1 + # - admin_distance: 33 + # interface: 64.1.1.1 + # mpls_label: 17 + # - dest: 33.33.33.0/24 + # next_hops: + # - nexthop_grp: testgrp + # - afi: ipv6 + # routes: + # - dest: 5222:5::/64 + # next_hops: + # - forward_router_address: 4312:100::1 + # interface: Management1 + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 22.65.1.0/24 + # next_hops: + # - admin_distance: 90 + # description: testroute + # interface: Null0 + # - afi: ipv6 + # routes: + # - dest: 2222:6::/64 + # next_hops: + # - admin_distance: 56 + # interface: Ethernet1 + # vrf: testvrf + # After State # ----------- - # veos(config)#show running-config | grep route # ip route 10.2.2.0/24 Ethernet1 # ip route 10.2.2.0/24 64.1.1.1 label 17 33 @@ -965,86 +784,9 @@ Examples # ipv6 route 5222:5::/64 Management1 4312:100::1 # ipv6 route vrf testvrf 2222:6::/64 Ethernet1 55 - # "after": [ - # { - # "address_families": [ - # { - # "afi": "ipv4", - # "routes": [ - # { - # "dest": "10.2.2.0/24", - # "next_hops": [ - # { - # "interface": "Ethernet1" - # }, - # { - # "admin_distance": 33, - # "interface": "64.1.1.1", - # "mpls_label": 17 - # } - # ] - # }, - # { - # "dest": "33.33.33.0/24", - # "next_hops": [ - # { - # "nexthop_grp": "testgrp" - # } - # ] - # } - # ] - # }, - # { - # "afi": "ipv6", - # "routes": [ - # { - # "dest": "5222:5::/64", - # "next_hops": [ - # { - # "forward_router_address": "4312:100::1", - # "interface": "Management1" - # } - # ] - # } - # ] - # } - # ] - # }, - # { - # "address_families": [ - # { - # "afi": "ipv4", - # "routes": [ - # { - # "dest": "22.65.1.0/24", - # "next_hops": [ - # { - # "admin_distance": 90, - # "description": "testroute", - # "interface": "Null0" - # } - # ] - # } - # ] - # }, - # { - # "afi": "ipv6", - # "routes": [ - # { - # "dest": "2222:6::/64", - # "next_hops": [ - # { - # "admin_distance": 55, - # "interface": "Ethernet1" - # } - # ] - # } - # ] - # } - # ], - # "vrf": "testvrf" - # } - # ] + + # Using Gathered + # Before State # ------------- @@ -1058,22 +800,22 @@ Examples arista.eos.eos_static_routes: state: gathered - # returns : - # arista.eos.eos_static_routes: - # config: - # - address_families: - # - afi: ipv4 - # routes: - # - dest: 165.10.1.0/24 - # next_hop: - # - forward_router_address: 10.1.1.2 - # interface: "Ethernet1" - # admin_distance: 100 - # - afi: ipv6 - # routes: - # - dest: 5001::/64 - # next_hop: - # - interface: "Ethernet1" + # Task Output + # ------------- + # gathered: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 165.10.1.0/24 + # next_hop: + # - forward_router_address: 10.1.1.2 + # interface: Ethernet1 + # admin_distance: 100 + # - afi: ipv6 + # routes: + # - dest: 5001::/64 + # next_hop: + # - interface: Ethernet1 # Using rendered @@ -1094,10 +836,45 @@ Examples # next_hop: # - interface: "Ethernet1" - # returns: + # Task Output + # ------------- + # rendered: + # - ip route 165.10.1.0/24 Ethernet1 10.1.1.2 100 + # - ipv6 route 5001::/64 Ethernet1 + + + # Using parsed: + + + # parse_static_routes.cfg # ip route 165.10.1.0/24 Ethernet1 10.1.1.2 100 # ipv6 route 5001::/64 Ethernet1 + # + + + - name: parse configs + arista.eos.eos_static_routes: + running_config: "{{ lookup('file', './parse_static_routes.cfg') }}" + state: parsed + + + # Task Output + # ------------- + # parsed: + # - address_families: + # - afi: ipv4 + # routes: + # - dest: 165.10.1.0/24 + # next_hop: + # - forward_router_address: 10.1.1.2 + # interface: Ethernet1 + # admin_distance: 100 + # - afi: ipv6 + # routes: + # - dest: 5001::/64 + # next_hop: + # - interface: Ethernet1 @@ -1163,7 +940,7 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <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 vrf vrf1 192.2.2.0/24 125.2.3.1 93']</div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">['ip route vrf vrf1 192.2.2.0/24 125.2.3.1 93', 'ipv6 route 5001::/64 Ethernet1']</div> </td> </tr> <tr> @@ -1214,35 +991,7 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late <div>The set of CLI commands generated from the value in <code>config</code> option</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;">"address_families": [ - { - "afi": "ipv4", - "routes": [ - { - "dest": "192.2.2.0/24", - "next_hops": [ - { - "admin_distance": 93, - "description": null, - "forward_router_address": null, - "interface": "125.2.3.1", - "mpls_label": null, - "nexthop_grp": null, - "tag": null, - "track": null, - "vrf": null - } - ] - } - ] - } - ], - "vrf": "vrf1" - } - ], - "running_config": null, - "state": "rendered" - }</div> + <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">- ip route 165.10.1.0/24 Ethernet1 10.1.1.2 100 - ipv6 route 5001::/64 Ethernet1</div> </td> </tr> </table> diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_system_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_system_module.rst index 3ec8dcdb9..12f080f75 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_system_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_system_module.rst @@ -164,22 +164,22 @@ Examples - name: configure DNS lookup sources with VRF support arista.eos.eos_system: lookup_source: - - interface: Management1 - vrf: mgmt - - interface: Ethernet1 - vrf: myvrf + - interface: Management1 + vrf: mgmt + - interface: Ethernet1 + vrf: myvrf - name: configure name servers arista.eos.eos_system: name_servers: - - 8.8.8.8 - - 8.8.4.4 + - 8.8.8.8 + - 8.8.4.4 - name: configure name servers with VRF support arista.eos.eos_system: name_servers: - - {server: 8.8.8.8, vrf: mgmt} - - {server: 8.8.4.4, vrf: mgmt} + - {server: 8.8.8.8, vrf: mgmt} + - {server: 8.8.4.4, vrf: mgmt} diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_user_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_user_module.rst index 16bedf51c..cc0aefdfa 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_user_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_user_module.rst @@ -367,13 +367,13 @@ Examples - name: remove all users except admin arista.eos.eos_user: - purge: yes + purge: true - name: set multiple users to privilege level 15 arista.eos.eos_user: aggregate: - - name: netop - - name: netend + - name: netop + - name: netend privilege: 15 state: present diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_vlans_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_vlans_module.rst index fc9714ccb..c6be2b9e0 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_vlans_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_vlans_module.rst @@ -177,7 +177,7 @@ Examples - name: Delete attributes of the given VLANs. arista.eos.eos_vlans: config: - - vlan_id: 20 + - vlan_id: 20 state: deleted # After state: @@ -203,8 +203,8 @@ Examples - name: Merge given VLAN attributes with device configuration arista.eos.eos_vlans: config: - - vlan_id: 20 - state: suspend + - vlan_id: 20 + state: suspend state: merged # After state: @@ -234,8 +234,8 @@ Examples - name: Override device configuration of all VLANs with provided configuration arista.eos.eos_vlans: config: - - vlan_id: 20 - state: suspend + - vlan_id: 20 + state: suspend state: overridden # After state: @@ -261,8 +261,8 @@ Examples - name: Replace all attributes of specified VLANs with provided configuration arista.eos.eos_vlans: config: - - vlan_id: 20 - state: suspend + - vlan_id: 20 + state: suspend state: replaced # After state: @@ -303,10 +303,10 @@ Examples - name: Use Rendered to convert the structured data to native config arista.eos.eos_vlans: config: - - vlan_id: 10 - name: ten - - vlan_id: 20 - state: suspend + - vlan_id: 10 + name: ten + - vlan_id: 20 + state: suspend state: rendered # Output: diff --git a/ansible_collections/arista/eos/docs/arista.eos.eos_vrf_module.rst b/ansible_collections/arista/eos/docs/arista.eos.eos_vrf_module.rst index dcde6db71..bf2351644 100644 --- a/ansible_collections/arista/eos/docs/arista.eos.eos_vrf_module.rst +++ b/ansible_collections/arista/eos/docs/arista.eos.eos_vrf_module.rst @@ -292,7 +292,7 @@ Examples name: test rd: 1:200 interfaces: - - Ethernet2 + - Ethernet2 state: present - name: Delete VRFs @@ -303,20 +303,20 @@ Examples - name: Create aggregate of VRFs with purge arista.eos.eos_vrf: aggregate: - - name: test4 - rd: 1:204 - - name: test5 - rd: 1:205 + - name: test4 + rd: 1:204 + - name: test5 + rd: 1:205 state: present - purge: yes + purge: true - name: Delete aggregate of VRFs arista.eos.eos_vrf: aggregate: - - name: test2 - - name: test3 - - name: test4 - - name: test5 + - name: test2 + - name: test3 + - name: test4 + - name: test5 state: absent diff --git a/ansible_collections/arista/eos/plugins/action/acl_interfaces.py b/ansible_collections/arista/eos/plugins/action/acl_interfaces.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/acl_interfaces.py +++ b/ansible_collections/arista/eos/plugins/action/acl_interfaces.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/acls.py b/ansible_collections/arista/eos/plugins/action/acls.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/acls.py +++ b/ansible_collections/arista/eos/plugins/action/acls.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/banner.py b/ansible_collections/arista/eos/plugins/action/banner.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/banner.py +++ b/ansible_collections/arista/eos/plugins/action/banner.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/bgp.py b/ansible_collections/arista/eos/plugins/action/bgp.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/bgp.py +++ b/ansible_collections/arista/eos/plugins/action/bgp.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/bgp_address_family.py b/ansible_collections/arista/eos/plugins/action/bgp_address_family.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/bgp_address_family.py +++ b/ansible_collections/arista/eos/plugins/action/bgp_address_family.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/bgp_global.py b/ansible_collections/arista/eos/plugins/action/bgp_global.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/bgp_global.py +++ b/ansible_collections/arista/eos/plugins/action/bgp_global.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/command.py b/ansible_collections/arista/eos/plugins/action/command.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/command.py +++ b/ansible_collections/arista/eos/plugins/action/command.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/config.py b/ansible_collections/arista/eos/plugins/action/config.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/config.py +++ b/ansible_collections/arista/eos/plugins/action/config.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/eapi.py b/ansible_collections/arista/eos/plugins/action/eapi.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/eapi.py +++ b/ansible_collections/arista/eos/plugins/action/eapi.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/eos.py b/ansible_collections/arista/eos/plugins/action/eos.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/eos.py +++ b/ansible_collections/arista/eos/plugins/action/eos.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/facts.py b/ansible_collections/arista/eos/plugins/action/facts.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/facts.py +++ b/ansible_collections/arista/eos/plugins/action/facts.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/hostname.py b/ansible_collections/arista/eos/plugins/action/hostname.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/hostname.py +++ b/ansible_collections/arista/eos/plugins/action/hostname.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/interface.py b/ansible_collections/arista/eos/plugins/action/interface.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/interface.py +++ b/ansible_collections/arista/eos/plugins/action/interface.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/interfaces.py b/ansible_collections/arista/eos/plugins/action/interfaces.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/interfaces.py +++ b/ansible_collections/arista/eos/plugins/action/interfaces.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/l2_interface.py b/ansible_collections/arista/eos/plugins/action/l2_interface.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/l2_interface.py +++ b/ansible_collections/arista/eos/plugins/action/l2_interface.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/l2_interfaces.py b/ansible_collections/arista/eos/plugins/action/l2_interfaces.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/l2_interfaces.py +++ b/ansible_collections/arista/eos/plugins/action/l2_interfaces.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/l3_interface.py b/ansible_collections/arista/eos/plugins/action/l3_interface.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/l3_interface.py +++ b/ansible_collections/arista/eos/plugins/action/l3_interface.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/l3_interfaces.py b/ansible_collections/arista/eos/plugins/action/l3_interfaces.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/l3_interfaces.py +++ b/ansible_collections/arista/eos/plugins/action/l3_interfaces.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/lacp.py b/ansible_collections/arista/eos/plugins/action/lacp.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/lacp.py +++ b/ansible_collections/arista/eos/plugins/action/lacp.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/lacp_interfaces.py b/ansible_collections/arista/eos/plugins/action/lacp_interfaces.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/lacp_interfaces.py +++ b/ansible_collections/arista/eos/plugins/action/lacp_interfaces.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/lag_interfaces.py b/ansible_collections/arista/eos/plugins/action/lag_interfaces.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/lag_interfaces.py +++ b/ansible_collections/arista/eos/plugins/action/lag_interfaces.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/linkagg.py b/ansible_collections/arista/eos/plugins/action/linkagg.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/linkagg.py +++ b/ansible_collections/arista/eos/plugins/action/linkagg.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/lldp.py b/ansible_collections/arista/eos/plugins/action/lldp.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/lldp.py +++ b/ansible_collections/arista/eos/plugins/action/lldp.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/lldp_global.py b/ansible_collections/arista/eos/plugins/action/lldp_global.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/lldp_global.py +++ b/ansible_collections/arista/eos/plugins/action/lldp_global.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/lldp_interfaces.py b/ansible_collections/arista/eos/plugins/action/lldp_interfaces.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/lldp_interfaces.py +++ b/ansible_collections/arista/eos/plugins/action/lldp_interfaces.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/logging.py b/ansible_collections/arista/eos/plugins/action/logging.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/logging.py +++ b/ansible_collections/arista/eos/plugins/action/logging.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/logging_global.py b/ansible_collections/arista/eos/plugins/action/logging_global.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/logging_global.py +++ b/ansible_collections/arista/eos/plugins/action/logging_global.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/ntp_global.py b/ansible_collections/arista/eos/plugins/action/ntp_global.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/ntp_global.py +++ b/ansible_collections/arista/eos/plugins/action/ntp_global.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/ospf_interfaces.py b/ansible_collections/arista/eos/plugins/action/ospf_interfaces.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/ospf_interfaces.py +++ b/ansible_collections/arista/eos/plugins/action/ospf_interfaces.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/ospfv2.py b/ansible_collections/arista/eos/plugins/action/ospfv2.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/ospfv2.py +++ b/ansible_collections/arista/eos/plugins/action/ospfv2.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/ospfv3.py b/ansible_collections/arista/eos/plugins/action/ospfv3.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/ospfv3.py +++ b/ansible_collections/arista/eos/plugins/action/ospfv3.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/prefix_lists.py b/ansible_collections/arista/eos/plugins/action/prefix_lists.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/prefix_lists.py +++ b/ansible_collections/arista/eos/plugins/action/prefix_lists.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/route_maps.py b/ansible_collections/arista/eos/plugins/action/route_maps.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/route_maps.py +++ b/ansible_collections/arista/eos/plugins/action/route_maps.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/snmp_server.py b/ansible_collections/arista/eos/plugins/action/snmp_server.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/snmp_server.py +++ b/ansible_collections/arista/eos/plugins/action/snmp_server.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/static_route.py b/ansible_collections/arista/eos/plugins/action/static_route.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/static_route.py +++ b/ansible_collections/arista/eos/plugins/action/static_route.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/static_routes.py b/ansible_collections/arista/eos/plugins/action/static_routes.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/static_routes.py +++ b/ansible_collections/arista/eos/plugins/action/static_routes.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/system.py b/ansible_collections/arista/eos/plugins/action/system.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/system.py +++ b/ansible_collections/arista/eos/plugins/action/system.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/user.py b/ansible_collections/arista/eos/plugins/action/user.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/user.py +++ b/ansible_collections/arista/eos/plugins/action/user.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/vlan.py b/ansible_collections/arista/eos/plugins/action/vlan.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/vlan.py +++ b/ansible_collections/arista/eos/plugins/action/vlan.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/vlans.py b/ansible_collections/arista/eos/plugins/action/vlans.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/vlans.py +++ b/ansible_collections/arista/eos/plugins/action/vlans.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/action/vrf.py b/ansible_collections/arista/eos/plugins/action/vrf.py index 0afb7e88f..6aeb55375 100644 --- a/ansible_collections/arista/eos/plugins/action/vrf.py +++ b/ansible_collections/arista/eos/plugins/action/vrf.py @@ -36,9 +36,7 @@ class ActionModule(ActionNetworkModule): del tmp # tmp no longer has any effect module_name = self._task.action.split(".")[-1] - self._config_module = ( - True if module_name in ["eos_config", "config"] else False - ) + self._config_module = True if module_name in ["eos_config", "config"] else False persistent_connection = self._play_context.connection.split(".")[-1] warnings = [] diff --git a/ansible_collections/arista/eos/plugins/cliconf/eos.py b/ansible_collections/arista/eos/plugins/cliconf/eos.py index d5347307d..9c6fb753c 100644 --- a/ansible_collections/arista/eos/plugins/cliconf/eos.py +++ b/ansible_collections/arista/eos/plugins/cliconf/eos.py @@ -64,17 +64,13 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.c NetworkConfig, dumps, ) -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( - to_list, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import to_list from ansible_collections.ansible.netcommon.plugins.plugin_utils.cliconf_base import ( CliconfBase, enable_mode, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.eos import ( - session_name, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.eos import session_name class Cliconf(CliconfBase): @@ -383,9 +379,7 @@ class Cliconf(CliconfBase): else: configdiffobjs = candidate_obj.items - diff["config_diff"] = ( - dumps(configdiffobjs, "commands") if configdiffobjs else "" - ) + diff["config_diff"] = dumps(configdiffobjs, "commands") if configdiffobjs else "" return diff def supports_sessions(self): diff --git a/ansible_collections/arista/eos/plugins/httpapi/eos.py b/ansible_collections/arista/eos/plugins/httpapi/eos.py index 9fa9dfd3e..e24dc57df 100644 --- a/ansible_collections/arista/eos/plugins/httpapi/eos.py +++ b/ansible_collections/arista/eos/plugins/httpapi/eos.py @@ -31,16 +31,10 @@ import json from ansible.errors import AnsibleConnectionFailure from ansible.module_utils._text import to_text from ansible.module_utils.connection import ConnectionError -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( - to_list, -) -from ansible_collections.ansible.netcommon.plugins.plugin_utils.httpapi_base import ( - HttpApiBase, -) - -from ansible_collections.arista.eos.plugins.module_utils.network.eos.eos import ( - session_name, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import to_list +from ansible_collections.ansible.netcommon.plugins.plugin_utils.httpapi_base import HttpApiBase + +from ansible_collections.arista.eos.plugins.module_utils.network.eos.eos import session_name OPTIONS = { diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/argspec/bgp_global/bgp_global.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/argspec/bgp_global/bgp_global.py index 96a055e43..5169baacc 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/argspec/bgp_global/bgp_global.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/argspec/bgp_global/bgp_global.py @@ -47,6 +47,7 @@ class Bgp_globalArgs(object): # pylint: disable=R0903 "purged", "merged", "replaced", + "overridden", "gathered", "rendered", "parsed", diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/acl_interfaces/acl_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/acl_interfaces/acl_interfaces.py index c76e79595..3014acf8a 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/acl_interfaces/acl_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/acl_interfaces/acl_interfaces.py @@ -26,9 +26,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u to_list, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts class Acl_interfaces(ConfigBase): @@ -442,13 +440,7 @@ def add_commands(want, interface): if "acls" in w.keys(): for acl in w["acls"]: commands.append( - afi - + " " - + a_cmd - + " " - + acl["name"] - + " " - + acl["direction"], + afi + " " + a_cmd + " " + acl["name"] + " " + acl["direction"], ) return commands @@ -469,13 +461,6 @@ def remove_commands(want, interface): if "acls" in w.keys(): for acl in w["acls"]: commands.append( - "no " - + afi - + " " - + a_cmd - + " " - + acl["name"] - + " " - + acl["direction"], + "no " + afi + " " + a_cmd + " " + acl["name"] + " " + acl["direction"], ) return commands diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/acls/acls.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/acls/acls.py index 17fe6cfd3..dbc7f2d00 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/acls/acls.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/acls/acls.py @@ -29,9 +29,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u to_list, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts class Acls(ConfigBase): @@ -156,7 +154,9 @@ class Acls(ConfigBase): have_seq_num = re.search(r"(\d+) (.*)", h) if seq_num.group(1) == have_seq_num.group( 1, - ) and have_seq_num.group(2) != seq_num.group(2): + ) and have_seq_num.group( + 2, + ) != seq_num.group(2): negate_cmd = "no " + seq_num.group(1) config.insert(config.index(w), negate_cmd) if w in h: @@ -182,10 +182,7 @@ class Acls(ConfigBase): to the desired configuration """ commands = [] - if ( - self.state in ("merged", "replaced", "overridden", "rendered") - and not want - ): + if self.state in ("merged", "replaced", "overridden", "rendered") and not want: self._module.fail_json( msg="value of config parameter must not be empty for state {0}".format( self.state, @@ -440,14 +437,8 @@ def set_commands(want, have): want_aces = wacl["aces"] for wace in wacl["aces"]: for hace in hacl.get("aces", []): - if ( - "sequence" in wace.keys() - and "sequence" in hace.keys() - ): - if ( - wace["sequence"] - == hace["sequence"] - ): + if "sequence" in wace.keys() and "sequence" in hace.keys(): + if wace["sequence"] == hace["sequence"]: wace_updated = get_updated_ace( wace, hace, @@ -538,16 +529,12 @@ def add_commands(want): for op, val in ace["source"]["port_protocol"].items(): if val.isdigit(): val = socket.getservbyport(int(val)) - command = ( - command + " " + op + " " + val.replace("_", "-") - ) + command = command + " " + op + " " + val.replace("_", "-") if "destination" in ace.keys(): if "any" in ace["destination"].keys(): command = command + " any" elif "subnet_address" in ace["destination"].keys(): - command = ( - command + " " + ace["destination"]["subnet_address"] - ) + command = command + " " + ace["destination"]["subnet_address"] elif "host" in ace["destination"].keys(): command = command + " host " + ace["destination"]["host"] elif "address" in ace["destination"].keys(): @@ -574,9 +561,7 @@ def add_commands(want): for proto in ace["protocol_options"].keys(): if proto == "icmp" or proto == "icmpv6": for icmp_msg in ace["protocol_options"][proto].keys(): - command = ( - command + " " + icmp_msg.replace("_", "-") - ) + command = command + " " + icmp_msg.replace("_", "-") elif proto == "ip" or proto == "ipv6": command = ( command @@ -584,9 +569,7 @@ def add_commands(want): + ace["protocol_options"][proto]["nexthop_group"] ) elif proto == "tcp": - for flag, val in ace["protocol_options"][proto][ - "flags" - ].items(): + for flag, val in ace["protocol_options"][proto]["flags"].items(): if val: command = command + " " + flag if "hop_limit" in ace.keys(): diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/bgp_address_family/bgp_address_family.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/bgp_address_family/bgp_address_family.py index 021074805..3f0ad8122 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/bgp_address_family/bgp_address_family.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/bgp_address_family/bgp_address_family.py @@ -28,9 +28,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u dict_merge, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.rm_templates.bgp_address_family import ( Bgp_afTemplate, ) diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/bgp_global/bgp_global.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/bgp_global/bgp_global.py index 4658ced75..a556a7f04 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/bgp_global/bgp_global.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/bgp_global/bgp_global.py @@ -26,9 +26,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u dict_merge, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.rm_templates.bgp_global import ( Bgp_globalTemplate, ) @@ -85,10 +83,7 @@ class Bgp_global(ResourceModule): """ wantd = {} haved = {} - if ( - self.want.get("as_number") == self.have.get("as_number") - or not self.have - ): + if self.want.get("as_number") == self.have.get("as_number") or not self.have: if self.want: wantd = {self.want["as_number"]: self.want} if self.have: diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/hostname/hostname.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/hostname/hostname.py index 026e1ae19..469b95f08 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/hostname/hostname.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/hostname/hostname.py @@ -22,9 +22,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.r ResourceModule, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.rm_templates.hostname import ( HostnameTemplate, ) diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/interfaces/interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/interfaces/interfaces.py index fdaa9e979..9680a5bc7 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/interfaces/interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/interfaces/interfaces.py @@ -26,9 +26,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u to_list, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.utils.utils import ( normalize_interface, ) @@ -131,10 +129,7 @@ class Interfaces(ConfigBase): to the desired configuration """ state = self._module.params["state"] - if ( - state in ("merged", "replaced", "overridden", "rendered") - and not want - ): + if state in ("merged", "replaced", "overridden", "rendered") and not want: self._module.fail_json( msg="value of config parameter must not be empty for state {0}".format( state, @@ -172,10 +167,7 @@ class Interfaces(ConfigBase): add_config = dict_diff(extant, desired) del_config = dict_diff(desired, extant) - if ( - "speed" in add_config.keys() - and "duplex" not in add_config.keys() - ): + if "speed" in add_config.keys() and "duplex" not in add_config.keys(): add_config.update({"duplex": desired.get("duplex")}) commands.extend(generate_commands(key, add_config, del_config)) @@ -200,10 +192,7 @@ class Interfaces(ConfigBase): add_config = dict_diff(extant, desired) del_config = dict_diff(desired, extant) - if ( - "speed" in add_config.keys() - and "duplex" not in add_config.keys() - ): + if "speed" in add_config.keys() and "duplex" not in add_config.keys(): add_config.update({"duplex": desired.get("duplex")}) commands.extend(generate_commands(key, add_config, del_config)) @@ -227,10 +216,7 @@ class Interfaces(ConfigBase): extant = dict() add_config = dict_diff(extant, desired) - if ( - "speed" in add_config.keys() - and "duplex" not in add_config.keys() - ): + if "speed" in add_config.keys() and "duplex" not in add_config.keys(): add_config.update({"duplex": desired.get("duplex")}) commands.extend(generate_commands(key, add_config, {})) diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/l2_interfaces/l2_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/l2_interfaces/l2_interfaces.py index a34c1614a..76df21e70 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/l2_interfaces/l2_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/l2_interfaces/l2_interfaces.py @@ -23,9 +23,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u to_list, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.utils.utils import ( normalize_interface, vlan_range_to_list, @@ -135,10 +133,7 @@ class L2_interfaces(ConfigBase): to the desired configuration """ state = self._module.params["state"] - if ( - state in ("merged", "replaced", "overridden", "rendered") - and not want - ): + if state in ("merged", "replaced", "overridden", "rendered") and not want: self._module.fail_json( msg="value of config parameter must not be empty for state {0}".format( state, @@ -286,8 +281,7 @@ def set_interface(want, have): if want_allowed_vlans and has_allowed_vlans: allowed_vlans = list( - set(want_allowed_vlans.split(",")) - - set(has_allowed_vlans.split(",")), + set(want_allowed_vlans.split(",")) - set(has_allowed_vlans.split(",")), ) elif want_allowed_vlans: allowed_vlans = want_allowed_vlans.split(",") @@ -332,22 +326,15 @@ def clear_interface(want, have): has_trunk = have.get("trunk") or {} wants_trunk = want.get("trunk") or {} - if ( - "trunk_allowed_vlans" in has_trunk - and "trunk_allowed_vlans" not in wants_trunk - ): + if "trunk_allowed_vlans" in has_trunk and "trunk_allowed_vlans" not in wants_trunk: commands.append("no switchport trunk allowed vlan") - if ( - "trunk_allowed_vlans" in has_trunk - and "trunk_allowed_vlans" in wants_trunk - ): + if "trunk_allowed_vlans" in has_trunk and "trunk_allowed_vlans" in wants_trunk: for con in [want, have]: expand_trunk_allowed_vlans(con) want_allowed_vlans = want["trunk"].get("trunk_allowed_vlans") has_allowed_vlans = has_trunk.get("trunk_allowed_vlans") allowed_vlans = list( - set(has_allowed_vlans.split(",")) - - set(want_allowed_vlans.split(",")), + set(has_allowed_vlans.split(",")) - set(want_allowed_vlans.split(",")), ) if allowed_vlans: allowed_vlans = ",".join( diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/l3_interfaces/l3_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/l3_interfaces/l3_interfaces.py index a34e23619..75cac01bd 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/l3_interfaces/l3_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/l3_interfaces/l3_interfaces.py @@ -23,9 +23,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u to_list, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.utils.utils import ( normalize_interface, ) @@ -133,10 +131,7 @@ class L3_interfaces(ConfigBase): to the desired configuration """ state = self._module.params["state"] - if ( - state in ("merged", "replaced", "overridden", "rendered") - and not want - ): + if state in ("merged", "replaced", "overridden", "rendered") and not want: self._module.fail_json( msg="value of config parameter must not be empty for state {0}".format( state, @@ -274,12 +269,8 @@ class L3_interfaces(ConfigBase): def set_interface(want, have): commands = [] - want_ipv4 = set( - tuple(sorted(address.items())) for address in want.get("ipv4") or [] - ) - have_ipv4 = set( - tuple(sorted(address.items())) for address in have.get("ipv4") or [] - ) + want_ipv4 = set(tuple(sorted(address.items())) for address in want.get("ipv4") or []) + have_ipv4 = set(tuple(sorted(address.items())) for address in have.get("ipv4") or []) for address in want_ipv4 - have_ipv4: address = dict(address) for param in ["secondary", "virtual"]: @@ -295,12 +286,8 @@ def set_interface(want, have): address_cmd = "ip address virtual {0}".format(address["address"]) commands.append(address_cmd) - want_ipv6 = set( - tuple(sorted(address.items())) for address in want.get("ipv6") or [] - ) - have_ipv6 = set( - tuple(sorted(address.items())) for address in have.get("ipv6") or [] - ) + want_ipv6 = set(tuple(sorted(address.items())) for address in want.get("ipv6") or []) + have_ipv6 = set(tuple(sorted(address.items())) for address in have.get("ipv6") or []) for address in want_ipv6 - have_ipv6: address = dict(address) commands.append("ipv6 address {0}".format(address["address"])) @@ -309,12 +296,8 @@ def set_interface(want, have): def clear_interface(want, have): commands = [] - want_ipv4 = set( - tuple(sorted(address.items())) for address in want.get("ipv4") or [] - ) - have_ipv4 = set( - tuple(sorted(address.items())) for address in have.get("ipv4") or [] - ) + want_ipv4 = set(tuple(sorted(address.items())) for address in want.get("ipv4") or []) + have_ipv4 = set(tuple(sorted(address.items())) for address in have.get("ipv4") or []) if not want_ipv4 and have_ipv4: commands.append("no ip address") else: @@ -339,12 +322,8 @@ def clear_interface(want, have): # Removing non-secondary removes all other interfaces break - want_ipv6 = set( - tuple(sorted(address.items())) for address in want.get("ipv6") or [] - ) - have_ipv6 = set( - tuple(sorted(address.items())) for address in have.get("ipv6") or [] - ) + want_ipv6 = set(tuple(sorted(address.items())) for address in want.get("ipv6") or []) + have_ipv6 = set(tuple(sorted(address.items())) for address in have.get("ipv6") or []) for address in have_ipv6 - want_ipv6: address = dict(address) commands.append("no ipv6 address {0}".format(address["address"])) diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lacp/lacp.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lacp/lacp.py index 0d7ba850f..c3ef9c36e 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lacp/lacp.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lacp/lacp.py @@ -23,9 +23,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u to_list, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts class Lacp(ConfigBase): diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lacp_interfaces/lacp_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lacp_interfaces/lacp_interfaces.py index 64746f880..563612484 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lacp_interfaces/lacp_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lacp_interfaces/lacp_interfaces.py @@ -24,9 +24,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u to_list, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.utils.utils import ( normalize_interface, ) @@ -130,10 +128,7 @@ class Lacp_interfaces(ConfigBase): to the desired configuration """ state = self._module.params["state"] - if ( - state in ("merged", "replaced", "overridden", "rendered") - and not want - ): + if state in ("merged", "replaced", "overridden", "rendered") and not want: self._module.fail_json( msg="value of config parameter must not be empty for state {0}".format( state, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lag_interfaces/lag_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lag_interfaces/lag_interfaces.py index b69ae175f..0269a4cc2 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lag_interfaces/lag_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lag_interfaces/lag_interfaces.py @@ -25,9 +25,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u to_list, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.utils.utils import ( normalize_interface, ) @@ -132,10 +130,7 @@ class Lag_interfaces(ConfigBase): to the desired configuration """ state = self._module.params["state"] - if ( - state in ("merged", "replaced", "overridden", "rendered") - and not want - ): + if state in ("merged", "replaced", "overridden", "rendered") and not want: self._module.fail_json( msg="value of config parameter must not be empty for state {0}".format( state, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lldp_global/lldp_global.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lldp_global/lldp_global.py index f42471ff9..47edf4366 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lldp_global/lldp_global.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lldp_global/lldp_global.py @@ -24,9 +24,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u to_list, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts class Lldp_global(ConfigBase): @@ -130,10 +128,7 @@ class Lldp_global(ConfigBase): to the desired configuration """ state = self._module.params["state"] - if ( - state in ("merged", "replaced", "overridden", "rendered") - and not want - ): + if state in ("merged", "replaced", "overridden", "rendered") and not want: self._module.fail_json( msg="value of config parameter must not be empty for state {0}".format( state, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lldp_interfaces/lldp_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lldp_interfaces/lldp_interfaces.py index c0325102b..8e59b86ac 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lldp_interfaces/lldp_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/lldp_interfaces/lldp_interfaces.py @@ -24,9 +24,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u to_list, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.utils.utils import ( normalize_interface, ) @@ -132,10 +130,7 @@ class Lldp_interfaces(ConfigBase): to the desired configuration """ state = self._module.params["state"] - if ( - state in ("merged", "replaced", "overridden", "rendered") - and not want - ): + if state in ("merged", "replaced", "overridden", "rendered") and not want: self._module.fail_json( msg="value of config parameter must not be empty for state {0}".format( state, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/logging_global/logging_global.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/logging_global/logging_global.py index 8016b29d7..b6881afa9 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/logging_global/logging_global.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/logging_global/logging_global.py @@ -26,9 +26,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u dict_merge, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.rm_templates.logging_global import ( Logging_globalTemplate, ) diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ntp_global/ntp_global.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ntp_global/ntp_global.py index 0b8323d15..3d9b59c58 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ntp_global/ntp_global.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ntp_global/ntp_global.py @@ -26,9 +26,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u dict_merge, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.rm_templates.ntp_global import ( Ntp_globalTemplate, ) diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ospf_interfaces/ospf_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ospf_interfaces/ospf_interfaces.py index 38d46bd7c..9003864e8 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ospf_interfaces/ospf_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ospf_interfaces/ospf_interfaces.py @@ -25,9 +25,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u dict_merge, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.rm_templates.ospf_interfaces import ( Ospf_interfacesTemplate, ) diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ospfv2/ospfv2.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ospfv2/ospfv2.py index f7e85d4a2..6ff7cfe9d 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ospfv2/ospfv2.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ospfv2/ospfv2.py @@ -27,9 +27,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u to_list, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts class Ospfv2(ConfigBase): @@ -130,10 +128,7 @@ class Ospfv2(ConfigBase): to the desired configuration """ commands = [] - if ( - self.state in ("merged", "replaced", "overridden", "rendered") - and not want - ): + if self.state in ("merged", "replaced", "overridden", "rendered") and not want: self._module.fail_json( msg="value of config parameter must not be empty for state {0}".format( self.state, @@ -152,9 +147,7 @@ class Ospfv2(ConfigBase): def _get_os_version(self): os_version = "4.20" if self._connection(): - os_version = self._connection.get_device_info()[ - "network_os_version" - ] + os_version = self._connection.get_device_info()["network_os_version"] return os_version def _state_replaced(self, want, have): @@ -357,9 +350,7 @@ class Ospfv2(ConfigBase): if ospf_params.get("traffic_engineering"): commands.append("traffic-engineering") if ospf_params.get("adjacency"): - threshold = ospf_params["adjacency"]["exchange_start"][ - "threshold" - ] + threshold = ospf_params["adjacency"]["exchange_start"]["threshold"] commands.append( "adjacency exchange-start threshold " + str(threshold), ) @@ -370,7 +361,7 @@ class Ospfv2(ConfigBase): if ospf_params.get("auto_cost"): commands.append( "auto-cost reference-bandwidth " - + ospf_params["auto_cost"], + + str(ospf_params["auto_cost"]["reference_bandwidth"]), ) if ospf_params.get("bfd"): os_version = self._get_os_version() @@ -386,9 +377,7 @@ class Ospfv2(ConfigBase): ) if ospf_params.get("default_metric"): commands.append( - "default-metric" - + " " - + str(ospf_params["default_metric"]), + "default-metric" + " " + str(ospf_params["default_metric"]), ) if ospf_params.get("distance"): for k, v in ospf_params["distance"].items(): @@ -441,8 +430,7 @@ class Ospfv2(ConfigBase): if ospf_params.get("passive_interface"): if "interface_list" in ospf_params["passive_interface"].keys(): commands.append( - "passive-interface " - + ospf_params["passive_interface"]["interface_list"], + "passive-interface " + ospf_params["passive_interface"]["interface_list"], ) else: commands.append("passive-interface default") @@ -454,8 +442,7 @@ class Ospfv2(ConfigBase): commands.append(c) if ospf_params.get("retransmission_threshold"): commands.append( - "retransmission-threshold lsa " - + str(ospf_params["retransmission_threshold"]), + "retransmission-threshold lsa " + str(ospf_params["retransmission_threshold"]), ) if ospf_params.get("rfc1583compatibility"): commands.append("compatible rfc1583") @@ -506,8 +493,7 @@ class Ospfv2(ConfigBase): w_inst.keys(), ) == ["process_id"]: commands.append( - "no router ospf " - + str(w_inst["process_id"]), + "no router ospf " + str(w_inst["process_id"]), ) router_context = 1 if not router_context: @@ -528,15 +514,8 @@ class Ospfv2(ConfigBase): if cmd not in commands: commands.append(cmd) other_commands += 1 - if ( - not other_commands - and len(commands) == 1 - and not router_context - ): - if ( - "no" not in commands[0] - and "router ospf" in commands[0] - ): + if not other_commands and len(commands) == 1 and not router_context: + if "no" not in commands[0] and "router ospf" in commands[0]: commands[0] = "no " + commands[0] return commands @@ -544,9 +523,7 @@ class Ospfv2(ConfigBase): def _get_router_command(inst): command = "" if inst.get("vrf") and inst.get("vrf") != "default": - command = ( - "router ospf " + str(inst["process_id"]) + " vrf " + inst["vrf"] - ) + command = "router ospf " + str(inst["process_id"]) + " vrf " + inst["vrf"] else: command = "router ospf " + str(inst["process_id"]) return command @@ -576,9 +553,7 @@ def _parse_areas(areas): ) elif area.get("not_so_stubby"): command.append( - area_cmd - + " " - + _parse_areas_filter_notsostubby(area["not_so_stubby"]), + area_cmd + " " + _parse_areas_filter_notsostubby(area["not_so_stubby"]), ) elif area.get("nssa"): command.append( @@ -597,10 +572,7 @@ def _parse_areas_filter(filter_dict): filter_cmd = filter_cmd + filter_dict.get("address") else: filter_cmd = ( - filter_cmd - + filter_dict.get("subnet_address") - + " " - + filter_dict.get("subnet_mask") + filter_cmd + filter_dict.get("subnet_address") + " " + filter_dict.get("subnet_mask") ) return filter_cmd @@ -610,17 +582,11 @@ def _parse_areas_filter_notsostubby(nss_dict): if nss_dict.get("default_information_originate"): nss_cmd = nss_cmd + "default-information-originate " for def_keys in nss_dict["default_information_originate"].keys(): - if ( - def_keys == "nssa_only" - and nss_dict["default_information_originate"]["nssa_only"] - ): + if def_keys == "nssa_only" and nss_dict["default_information_originate"]["nssa_only"]: nss_cmd = nss_cmd + " nssa-only " elif nss_dict["default_information_originate"].get(def_keys): nss_cmd = ( - nss_cmd - + def_keys - + " " - + nss_dict["default_information_originate"][def_keys] + nss_cmd + def_keys + " " + nss_dict["default_information_originate"][def_keys] ) elif "lsa" in nss_dict.keys() and nss_dict.get("lsa"): nss_cmd = nss_cmd + " lsa type-7 convert type-5" @@ -636,17 +602,11 @@ def _parse_areas_filter_nssa(nss_dict): if nss_dict.get("default_information_originate"): nss_cmd = nss_cmd + "default-information-originate " for def_keys in nss_dict["default_information_originate"].keys(): - if ( - def_keys == "nssa_only" - and nss_dict["default_information_originate"]["nssa_only"] - ): + if def_keys == "nssa_only" and nss_dict["default_information_originate"]["nssa_only"]: nss_cmd = nss_cmd + " nssa-only " elif nss_dict["default_information_originate"].get(def_keys): nss_cmd = ( - nss_cmd - + def_keys - + " " - + nss_dict["default_information_originate"][def_keys] + nss_cmd + def_keys + " " + nss_dict["default_information_originate"][def_keys] ) elif "no_summary" in nss_dict.keys() and nss_dict.get("no_summary"): nss_cmd = nss_cmd + " no-summary" @@ -660,12 +620,7 @@ def _parse_areas_range(range_dict): if range_dict.get("address"): range_cmd = range_cmd + range_dict["address"] if range_dict.get("subnet_address"): - range_cmd = ( - range_cmd - + range_dict["subnet_address"] - + " " - + range_dict["subnet_mask"] - ) + range_cmd = range_cmd + range_dict["subnet_address"] + " " + range_dict["subnet_mask"] if range_dict.get("advertise") is not None: if range_dict["advertise"]: range_cmd = range_cmd + " advertise " @@ -719,9 +674,7 @@ def _parse_max_metric(max_metric_dict): if v.get("set"): metric_cmd = metric_cmd + " " + k else: - metric_cmd = ( - metric_cmd + " " + k + " " + str(v.get("max_metric_value")) - ) + metric_cmd = metric_cmd + " " + k + " " + str(v.get("max_metric_value")) return metric_cmd @@ -732,12 +685,7 @@ def _parse_networks(net_list): if net_dict.get("prefix"): net_cmd = net_cmd + net_dict.get("prefix") else: - net_cmd = ( - net_cmd - + net_dict.get("network_address") - + " " - + net_dict.get("mask") - ) + net_cmd = net_cmd + net_dict.get("network_address") + " " + net_dict.get("mask") if net_dict.get("area"): net_cmd = net_cmd + " area " + net_dict.get("area") network_cmd.append(net_cmd) @@ -763,9 +711,7 @@ def _parse_summary_address(addr_dict): if addr_dict.get("prefix"): sum_cmd = sum_cmd + addr_dict.get("prefix") else: - sum_cmd = ( - sum_cmd + addr_dict.get("address") + " " + addr_dict.get("mask") - ) + sum_cmd = sum_cmd + addr_dict.get("address") + " " + addr_dict.get("mask") if "attribute_map" in addr_dict.keys(): sum_cmd = sum_cmd + " attribute-map " + addr_dict["attribute_map"] elif addr_dict.get("not_advertise"): @@ -785,11 +731,7 @@ def _parse_timers(timers_list, os_version="4.20"): if t_key == "lsa": if t_dict["lsa"].get("rx"): if os_version < "4.23": - t_cmd = ( - t_cmd - + "lsa arrival " - + str(t_dict["lsa"]["rx"]["min_interval"]) - ) + t_cmd = t_cmd + "lsa arrival " + str(t_dict["lsa"]["rx"]["min_interval"]) else: t_cmd = ( t_cmd diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ospfv3/ospfv3.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ospfv3/ospfv3.py index a16d163e5..ed01f1c5e 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ospfv3/ospfv3.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/ospfv3/ospfv3.py @@ -29,9 +29,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u get_from_dict, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.rm_templates.ospfv3 import ( Ospfv3Template, ) @@ -298,11 +296,7 @@ class Ospfv3(ResourceModule): want=entry, have=hafs.pop(name, {}), ) - if ( - len(self.commands) != begin - and "afi" in entry - and entry["afi"] != "router" - ): + if len(self.commands) != begin and "afi" in entry and entry["afi"] != "router": self._rotate_commands(begin=begin) self.commands.insert( begin, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/prefix_lists/prefix_lists.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/prefix_lists/prefix_lists.py index 347f8d426..76c21a8d3 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/prefix_lists/prefix_lists.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/prefix_lists/prefix_lists.py @@ -27,9 +27,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u dict_merge, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.rm_templates.prefix_lists import ( Prefix_listsTemplate, ) diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/route_maps/route_maps.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/route_maps/route_maps.py index 7f799d793..54b21b981 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/route_maps/route_maps.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/route_maps/route_maps.py @@ -26,9 +26,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u dict_merge, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.rm_templates.route_maps import ( Route_mapsTemplate, ) @@ -151,9 +149,9 @@ class Route_maps(ResourceModule): if c.startswith("route-map"): parent_present = True break - if ( - before_maps == after_maps and len(self.commands) > after_maps - ) or (not parent_present and len(self.commands) > after_maps): + if (before_maps == after_maps and len(self.commands) > after_maps) or ( + not parent_present and len(self.commands) > after_maps + ): self._compare_maps({k: v}, {}) self.commands.insert(after_maps, self.commands.pop(-1)) @@ -199,11 +197,7 @@ class Route_maps(ResourceModule): def _select_parser(self, w): parser = "" - if ( - "statement" in w.keys() - and "action" in w.keys() - and "sequence" in w.keys() - ): + if "statement" in w.keys() and "action" in w.keys() and "sequence" in w.keys(): parser = "route_map.statement.entries" elif "statement" in w.keys() and "action" in w.keys(): parser = "route_map.statement.action" diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/snmp_server/snmp_server.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/snmp_server/snmp_server.py index 7d850fea2..b707f8d72 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/snmp_server/snmp_server.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/snmp_server/snmp_server.py @@ -29,9 +29,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u get_from_dict, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts from ansible_collections.arista.eos.plugins.module_utils.network.eos.rm_templates.snmp_server import ( Snmp_serverTemplate, ) @@ -112,9 +110,7 @@ class Snmp_server(ResourceModule): # 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 - } + haved = {k: v for k, v in iteritems(haved) if k in wantd or not wantd} wantd = {} # if state is deleted, empty out wantd and set haved to wantd diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/static_routes/static_routes.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/static_routes/static_routes.py index 0c4198edf..140e1f989 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/static_routes/static_routes.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/static_routes/static_routes.py @@ -25,9 +25,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u remove_empties, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts class Static_routes(ConfigBase): @@ -264,11 +262,7 @@ def add_commands(want): commandset = [] if not want: return commandset - vrf = ( - want["vrf"] - if "vrf" in want.keys() and want["vrf"] is not None - else None - ) + vrf = want["vrf"] if "vrf" in want.keys() and want["vrf"] is not None else None for address_family in want["address_families"]: for route in address_family["routes"]: for next_hop in route["next_hops"]: @@ -326,11 +320,7 @@ def del_commands(want, have): for command in haveconfigs: if want["vrf"] in command: commandset.append(command) - elif ( - want is not None - and "vrf" not in want.keys() - and "address_families" not in want.keys() - ): + elif want is not None and "vrf" not in want.keys() and "address_families" not in want.keys(): commandset = [] for command in haveconfigs: if "vrf" not in command: diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/vlans/vlans.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/vlans/vlans.py index 664216e6d..fe03d95c6 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/vlans/vlans.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/config/vlans/vlans.py @@ -24,9 +24,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.u to_list, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import ( - Facts, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.facts import Facts class Vlans(ConfigBase): @@ -123,10 +121,7 @@ class Vlans(ConfigBase): to the desired configuration """ state = self._module.params["state"] - if ( - state in ("merged", "replaced", "overridden", "rendered") - and not want - ): + if state in ("merged", "replaced", "overridden", "rendered") and not want: self._module.fail_json( msg="value of config parameter must not be empty for state {0}".format( state, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/eos.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/eos.py index 292ad274f..e95e7e828 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/eos.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/eos.py @@ -154,10 +154,7 @@ class Cli: response = conn.get_session_config(commands, commit, replace) except ConnectionError as exc: message = getattr(exc, "err", to_text(exc)) - if ( - "check mode is not supported without configuration session" - in message - ): + if "check mode is not supported without configuration session" in message: self._module.warn( "EOS can not check config without config session", ) @@ -177,10 +174,7 @@ class Cli: response = conn.edit_config(commands, commit, replace) except ConnectionError as exc: message = getattr(exc, "err", to_text(exc)) - if ( - "check mode is not supported without configuration session" - in message - ): + if "check mode is not supported without configuration session" in message: self._module.warn( "EOS can not check config without config session", ) @@ -360,9 +354,7 @@ class HttpApi: else: configdiffobjs = candidate_obj.items - diff["config_diff"] = ( - dumps(configdiffobjs, "commands") if configdiffobjs else {} - ) + diff["config_diff"] = dumps(configdiffobjs, "commands") if configdiffobjs else {} return diff def load_config(self, config, commit=False, replace=False): diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/acl_interfaces/acl_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/acl_interfaces/acl_interfaces.py index 2e53931de..c06dd93cb 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/acl_interfaces/acl_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/acl_interfaces/acl_interfaces.py @@ -20,9 +20,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.acl_interfaces.acl_interfaces import ( Acl_interfacesArgs, @@ -68,9 +66,7 @@ class Acl_interfacesFacts(object): resource_delim, resource_delim, ) - resources = [ - p.strip() for p in re.findall(find_pattern, data, re.DOTALL) - ] + resources = [p.strip() for p in re.findall(find_pattern, data, re.DOTALL)] objs = [] for resource in resources: if resource: @@ -85,9 +81,7 @@ class Acl_interfacesFacts(object): self.argument_spec, {"config": objs}, ) - facts["acl_interfaces"] = [ - utils.remove_empties(cfg) for cfg in params["config"] - ] + facts["acl_interfaces"] = [utils.remove_empties(cfg) for cfg in params["config"]] ansible_facts["ansible_network_resources"].update(facts) return ansible_facts diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/acls/acls.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/acls/acls.py index 567fca8ba..a8b017f75 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/acls/acls.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/acls/acls.py @@ -19,9 +19,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.acls.acls import ( AclsArgs, @@ -159,22 +157,12 @@ class AclsFacts(object): if seq: ace_dict.update({"sequence": dev_config_remainder.pop(0)}) ace_dict.update({"grant": dev_config_remainder.pop(0)}) - if ( - dev_config_remainder - and dev_config_remainder[0] == "vlan" - ): + if dev_config_remainder and dev_config_remainder[0] == "vlan": vlan_str = "" dev_config_remainder.pop(0) - if ( - dev_config_remainder - and dev_config_remainder[0] == "inner" - ): + if dev_config_remainder and dev_config_remainder[0] == "inner": vlan_str = dev_config_remainder.pop(0) + " " - vlan_str = ( - dev_config_remainder.pop(0) - + " " - + dev_config_remainder.pop(0) - ) + vlan_str = dev_config_remainder.pop(0) + " " + dev_config_remainder.pop(0) ace_dict.update({"vlan": vlan_str}) if not standard: protocol = dev_config_remainder[0] @@ -186,18 +174,12 @@ class AclsFacts(object): r"[a-z\d:\.]+", dev_config_remainder[0], ) - if ( - dev_config_remainder - and dev_config_remainder[0] == "host" - ): + if dev_config_remainder and dev_config_remainder[0] == "host": source_dict.update( {"host": dev_config_remainder.pop(1)}, ) dev_config_remainder.pop(0) - elif ( - dev_config_remainder - and dev_config_remainder[0] == "any" - ): + elif dev_config_remainder and dev_config_remainder[0] == "any": source_dict.update({"any": True}) dev_config_remainder.pop(0) elif src_prefix: @@ -212,21 +194,14 @@ class AclsFacts(object): {"wildcard_bits": dev_config_remainder.pop(0)}, ) if dev_config_remainder: - if ( - dev_config_remainder - and dev_config_remainder[0] in operator - ): + if dev_config_remainder and dev_config_remainder[0] in operator: port_dict = {} src_port = "" src_opr = dev_config_remainder.pop(0) portlist = dev_config_remainder[:] for config_remainder in portlist: addr = re.search(r"[\.\:]", config_remainder) - if ( - config_remainder == "any" - or config_remainder == "host" - or addr - ): + if config_remainder == "any" or config_remainder == "host" or addr: break src_port = src_port + " " + config_remainder dev_config_remainder.pop(0) @@ -235,10 +210,7 @@ class AclsFacts(object): source_dict.update({"port_protocol": port_dict}) ace_dict.update({"source": source_dict}) if not dev_config_remainder or standard: - if ( - dev_config_remainder - and "log" in dev_config_remainder - ): + if dev_config_remainder and "log" in dev_config_remainder: ace_dict.update({"log": True}) if bool(ace_dict): ace_list.append(ace_dict.copy()) @@ -252,16 +224,10 @@ class AclsFacts(object): r"[a-z\d:\.]+", dev_config_remainder[0], ) - if ( - dev_config_remainder - and dev_config_remainder[0] == "host" - ): + if dev_config_remainder and dev_config_remainder[0] == "host": dest_dict.update({"host": dev_config_remainder.pop(1)}) dev_config_remainder.pop(0) - elif ( - dev_config_remainder - and dev_config_remainder[0] == "any" - ): + elif dev_config_remainder and dev_config_remainder[0] == "any": dest_dict.update({"any": True}) dev_config_remainder.pop(0) elif dest_prefix: @@ -282,10 +248,7 @@ class AclsFacts(object): dest_opr = dev_config_remainder.pop(0) portlist = dev_config_remainder[:] for config_remainder in portlist: - if ( - config_remainder in operator - or config_remainder in others - ): + if config_remainder in operator or config_remainder in others: break dest_port = dest_port + " " + config_remainder dev_config_remainder.pop(0) @@ -308,10 +271,7 @@ class AclsFacts(object): if protocol in ["tcp", "6"]: protocol = "tcp" flags_dict = {} - if ( - dev_config_remainder - and dev_config_remainder[0] in flags - ): + if dev_config_remainder and dev_config_remainder[0] in flags: flaglist = dev_config_remainder[:] for config_remainder in flaglist: if config_remainder not in flags: @@ -332,19 +292,13 @@ class AclsFacts(object): protocol = "icmp" elif protocol == "58": protocol = "icmpv6" - if ( - dev_config_remainder - and dev_config_remainder[0] not in others - ): + if dev_config_remainder and dev_config_remainder[0] not in others: icmp_dict.update({dev_config_remainder[0]: True}) dev_config_remainder.pop(0) if bool(icmp_dict): protocol_option_dict.update({protocol: icmp_dict}) if protocol in ["ip", "ipv6"]: - if ( - dev_config_remainder - and dev_config_remainder[0] == "nexthop_group" - ): + if dev_config_remainder and dev_config_remainder[0] == "nexthop_group": dev_config_remainder.pop(0) ip_dict.update( {"nexthop_group": dev_config_remainder.pop(0)}, @@ -355,10 +309,7 @@ class AclsFacts(object): ace_dict.update( {"protocol_options": protocol_option_dict}, ) - if ( - dev_config_remainder - and dev_config_remainder[0] == "ttl" - ): + if dev_config_remainder and dev_config_remainder[0] == "ttl": dev_config_remainder.pop(0) op = dev_config_remainder.pop(0) ttl_dict = {op: dev_config_remainder.pop(0)} @@ -370,9 +321,9 @@ class AclsFacts(object): config_remainder, ) hoplimit_dict = { - dev_config_remainder[ - hop_index + 1 - ]: dev_config_remainder[hop_index + 2], + dev_config_remainder[hop_index + 1]: dev_config_remainder[ + hop_index + 2 + ], } ace_dict.update({"hop_limit": hoplimit_dict}) dev_config_remainder.pop(0) @@ -380,8 +331,7 @@ class AclsFacts(object): ace_dict.update({config_remainder: True}) dev_config_remainder.pop(0) if dev_config_remainder: - config.update({"line": dev_config}) - return utils.remove_empties(config) + ace_dict.update({"line": dev_config}) if bool(ace_dict): ace_list.append(ace_dict.copy()) if len(ace_list): diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/bgp_address_family/bgp_address_family.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/bgp_address_family/bgp_address_family.py index 649e5c6eb..b69687c6f 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/bgp_address_family/bgp_address_family.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/bgp_address_family/bgp_address_family.py @@ -19,9 +19,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.bgp_address_family.bgp_address_family import ( Bgp_afArgs, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/bgp_global/bgp_global.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/bgp_global/bgp_global.py index 9cb785a3c..478c3ec23 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/bgp_global/bgp_global.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/bgp_global/bgp_global.py @@ -16,9 +16,7 @@ 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.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.bgp_global.bgp_global import ( Bgp_globalArgs, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/hostname/hostname.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/hostname/hostname.py index 1c95fe576..c19db2fcf 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/hostname/hostname.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/hostname/hostname.py @@ -15,9 +15,7 @@ for a given resource, parsed, and the facts tree is populated based on the configuration. """ -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.hostname.hostname import ( HostnameArgs, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/interfaces/interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/interfaces/interfaces.py index f4d77637e..e285a3c02 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/interfaces/interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/interfaces/interfaces.py @@ -18,9 +18,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.interfaces.interfaces import ( InterfacesArgs, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/l2_interfaces/l2_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/l2_interfaces/l2_interfaces.py index b77b1a611..97dfcf4a6 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/l2_interfaces/l2_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/l2_interfaces/l2_interfaces.py @@ -18,9 +18,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.l2_interfaces.l2_interfaces import ( L2_interfacesArgs, @@ -73,9 +71,7 @@ class L2_interfacesFacts(object): self.argument_spec, {"config": objs}, ) - facts["l2_interfaces"] = [ - utils.remove_empties(cfg) for cfg in params["config"] - ] + facts["l2_interfaces"] = [utils.remove_empties(cfg) for cfg in params["config"]] ansible_facts["ansible_network_resources"].update(facts) return ansible_facts diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/l3_interfaces/l3_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/l3_interfaces/l3_interfaces.py index 3a617507e..8648ed1aa 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/l3_interfaces/l3_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/l3_interfaces/l3_interfaces.py @@ -18,9 +18,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.l3_interfaces.l3_interfaces import ( L3_interfacesArgs, @@ -64,9 +62,7 @@ class L3_interfacesFacts(object): resource_delim, resource_delim, ) - resources = [ - p.strip() for p in re.findall(find_pattern, data, re.DOTALL) - ] + resources = [p.strip() for p in re.findall(find_pattern, data, re.DOTALL)] objs = [] for resource in resources: @@ -80,9 +76,7 @@ class L3_interfacesFacts(object): self.argument_spec, {"config": objs}, ) - facts["l3_interfaces"] = [ - utils.remove_empties(cfg) for cfg in params["config"] - ] + facts["l3_interfaces"] = [utils.remove_empties(cfg) for cfg in params["config"]] ansible_facts["ansible_network_resources"].update(facts) return ansible_facts @@ -106,10 +100,10 @@ class L3_interfacesFacts(object): for match in matches: address, dummy, remainder = match.partition(" ") if address == "virtual": - ipv4 = {"virtual": True, "address": remainder} + ipv4 = {"virtual": True, "address": remainder.split(" ")[0]} else: ipv4 = {"address": address} - if remainder == "secondary": + if "secondary" in remainder: ipv4["secondary"] = True config["ipv4"].append(ipv4) diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lacp/lacp.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lacp/lacp.py index 28ba476b8..d2af70ee2 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lacp/lacp.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lacp/lacp.py @@ -18,9 +18,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.lacp.lacp import ( LacpArgs, @@ -64,9 +62,7 @@ class LacpFacts(object): resource_delim, resource_delim, ) - resources = [ - p.strip() for p in re.findall(find_pattern, data, re.DOTALL) - ] + resources = [p.strip() for p in re.findall(find_pattern, data, re.DOTALL)] objs = {} for resource in resources: diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lacp_interfaces/lacp_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lacp_interfaces/lacp_interfaces.py index 6961ca1b6..abcefd396 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lacp_interfaces/lacp_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lacp_interfaces/lacp_interfaces.py @@ -18,9 +18,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.lacp_interfaces.lacp_interfaces import ( Lacp_interfacesArgs, @@ -64,9 +62,7 @@ class Lacp_interfacesFacts(object): resource_delim, resource_delim, ) - resources = [ - p.strip() for p in re.findall(find_pattern, data, re.DOTALL) - ] + resources = [p.strip() for p in re.findall(find_pattern, data, re.DOTALL)] objs = [] for resource in resources: @@ -82,9 +78,7 @@ class Lacp_interfacesFacts(object): self.argument_spec, {"config": objs}, ) - facts["lacp_interfaces"] = [ - utils.remove_empties(cfg) for cfg in params["config"] - ] + facts["lacp_interfaces"] = [utils.remove_empties(cfg) for cfg in params["config"]] ansible_facts["ansible_network_resources"].update(facts) return ansible_facts diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lag_interfaces/lag_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lag_interfaces/lag_interfaces.py index 73b6be3bb..15ac2dc1f 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lag_interfaces/lag_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lag_interfaces/lag_interfaces.py @@ -18,9 +18,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.lag_interfaces.lag_interfaces import ( Lag_interfacesArgs, @@ -64,9 +62,7 @@ class Lag_interfacesFacts(object): resource_delim, resource_delim, ) - resources = [ - p.strip() for p in re.findall(find_pattern, data, re.DOTALL) - ] + resources = [p.strip() for p in re.findall(find_pattern, data, re.DOTALL)] objs = {} for resource in resources: @@ -88,9 +84,7 @@ class Lag_interfacesFacts(object): self.argument_spec, {"config": objs}, ) - facts["lag_interfaces"] = [ - utils.remove_empties(cfg) for cfg in params["config"] - ] + facts["lag_interfaces"] = [utils.remove_empties(cfg) for cfg in params["config"]] ansible_facts["ansible_network_resources"].update(facts) return ansible_facts diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lldp_global/lldp_global.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lldp_global/lldp_global.py index d59be7c54..2fac25dc3 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lldp_global/lldp_global.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lldp_global/lldp_global.py @@ -19,9 +19,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.lldp_global.lldp_global import ( Lldp_globalArgs, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lldp_interfaces/lldp_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lldp_interfaces/lldp_interfaces.py index 569986ef2..a69328ffd 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lldp_interfaces/lldp_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/lldp_interfaces/lldp_interfaces.py @@ -18,9 +18,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.lldp_interfaces.lldp_interfaces import ( Lldp_interfacesArgs, @@ -61,9 +59,7 @@ class Lldp_interfacesFacts(object): resource_delim, resource_delim, ) - resources = [ - p.strip() for p in re.findall(find_pattern, data, re.DOTALL) - ] + resources = [p.strip() for p in re.findall(find_pattern, data, re.DOTALL)] objs = [] for resource in resources: @@ -79,9 +75,7 @@ class Lldp_interfacesFacts(object): self.argument_spec, {"config": objs}, ) - facts["lldp_interfaces"] = [ - utils.remove_empties(cfg) for cfg in params["config"] - ] + facts["lldp_interfaces"] = [utils.remove_empties(cfg) for cfg in params["config"]] ansible_facts["ansible_network_resources"].update(facts) return ansible_facts diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/logging_global/logging_global.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/logging_global/logging_global.py index e2e0e2cfd..e1c5aa2b9 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/logging_global/logging_global.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/logging_global/logging_global.py @@ -16,9 +16,7 @@ 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.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.logging_global.logging_global import ( Logging_globalArgs, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ntp_global/ntp_global.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ntp_global/ntp_global.py index 96c2321c7..b4e43da93 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ntp_global/ntp_global.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ntp_global/ntp_global.py @@ -15,9 +15,7 @@ for a given resource, parsed, and the facts tree is populated based on the configuration. """ -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.ntp_global.ntp_global import ( Ntp_globalArgs, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ospf_interfaces/ospf_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ospf_interfaces/ospf_interfaces.py index 981b6bca7..f8076aff0 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ospf_interfaces/ospf_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ospf_interfaces/ospf_interfaces.py @@ -17,9 +17,7 @@ based on the configuration. import re -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.ospf_interfaces.ospf_interfaces import ( Ospf_interfacesArgs, @@ -62,9 +60,7 @@ class Ospf_interfacesFacts(object): resource_delim, resource_delim, ) - resources = [ - p.strip() for p in re.findall(find_pattern, data, re.DOTALL) - ] + resources = [p.strip() for p in re.findall(find_pattern, data, re.DOTALL)] # parse native config using the Ospf_interfaces template ospf_interfaces_facts = [] for resource in resources: diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ospfv2/ospfv2.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ospfv2/ospfv2.py index f5f35541a..6e6d84321 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ospfv2/ospfv2.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ospfv2/ospfv2.py @@ -19,9 +19,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.ospfv2.ospfv2 import ( Ospfv2Args, @@ -66,9 +64,7 @@ class Ospfv2Facts(object): resource_delim, resource_delim, ) - resources = [ - p.strip() for p in re.findall(find_pattern, data, re.DOTALL) - ] + resources = [p.strip() for p in re.findall(find_pattern, data, re.DOTALL)] objs_list = [] objs = {} for resource in resources: @@ -467,16 +463,11 @@ class Ospfv2Facts(object): }, ) elif val == "external_lsa": - if ( - i < len(config_params) - and config_params[i + 1].isdigit() - ): + if i < len(config_params) and config_params[i + 1].isdigit(): router_lsa_dict.update( { "external_lsa": { - "max_metric_value": config_params[ - i + 1 - ], + "max_metric_value": config_params[i + 1], }, }, ) @@ -485,16 +476,11 @@ class Ospfv2Facts(object): {"external_lsa": {"set": True}}, ) elif val == "summary_lsa": - if ( - i < len(config_params) - 1 - and config_params[i + 1].isdigit() - ): + if i < len(config_params) - 1 and config_params[i + 1].isdigit(): router_lsa_dict.update( { "summary_lsa": { - "max_metric_value": config_params[ - i + 1 - ], + "max_metric_value": config_params[i + 1], }, }, ) diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ospfv3/ospfv3.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ospfv3/ospfv3.py index 3efa27cdf..3fd8ed21e 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ospfv3/ospfv3.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/ospfv3/ospfv3.py @@ -19,9 +19,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.ospfv3.ospfv3 import ( Ospfv3Args, @@ -77,9 +75,7 @@ class Ospfv3Facts(object): resource_delim, resource_delim, ) - resources = [ - p.strip() for p in re.findall(find_pattern, data, re.DOTALL) - ] + resources = [p.strip() for p in re.findall(find_pattern, data, re.DOTALL)] # parse native config using the Ospfv3 template ospfv3_facts = {"processes": []} diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/prefix_lists/prefix_lists.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/prefix_lists/prefix_lists.py index aa1f81b84..1a006e5e3 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/prefix_lists/prefix_lists.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/prefix_lists/prefix_lists.py @@ -16,9 +16,7 @@ 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.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.prefix_lists.prefix_lists import ( Prefix_listsArgs, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/route_maps/route_maps.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/route_maps/route_maps.py index e5ca11162..34864a795 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/route_maps/route_maps.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/route_maps/route_maps.py @@ -20,9 +20,7 @@ import re from copy import deepcopy from ansible.module_utils.six import iteritems -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.route_maps.route_maps import ( Route_mapsArgs, @@ -76,9 +74,7 @@ class Route_mapsFacts(object): resource_delim, resource_delim, ) - resources = [ - p.strip() for p in re.findall(find_pattern, data, re.DOTALL) - ] + resources = [p.strip() for p in re.findall(find_pattern, data, re.DOTALL)] # parse native config using the Ospf_interfaces template route_maps_facts = [] # parse native config using the Route_maps template diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/snmp_server/snmp_server.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/snmp_server/snmp_server.py index 3746be94c..8c763fd7f 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/snmp_server/snmp_server.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/snmp_server/snmp_server.py @@ -15,9 +15,7 @@ for a given resource, parsed, and the facts tree is populated based on the configuration. """ -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.snmp_server.snmp_server import ( Snmp_serverArgs, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/static_routes/static_routes.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/static_routes/static_routes.py index 85b0e7475..c97c48d5f 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/static_routes/static_routes.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/static_routes/static_routes.py @@ -19,9 +19,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.static_routes.static_routes import ( Static_routesArgs, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/vlans/vlans.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/vlans/vlans.py index 876891253..eddd4c4e5 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/vlans/vlans.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/facts/vlans/vlans.py @@ -18,9 +18,7 @@ import re from copy import deepcopy -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import ( - utils, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common import utils from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.vlans.vlans import ( VlansArgs, @@ -61,9 +59,7 @@ class VlansFacts(object): resource_delim, resource_delim, ) - resources = [ - p.strip() for p in re.findall(find_pattern, data, re.DOTALL) - ] + resources = [p.strip() for p in re.findall(find_pattern, data, re.DOTALL)] objs = [] for resource in resources: @@ -79,9 +75,7 @@ class VlansFacts(object): self.argument_spec, {"config": objs}, ) - facts["vlans"] = [ - utils.remove_empties(cfg) for cfg in params["config"] - ] + facts["vlans"] = [utils.remove_empties(cfg) for cfg in params["config"]] ansible_facts["ansible_network_resources"].update(facts) return ansible_facts diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/cli/config/bgp/address_family.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/cli/config/bgp/address_family.py index dcbf45a4a..8a5aa0153 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/cli/config/bgp/address_family.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/cli/config/bgp/address_family.py @@ -9,9 +9,7 @@ __metaclass__ = type import re from ansible.module_utils.six import iteritems -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( - to_list, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import to_list from ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.cli.config.bgp.neighbors import ( AFNeighbors, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/cli/config/bgp/neighbors.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/cli/config/bgp/neighbors.py index 760827a93..d1f865d06 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/cli/config/bgp/neighbors.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/cli/config/bgp/neighbors.py @@ -9,9 +9,7 @@ __metaclass__ = type import re from ansible.module_utils.six import iteritems -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( - to_list, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import to_list from ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.providers import ( CliProvider, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/cli/config/bgp/process.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/cli/config/bgp/process.py index 79cecb29c..94af38eed 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/cli/config/bgp/process.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/cli/config/bgp/process.py @@ -9,9 +9,7 @@ __metaclass__ = type import re from ansible.module_utils.six import iteritems -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( - to_list, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import to_list from ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.cli.config.bgp.address_family import ( AddressFamily, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/module.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/module.py index 12d606b70..7aa8f0bf7 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/module.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/module.py @@ -10,9 +10,7 @@ from ansible.module_utils._text import to_text from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.connection import Connection -from ansible_collections.arista.eos.plugins.module_utils.network.eos.providers import ( - providers, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.providers import providers class NetworkModule(AnsibleModule): @@ -44,10 +42,7 @@ class NetworkModule(AnsibleModule): ) if not cls: - msg = ( - "unable to find suitable provider for network os %s" - % network_os - ) + msg = "unable to find suitable provider for network os %s" % network_os if self.fail_on_missing_provider: self.fail_json(msg=msg) else: diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/providers.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/providers.py index 31adec628..c3cebe8b9 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/providers.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/providers/providers.py @@ -14,9 +14,7 @@ from ansible.module_utils.six import itervalues from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.config import ( NetworkConfig, ) -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( - to_list, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import to_list _registered_providers = {} diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/bgp_address_family.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/bgp_address_family.py index 555ffd30e..87ec5c971 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/bgp_address_family.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/bgp_address_family.py @@ -40,9 +40,7 @@ def _tmplt_bgp_address_family(config_data): def _tmplt_bgp_params(config_data): command = "bgp" if config_data["bgp_params"].get("additional_paths"): - command += " additional-paths {additional_paths}".format( - **config_data["bgp_params"] - ) + command += " additional-paths {additional_paths}".format(**config_data["bgp_params"]) if config_data["bgp_params"]["additional_paths"] == "send": command += " any" elif config_data["bgp_params"].get("next_hop_address_family"): @@ -52,9 +50,7 @@ def _tmplt_bgp_params(config_data): elif config_data["bgp_params"].get("redistribute_internal"): command += " redistribute-internal" elif config_data["bgp_params"].get("route"): - command += " route install-map {route}".format( - **config_data["bgp_params"] - ) + command += " route install-map {route}".format(**config_data["bgp_params"]) return command @@ -66,9 +62,7 @@ def _tmplt_bgp_graceful_restart(config_data): def _tmplt_bgp_neighbor(config_data): command = "neighbor {peer}".format(**config_data["neighbor"]) if config_data["neighbor"].get("additional_paths"): - command += " additional-paths {additional_paths}".format( - **config_data["neighbor"] - ) + command += " additional-paths {additional_paths}".format(**config_data["neighbor"]) if config_data["neighbor"]["additional_paths"] == "send": command += "any" elif config_data["neighbor"].get("activate"): @@ -76,9 +70,7 @@ def _tmplt_bgp_neighbor(config_data): elif config_data["neighbor"].get("default_originate"): command += " default-originate" if config_data["neighbor"]["default_originate"].get("route_map"): - command += " route-map {route_map}".format( - **config_data["neighbor"]["default_originate"] - ) + command += " route-map " + config_data["neighbor"]["default_originate"]["route_map"] if config_data["neighbor"]["default_originate"].get("always"): command += " always" elif config_data["neighbor"].get("graceful_restart"): @@ -89,23 +81,17 @@ def _tmplt_bgp_neighbor(config_data): command += " next-hop addres-family ipv6" elif config_data["neighbor"].get("prefix_list"): command += " prefix-list {name} {direction}".format( - **config_data["neighbor"]["prefix_list"] + **config_data["neighbor"]["prefix_list"], ) elif config_data["neighbor"].get("route_map"): - command += " route-map {name} {direction}".format( - **config_data["neighbor"]["route_map"] - ) + command += " route-map {name} {direction}".format(**config_data["neighbor"]["route_map"]) elif config_data["neighbor"].get("weight"): command += " weight {weight}".format(**config_data["neighbor"]) elif config_data["neighbor"].get("encapsulation"): - command += " encapsulation {transport}".format( - **config_data["neighbor"] - ) + command += " encapsulation {transport}".format(**config_data["neighbor"]) if config_data["neighbor"]["encapsulation"].get("source_interface"): - command += ( - " next-hop-self source-interface {source_interface}".format( - **config_data["neighbor"] - ) + command += " next-hop-self source-interface {source_interface}".format( + **config_data["neighbor"], ) return command diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/bgp_global.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/bgp_global.py index a1fcee400..d2c0b9f97 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/bgp_global.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/bgp_global.py @@ -50,10 +50,7 @@ def _tmplt_bgp_aggregate_address(config_data): def _tmplt_bgp_params(config_data): command = "bgp" if config_data["bgp_params"].get("additional_paths"): - command += ( - " additional-paths " - + config_data["bgp_params"]["additional_paths"] - ) + command += " additional-paths " + config_data["bgp_params"]["additional_paths"] if config_data["bgp_params"]["additional_paths"] == "send": command += " any" elif config_data["bgp_params"].get("advertise_inactive"): @@ -61,9 +58,7 @@ def _tmplt_bgp_params(config_data): elif config_data["bgp_params"].get("allowas_in"): command += " allowas-in" if config_data["bgp_params"]["allowas_in"].get("count"): - command += " {count}".format( - **config_data["bgp_params"]["allowas_in"] - ) + command += " {count}".format(**config_data["bgp_params"]["allowas_in"]) elif config_data["bgp_params"].get("always_compare_med"): command += " always-comapre-med" elif config_data["bgp_params"].get("asn"): @@ -72,9 +67,7 @@ def _tmplt_bgp_params(config_data): command += " auto-local-addr" elif config_data["bgp_params"].get("bestpath"): if config_data["bgp_params"]["bestpath"].get("as_path"): - command += " bestpath as-path {as_path}".format( - **config_data["bgp_params"]["bestpath"] - ) + command += " bestpath as-path {as_path}".format(**config_data["bgp_params"]["bestpath"]) elif config_data["bgp_params"]["bestpath"].get("ecmp_fast"): command += " bestpath ecmp-fast" elif config_data["bgp_params"]["bestpath"].get("med"): @@ -95,28 +88,20 @@ def _tmplt_bgp_params(config_data): elif config_data["bgp_params"].get("client_to_client"): command += " client-to-client" elif config_data["bgp_params"].get("cluster_id"): - command += " cluster-id {cluster_id}".format( - **config_data["bgp_params"] - ) + command += " cluster-id {cluster_id}".format(**config_data["bgp_params"]) elif config_data["bgp_params"].get("confederation"): command += " confederation" if config_data["bgp_params"]["confederation"].get("identifier"): - command += " identifier {identifier}".format( - **config_data["bgp_params"]["confederation"] - ) + command += " identifier " + config_data["bgp_params"]["confederation"]["identifier"] else: - command += " peers {peers}".format( - **config_data["bgp_params"]["confederation"] - ) + command += " peers {peers}".format(**config_data["bgp_params"]["confederation"]) elif config_data["bgp_params"].get("control_plane_filter"): command += " control-plane-filter default-allow" elif config_data["bgp_params"].get("convergence"): command += " convergence" if config_data["bgp_params"]["convergence"].get("slow_peer"): command += " slow-peer" - command += " time {time}".format( - **config_data["bgp_params"]["convergence"] - ) + command += " time {time}".format(**config_data["bgp_params"]["convergence"]) elif config_data["bgp_params"].get("default"): command += " default {default}".format(**config_data["bgp_params"]) elif config_data["bgp_params"].get("enforce_first_as"): @@ -124,9 +109,7 @@ def _tmplt_bgp_params(config_data): elif config_data["bgp_params"].get("host_routes"): command += " host-routes fib direct-install" elif config_data["bgp_params"].get("labeled_unicast"): - command += " labeled-unicast rib {labeled_unicast}".format( - **config_data["bgp_params"] - ) + command += " labeled-unicast rib {labeled_unicast}".format(**config_data["bgp_params"]) elif config_data["bgp_params"].get("listen"): # from eos 4.23 , 'bgp listen limit ' is replaced by 'dynamic peer max'. command = "dynamic peer max " @@ -134,29 +117,23 @@ def _tmplt_bgp_params(config_data): command += "{limit}".format(**config_data["bgp_params"]["listen"]) else: command += " range {address} peer group".format( - **config_data["bgp_params"]["listen"]["range"] + **config_data["bgp_params"]["listen"]["range"], ) if config_data["bgp_params"]["listen"]["range"]["peer_group"].get( "peer_filter", ): command += " {name} peer-filter {peer_filter}".format( - **config_data["bgp_params"]["listen"]["range"][ - "peer_group" - ] + **config_data["bgp_params"]["listen"]["range"]["peer_group"], ) else: command += " {name} remote-as {remote_as}".format( - **config_data["bgp_params"]["listen"]["range"][ - "peer_group" - ] + **config_data["bgp_params"]["listen"]["range"]["peer_group"], ) elif config_data["bgp_params"].get("log_neighbor_changes"): command += " log-neighbor-changes" elif config_data["bgp_params"].get("missing_policy"): - command += ( - " missing-policy direction {direction} action {action}".format( - **config_data["bgp_params"]["missing_policy"] - ) + command += " missing-policy direction {direction} action {action}".format( + **config_data["bgp_params"]["missing_policy"], ) elif config_data["bgp_params"].get("monitoring"): command += " monitoring" @@ -165,17 +142,13 @@ def _tmplt_bgp_params(config_data): elif config_data["bgp_params"].get("redistribute_internal"): command += " redistribute-internal" elif config_data["bgp_params"].get("route"): - command += " route install-map {route}".format( - **config_data["bgp_params"] - ) + command += " route install-map {route}".format(**config_data["bgp_params"]) elif config_data["bgp_params"].get("route_reflector"): command += " route-reflector preserve-attributes" if config_data["bgp_params"]["route_reflector"].get("preserve"): command += " always" elif config_data["bgp_params"].get("transport"): - command += " transport listen-port {transport}".format( - **config_data["bgp_params"] - ) + command += " transport listen-port {transport}".format(**config_data["bgp_params"]) return command @@ -238,13 +211,9 @@ def _tmplt_bgp_access_group(config_data): def _tmplt_bgp_maximum_paths(config_data): - command = "maximum-paths {max_equal_cost_paths}".format( - **config_data["maximum_paths"] - ) + command = "maximum-paths {max_equal_cost_paths}".format(**config_data["maximum_paths"]) if config_data["maximum_paths"].get("max_installed_ecmp_paths"): - command += " ecmp {max_installed_ecmp_paths}".format( - **config_data["maximum_paths"] - ) + command += " ecmp {max_installed_ecmp_paths}".format(**config_data["maximum_paths"]) return command @@ -265,24 +234,17 @@ def _tmplt_bgp_monitoring(config_data): def _tmplt_bgp_neighbor(config_data): command = "neighbor {neighbor_address}".format(**config_data["neighbor"]) if config_data["neighbor"].get("additional_paths"): - command += " additional-paths {additional_paths}".format( - **config_data["neighbor"] - ) + command += " additional-paths {additional_paths}".format(**config_data["neighbor"]) if config_data["neighbor"]["additional_paths"] == "send": command += "any" elif config_data["neighbor"].get("peer_group"): command += " peer group" - if ( - config_data["neighbor"]["peer_group"] - != config_data["neighbor"]["peer_group"] - ): + if config_data["neighbor"]["peer_group"] != config_data["neighbor"]["peer_group"]: command += config_data["neighbor"]["peer_group"] elif config_data["neighbor"].get("allowas_in"): command += " allowas-in" if config_data["neighbor"]["allowas_in"].get("count"): - command += " {count}".format( - **config_data["neighbor"]["allowas_in"] - ) + command += " {count}".format(**config_data["neighbor"]["allowas_in"]) elif config_data["neighbor"].get("auto_local_addr"): command += " auto-local-addr" elif config_data["neighbor"].get("bfd"): @@ -293,32 +255,26 @@ def _tmplt_bgp_neighbor(config_data): command += " default-originate" if config_data["neighbor"]["default_originate"].get("route_map"): command += " route-map {route_map}".format( - **config_data["neighbor"]["default_originate"] + **config_data["neighbor"]["default_originate"], ) if config_data["neighbor"]["default_originate"].get("always"): command += " always" elif config_data["neighbor"].get("description"): - command += " description {description}".format( - **config_data["neighbor"] - ) + command += " description {description}".format(**config_data["neighbor"]) elif config_data["neighbor"].get("dont_capability_negotiate"): command += " dont-capability-negotiate" elif config_data["neighbor"].get("ebgp_multihop"): command += " ebgp-multiphop" if config_data["neighbor"]["ebgp_multihop"].get("ttl"): - command += " {ttl}".format( - **config_data["neighbor"]["ebgp_multihop"] - ) + command += " {ttl}".format(**config_data["neighbor"]["ebgp_multihop"]) elif config_data["neighbor"].get("encryption_password"): command += " password {type} {password}".format( - **config_data["neighbor"]["encryption_password"] + **config_data["neighbor"]["encryption_password"], ) elif config_data["neighbor"].get("enforce_first_as"): command += " enforce-first-as" elif config_data["neighbor"].get("export_localpref"): - command += " export-localpref {export_localpref}".format( - **config_data["neighbor"] - ) + command += " export-localpref {export_localpref}".format(**config_data["neighbor"]) elif config_data["neighbor"].get("fall_over"): command += " fall-over bfd" elif config_data["neighbor"].get("graceful_restart"): @@ -326,69 +282,59 @@ def _tmplt_bgp_neighbor(config_data): elif config_data["neighbor"].get("graceful_restart_helper"): command += " graceful-restart-helper" elif config_data["neighbor"].get("idle_restart_timer"): - command += " idle-restart-timer {idle_restart_timer}".format( - **config_data["neighbor"] - ) + command += " idle-restart-timer {idle_restart_timer}".format(**config_data["neighbor"]) elif config_data["neighbor"].get("import_localpref"): - command += " import-localpref {import_localpref}".format( - **config_data["neighbor"] - ) + command += " import-localpref {import_localpref}".format(**config_data["neighbor"]) elif config_data["neighbor"].get("link_bandwidth"): command += " link-bandwidth" if config_data["neighbor"]["link_bandwidth"].get("auto"): command += " auto" if config_data["neighbor"]["link_bandwidth"].get("default"): - command += " default {default}".format( - **config_data["neighbor"]["link_bandwidth"] - ) + command += " default {default}".format(**config_data["neighbor"]["link_bandwidth"]) if config_data["neighbor"]["link_bandwidth"].get("update_delay"): command += " update-delay {update_delay}".format( - **config_data["neighbor"]["link_bandwidth"] + **config_data["neighbor"]["link_bandwidth"], ) elif config_data["neighbor"].get("local_as"): command += " local-as {as_number} no-prepend replace-as".format( - **config_data["neighbor"]["local_as"] + **config_data["neighbor"]["local_as"], ) if config_data["neighbor"]["local_as"].get("fallback"): command += " fallback" elif config_data["neighbor"].get("local_v6_addr"): - command += " local-v6-addr {local_v6_addr}".format( - **config_data["neighbor"] - ) + command += " local-v6-addr {local_v6_addr}".format(**config_data["neighbor"]) elif config_data["neighbor"].get("maximum_accepted_routes"): command += " maximum-accepted-routes {count}".format( - **config_data["neighbor"]["maximum_accepted_routes"] + **config_data["neighbor"]["maximum_accepted_routes"], ) if config_data["neighbor"]["maximum_accepted_routes"].get( "warning_limit", ): command += " warning-limit {warning_limit}".format( - **config_data["neighbor"]["maximum_accepted_routes"] + **config_data["neighbor"]["maximum_accepted_routes"], ) elif config_data["neighbor"].get("maximum_received_routes"): command += " maximum-routes {count}".format( - **config_data["neighbor"]["maximum_received_routes"] + **config_data["neighbor"]["maximum_received_routes"], ) if config_data["neighbor"]["maximum_received_routes"].get( "warning_limit", ): - if config_data["neighbor"]["maximum_received_routes"][ - "warning_limit" - ].get("limit_count"): + if config_data["neighbor"]["maximum_received_routes"]["warning_limit"].get( + "limit_count", + ): command += " warning-limit {limit_count}".format( - **config_data["neighbor"]["maximum_received_routes"][ - "warning_limit" - ] + **config_data["neighbor"]["maximum_received_routes"]["warning_limit"], ) - if config_data["neighbor"]["maximum_received_routes"][ - "warning_limit" - ].get("limit_percent"): + if config_data["neighbor"]["maximum_received_routes"]["warning_limit"].get( + "limit_percent", + ): command += ( " warning-limit " + str( - config_data["neighbor"]["maximum_received_routes"][ - "warning_limit" - ]["limit_percent"], + config_data["neighbor"]["maximum_received_routes"]["warning_limit"][ + "limit_percent" + ], ) + " percent" ) @@ -405,9 +351,7 @@ def _tmplt_bgp_neighbor(config_data): elif config_data["neighbor"].get("next_hop_unchanged"): command += " next-hop-unchanged" elif config_data["neighbor"].get("next_hop_v6_address"): - command += " next-hop-v6-addr {next_hop_v6_address} in".format( - **config_data["neighbor"] - ) + command += " next-hop-v6-addr {next_hop_v6_address} in".format(**config_data["neighbor"]) elif config_data["neighbor"].get("out_delay"): command += " out-delay {out_delay}".format(**config_data["neighbor"]) elif config_data["neighbor"].get("remote_as"): @@ -422,12 +366,10 @@ def _tmplt_bgp_neighbor(config_data): command += " peer-as {peer_as}".format(**config_data["neighbor"]) elif config_data["neighbor"].get("prefix_list"): command += " prefix-list {name} {direction}".format( - **config_data["neighbor"]["prefix_list"] + **config_data["neighbor"]["prefix_list"], ) elif config_data["neighbor"].get("route_map"): - command += " route-map {name} {direction}".format( - **config_data["neighbor"]["route_map"] - ) + command += " route-map {name} {direction}".format(**config_data["neighbor"]["route_map"]) elif config_data["neighbor"].get("route_reflector_client"): command += " route-reflector-client" elif config_data["neighbor"].get("route_to_peer"): @@ -437,32 +379,17 @@ def _tmplt_bgp_neighbor(config_data): if config_data["neighbor"]["send_community"].get( "community_attribute", ): - command += ( - " " - + config_data["neighbor"]["send_community"][ - "community_attribute" - ] - ) + command += " " + config_data["neighbor"]["send_community"]["community_attribute"] if config_data["neighbor"]["send_community"].get("sub_attribute"): - command += ( - " " - + config_data["neighbor"]["send_community"]["sub_attribute"] - ) + command += " " + config_data["neighbor"]["send_community"]["sub_attribute"] if config_data["neighbor"]["send_community"].get( "link_bandwidth_attribute", ): - command += ( - " " - + config_data["neighbor"]["send_community"][ - "link_bandwidth_attribute" - ] - ) + command += " " + config_data["neighbor"]["send_community"]["link_bandwidth_attribute"] if config_data["neighbor"]["send_community"].get("speed"): command += " " + config_data["neighbor"]["send_community"]["speed"] if config_data["neighbor"]["send_community"].get("divide"): - command += ( - " " + config_data["neighbor"]["send_community"]["divide"] - ) + command += " " + config_data["neighbor"]["send_community"]["divide"] elif config_data["neighbor"].get("shutdown"): command += " shutdown" elif config_data["neighbor"].get("soft_reconfiguration"): @@ -474,19 +401,13 @@ def _tmplt_bgp_neighbor(config_data): if config_data["neighbor"]["transport"].get("connection_mode"): command += " connection-mode passive" else: - command += " remote-port {remote_port}".format( - **config_data["neighbor"]["transport"] - ) + command += " remote-port {remote_port}".format(**config_data["neighbor"]["transport"]) elif config_data["neighbor"].get("timers"): - command += " timers {keepalive} {holdtime}".format( - **config_data["neighbor"]["timers"] - ) + command += " timers {keepalive} {holdtime}".format(**config_data["neighbor"]["timers"]) elif config_data["neighbor"].get("ttl"): command += " ttl maximum-hops {ttl}".format(**config_data["neighbor"]) elif config_data["neighbor"].get("update_source"): - command += " update-source {update_source}".format( - **config_data["neighbor"] - ) + command += " update-source {update_source}".format(**config_data["neighbor"]) elif config_data["neighbor"].get("weight"): command += " weight {weight}".format(**config_data["neighbor"]) return command @@ -523,9 +444,7 @@ def _tmplt_bgp_shutdown(config_data): def _tmplt_bgp_timers(config_data): - command = "timers bgp {keepalive} {holdtime}".format( - **config_data["timers"] - ) + command = "timers bgp {keepalive} {holdtime}".format(**config_data["timers"]) return command @@ -533,17 +452,11 @@ def _tmplt_bgp_ucmp(config_data): command = "ucmp" if "fec" in config_data["ucmp"]: command += " fec threshold trigger" - command += " {trigger} clear {clear} warning-only".format( - **config_data["ucmp"]["fec"] - ) + command += " {trigger} clear {clear} warning-only".format(**config_data["ucmp"]["fec"]) if "link_bandwidth" in config_data["ucmp"]: - command += " link-bandwidth {mode}".format( - **config_data["ucmp"]["link_bandwidth"] - ) + command += " link-bandwidth {mode}".format(**config_data["ucmp"]["link_bandwidth"]) if config_data["ucmp"]["link_bandwidth"].get("mode") == "update_delay": - command += " {update_delay}".format( - **config_data["ucmp"]["link_bandwidth"] - ) + command += " {update_delay}".format(**config_data["ucmp"]["link_bandwidth"]) if "mode" in config_data["ucmp"]: command += " mode 1" if config_data["ucmp"]["mode"].get("nexthops"): diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/logging_global.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/logging_global.py index ea7a6a0ba..11690b75c 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/logging_global.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/logging_global.py @@ -25,9 +25,7 @@ from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.r def _tmplt_logging_format(config_data): command = "" if "hostname" in config_data["format"]: - command = ( - "logging format hostname " + config_data["format"]["hostname"] - ) + command = "logging format hostname " + config_data["format"]["hostname"] if "sequence_numbers" in config_data["format"]: command = "logging format sequence-numbers" return command @@ -375,6 +373,7 @@ class Logging_globalTemplate(NetworkTemplate): re.VERBOSE, ), "setval": 'logging source-interface {{ source_interface }}', + "compval": "source_interface", "result": { "source_interface": "{{ val }}", }, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/ntp_global.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/ntp_global.py index 73359df4a..80e6ec84c 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/ntp_global.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/ntp_global.py @@ -74,7 +74,8 @@ def _tmplt_ntp_global_servers(config_data): if el.get("key_id"): command += " key {key_id}".format(**el) if el.get("local_interface"): - command += " local_interface {local_interface}".format(**el) + linterface = el.get("local_interface").replace(" ", "") + command += " local-interface " + linterface if el.get("maxpoll"): command += " maxpoll {maxpoll}".format(**el) if el.get("minpoll"): @@ -227,12 +228,12 @@ class Ntp_globalTemplate(NetworkTemplate): \s*(?P<prefer>prefer)* \s*(?P<burst>burst)* \s*(?P<iburst>iburst)* - \s*(?P<local_int>local-interface\s.+?)* \s*(?P<maxpoll>maxpoll\s\d+)* \s*(?P<minpoll>minpoll\s\d+)* \s*(?P<source>source\s.+?)* \s*(?P<version>version\s[1-4])* \s*(?P<key>key\s.+)* + (\s*local-interface\s(?P<local_int>\S+))? $""", re.VERBOSE, ), @@ -245,7 +246,7 @@ class Ntp_globalTemplate(NetworkTemplate): "burst": "{{ True if burst is defined }}", "iburst": "{{ True if iburst is defined }}", "key_id": "{{ key.split(" ")[1] if key is defined }}", - "local_interface": "{{ local_int.split(" ")[1:] if local_int is defined }}", + "local_interface": "{{ local_int.replace(' ', '') if local_int is defined }}", "maxpoll": "{{ maxpoll.split(" ")[1] if maxpoll is defined }}", "minpoll": "{{ minpoll.split(" ")[1] if minpoll is defined }}", "source": "{{ source.split(" ")[1] if source is defined }}", diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/ospf_interfaces.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/ospf_interfaces.py index 31ca82bce..80870b860 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/ospf_interfaces.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/ospf_interfaces.py @@ -30,9 +30,7 @@ def _tmplt_ospf_int_authentication(config_data): return command if "authentication_v3" in config_data: command = "ospfv3 authentication ipsec spi " - command += "{spi} {algorithm}".format( - **config_data["authentication_v3"] - ) + command += "{spi} {algorithm}".format(**config_data["authentication_v3"]) if "passphrase" in config_data["authentication_v3"]: command += " passphrase" if "keytype" in config_data["authentication_v3"]: @@ -40,18 +38,14 @@ def _tmplt_ospf_int_authentication(config_data): if "passphrase" not in config_data["authentication_v3"]: command += " {key}".format(**config_data["authentication_v3"]) else: - command += " {passphrase}".format( - **config_data["authentication_v3"] - ) + command += " {passphrase}".format(**config_data["authentication_v3"]) return command def _tmplt_ospf_int_encryption_v3(config_data): if "encryption" in config_data: command = "ospfv3 encryption ipsec spi ".format(**config_data) - command += "{spi} esp {encryption} {algorithm}".format( - **config_data["encryption"] - ) + command += "{spi} esp {encryption} {algorithm}".format(**config_data["encryption"]) if "passphrase" in config_data["encryption"]: command += " passphrase" if "keytype" in config_data["encryption"]: @@ -67,9 +61,7 @@ def _tmplt_ospf_int_authentication_key(config_data): if "authentication_key" in config_data: command = "ip ospf authentication-key" if "encryption" in config_data["authentication_key"]: - command += " {encryption} {key}".format( - **config_data["authentication_key"] - ) + command += " {encryption} {key}".format(**config_data["authentication_key"]) else: command += " {key}".format(**config_data["authentication_key"]) return command @@ -93,18 +85,12 @@ def _tmplt_ospf_int_bfd(config_data): def _tmplt_ospf_int_hello_interval(config_data): if "ip_params" in config_data: - command = "ospfv3 {afi} hello-interval {hello_interval}".format( - **config_data["ip_params"] - ) + command = "ospfv3 {afi} hello-interval {hello_interval}".format(**config_data["ip_params"]) else: if config_data["afi"] == "ipv4": - command = "ip ospf hello-interval {hello_interval}".format( - **config_data - ) + command = "ip ospf hello-interval {hello_interval}".format(**config_data) else: - command = "ospfv3 hello-interval {hello_interval}".format( - **config_data - ) + command = "ospfv3 hello-interval {hello_interval}".format(**config_data) return command @@ -121,9 +107,7 @@ def _tmplt_ospf_int_mtu_ignore(config_data): def _tmplt_ospf_int_network(config_data): if "ip_params" in config_data: - command = "ospfv3 {afi} network {network}".format( - **config_data["ip_params"] - ) + command = "ospfv3 {afi} network {network}".format(**config_data["ip_params"]) else: if config_data["afi"] == "ipv4": command = "ip ospf network {network}".format(**config_data) @@ -134,9 +118,7 @@ def _tmplt_ospf_int_network(config_data): def _tmplt_ospf_int_priority(config_data): if "ip_params" in config_data: - command = "ospfv3 {afi} priority {priority}".format( - **config_data["ip_params"] - ) + command = "ospfv3 {afi} priority {priority}".format(**config_data["ip_params"]) else: if config_data["afi"] == "ipv4": command = "ip ospf priority {priority}".format(**config_data) @@ -148,57 +130,38 @@ def _tmplt_ospf_int_priority(config_data): def _tmplt_ospf_int_retransmit_interval(config_data): if "ip_params" in config_data: command = ( - "ospfv3 {afi} retransmit-interval {retransmit_interval}".format( - **config_data["ip_params"] - ) + "ospfv3 " + + config_data["ip_params"]["afi"] + + " retransmit-interval " + + str(config_data["ip_params"]["retransmit_interval"]) ) else: if config_data["afi"] == "ipv4": - command = ( - "ip ospf retransmit-interval {retransmit_interval}".format( - **config_data - ) - ) + command = "ip ospf retransmit-interval {retransmit_interval}".format(**config_data) else: - command = ( - "ospfv3 retransmit-interval {retransmit_interval}".format( - **config_data - ) - ) + command = "ospfv3 retransmit-interval {retransmit_interval}".format(**config_data) return command def _tmplt_ospf_int_transmit_delay(config_data): if "ip_params" in config_data: - command = "ospfv3 {afi} transmit-delay {transmit_delay}".format( - **config_data["ip_params"] - ) + command = "ospfv3 {afi} transmit-delay {transmit_delay}".format(**config_data["ip_params"]) else: if config_data["afi"] == "ipv4": - command = "ip ospf transmit-delay {transmit_delay}".format( - **config_data - ) + command = "ip ospf transmit-delay {transmit_delay}".format(**config_data) else: - command = "ospfv3 transmit-delay {transmit_delay}".format( - **config_data - ) + command = "ospfv3 transmit-delay {transmit_delay}".format(**config_data) return command def _tmplt_ospf_int_dead_interval(config_data): if "ip_params" in config_data: - command = "ospfv3 {afi} dead-interval {dead_interval}".format( - **config_data["ip_params"] - ) + command = "ospfv3 {afi} dead-interval {dead_interval}".format(**config_data["ip_params"]) else: if config_data["afi"] == "ipv4": - command = "ip ospf dead-interval {dead_interval}".format( - **config_data - ) + command = "ip ospf dead-interval {dead_interval}".format(**config_data) else: - command = "ospfv3 dead-interval {dead_interval}".format( - **config_data - ) + command = "ospfv3 dead-interval {dead_interval}".format(**config_data) return command diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/ospfv3.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/ospfv3.py index 67e0b7787..afca25a1c 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/ospfv3.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/ospfv3.py @@ -42,9 +42,7 @@ def _tmplt_ospf_address_family_cmd(config_data): def _tmplt_ospf_adjacency_cmd(config_data): command = "adjacency exchange-start threshold" if "adjacency" in config_data: - command += " {threshold}".format( - **config_data["adjacency"]["exchange_start"] - ) + command += " {threshold}".format(**config_data["adjacency"]["exchange_start"]) return command @@ -52,17 +50,13 @@ def _tmplt_ospf_auto_cost(config_data): if "auto_cost" in config_data: command = "auto-cost" if "reference_bandwidth" in config_data["auto_cost"]: - command += " reference-bandwidth {reference_bandwidth}".format( - **config_data["auto_cost"] - ) + command += " reference-bandwidth " + config_data["auto_cost"]["reference_bandwidth"] return command def _tmplt_ospf_area_authentication(config_data): if "area_id" in config_data: - command = "area {area_id} authentication ipsec spi ".format( - **config_data - ) + command = "area {area_id} authentication ipsec spi ".format(**config_data) command += "{spi} {algorithm}".format(**config_data["authentication"]) if "passphrase" in config_data["authentication"]: command += " passphrase" @@ -86,9 +80,7 @@ def _tmplt_ospf_area_authentication(config_data): def _tmplt_ospf_area_encryption(config_data): if "area_id" in config_data: command = "area {area_id} encryption ipsec spi ".format(**config_data) - command += "{spi} esp {encryption} {algorithm}".format( - **config_data["encryption"] - ) + command += "{spi} esp {encryption} {algorithm}".format(**config_data["encryption"]) if "passphrase" in config_data["encryption"]: command += " passphrase" if ( @@ -113,24 +105,15 @@ def _tmplt_ospf_area_nssa(config_data): command = "area {area_id} nssa".format(**config_data) if "default_information_originate" in config_data["nssa"]: command += " default-information-originate" - if ( - "metric" - in config_data["nssa"]["default_information_originate"] - ): + if "metric" in config_data["nssa"]["default_information_originate"]: command += " metric {metric}".format( - **config_data["nssa"]["default_information_originate"] + **config_data["nssa"]["default_information_originate"], ) - if ( - "metric_type" - in config_data["nssa"]["default_information_originate"] - ): + if "metric_type" in config_data["nssa"]["default_information_originate"]: command += " metric-type {metric_type}".format( - **config_data["nssa"]["default_information_originate"] + **config_data["nssa"]["default_information_originate"], ) - if ( - "nssa_only" - in config_data["nssa"]["default_information_originate"] - ): + if "nssa_only" in config_data["nssa"]["default_information_originate"]: command += " nssa-only" if config_data["nssa"].get("nssa_only"): command += " nssa-only" @@ -177,17 +160,11 @@ def _tmplt_ospf_default_information(config_data): if "always" in config_data["default_information"]: command += " always" if "metric" in config_data["default_information"]: - command += " metric {metric}".format( - **config_data["default_information"] - ) + command += " metric {metric}".format(**config_data["default_information"]) if "metric_type" in config_data["default_information"]: - command += " metric-type {metric_type}".format( - **config_data["default_information"] - ) + command += " metric-type {metric_type}".format(**config_data["default_information"]) if "route_map" in config_data["default_information"]: - command += " route-map {route_map}".format( - **config_data["default_information"] - ) + command += " route-map {route_map}".format(**config_data["default_information"]) return command @@ -207,28 +184,22 @@ def _tmplt_ospf_max_metric(config_data): command += " router-lsa" if "external_lsa" in config_data["max_metric"]["router_lsa"]: command += " external-lsa" - if ( - "max_metric_value" - in config_data["max_metric"]["router_lsa"]["external_lsa"] - ): + if "max_metric_value" in config_data["max_metric"]["router_lsa"]["external_lsa"]: command += " {max_metric_value}".format( - **config_data["max_metric"]["router_lsa"]["external_lsa"] + **config_data["max_metric"]["router_lsa"]["external_lsa"], ) if "include_stub" in config_data["max_metric"]["router_lsa"]: if config_data["max_metric"]["router_lsa"].get("include_stub"): command += " include-stub" if "on_startup" in config_data["max_metric"]["router_lsa"]: command += " on-startup {wait_period}".format( - **config_data["max_metric"]["router_lsa"]["on_startup"] + **config_data["max_metric"]["router_lsa"]["on_startup"], ) if "summary_lsa" in config_data["max_metric"]["router_lsa"]: command += " summary-lsa" - if ( - "max_metric_value" - in config_data["max_metric"]["router_lsa"]["summary_lsa"] - ): + if "max_metric_value" in config_data["max_metric"]["router_lsa"]["summary_lsa"]: command += " {max_metric_value}".format( - **config_data["max_metric"]["router_lsa"]["summary_lsa"] + **config_data["max_metric"]["router_lsa"]["summary_lsa"], ) return command @@ -243,9 +214,7 @@ def _tmplt_ospf_redistribute(config_data): def _tmplt_ospf_timers_lsa(config_data): command = "" if "lsa" in config_data["timers"]: - command += "timers lsa {direction}".format( - **config_data["timers"]["lsa"] - ) + command += "timers lsa {direction}".format(**config_data["timers"]["lsa"]) if config_data["timers"]["lsa"]["direction"] == "rx": command += " min interval " else: @@ -263,9 +232,7 @@ def _tmplt_ospf_timers_spf(config_data): command = "" if "spf" in config_data["timers"]: command += "timers spf delay initial " - command += "{initial} {min} {max}".format( - **config_data["timers"]["spf"] - ) + command += "{initial} {min} {max}".format(**config_data["timers"]["spf"]) return command @@ -534,10 +501,8 @@ class Ospfv3Template(NetworkTemplate): "default_information_originate": { "set": "{{ True if def_origin is defined and metric is undefined and " "metric_type is undefined and nssa_only is undefined }}", - "metric": "{{ metric.split(" - ")[1]|int }}", - "metric_type": "{{ metric_type.split(" - ")[1]|int }}", + "metric": "{{ metric.split(" ")[1]|int }}", + "metric_type": "{{ metric_type.split(" ")[1]|int }}", "nssa_only": "{{ True if nssa_only is defined }}", }, "translate": "{{ True if translate is defined }}", @@ -682,8 +647,7 @@ class Ospfv3Template(NetworkTemplate): "originate": "{{ True if originate is defined }}", "always": "{{ True if always is defined }}", "metric": "{{ metric.split(" ")[1]|int }}", - "metric_type": "{{ metric_type.split(" - ")[1]|int }}", + "metric_type": "{{ metric_type.split(" ")[1]|int }}", "route_map": "{{ route_map.split(" ")[1] }}", }, }, diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/route_maps.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/route_maps.py index fb0eddfb6..f0cf52994 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/route_maps.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/route_maps.py @@ -71,9 +71,7 @@ def _tmplt_route_map_extcommunity_rt(config_data): def _tmplt_route_maps_subroutemap(config_data): command = "" if config_data["entries"].get("sub_route_map"): - command = ( - "sub-route-map " + config_data["entries"]["sub_route_map"]["name"] - ) + command = "sub-route-map " + config_data["entries"]["sub_route_map"]["name"] if config_data["entries"]["sub_route_map"].get("invert_result"): command += " invert-result" return command @@ -147,9 +145,7 @@ def _tmplt_route_map_match_aspath(config_data): def _tmplt_route_map_match_invert_aggregator_role(config_data): - config_data = config_data["entries"]["match"]["invert_result"][ - "aggregate_role" - ] + config_data = config_data["entries"]["match"]["invert_result"]["aggregate_role"] command = "match invert-result as-path aggregate-role contributor" if config_data.get("route_map"): command += " aggregator-attributes " + config_data["route_map"] @@ -204,10 +200,7 @@ def _tmplt_route_map_match_ip(config_data): if config_data.get("next_hop"): command += "next-hop prefix-list " + config_data["next_hop"] elif config_data.get("resolved_next_hop"): - command += ( - "resolved-next-hop prefix-list " - + config_data["resolved_next_hop"] - ) + command += "resolved-next-hop prefix-list " + config_data["resolved_next_hop"] return command @@ -219,10 +212,7 @@ def _tmplt_route_map_match_ipv6(config_data): if config_data.get("next_hop"): command += "next-hop prefix-list " + config_data["next_hop"] elif config_data.get("resolved_next_hop"): - command += ( - "resolved-next-hop prefix-list " - + config_data["resolved_next_hop"] - ) + command += "resolved-next-hop prefix-list " + config_data["resolved_next_hop"] return command diff --git a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/snmp_server.py b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/snmp_server.py index 52605a72e..ef83f506a 100644 --- a/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/snmp_server.py +++ b/ansible_collections/arista/eos/plugins/module_utils/network/eos/rm_templates/snmp_server.py @@ -334,16 +334,9 @@ def _tmplt_snmp_server_users_auth(config_data): command += " udp-port " + str(el["udp_port"]) command += " " + el["version"] if el.get("auth"): - command += ( - " " + el["auth"]["algorithm"] + " " + el["auth"]["auth_passphrase"] - ) + command += " " + el["auth"]["algorithm"] + " " + el["auth"]["auth_passphrase"] if el["auth"].get("encryption"): - command += ( - " priv " - + el["auth"]["encryption"] - + " " - + el["auth"]["priv_passphrase"] - ) + command += " priv " + el["auth"]["encryption"] + " " + el["auth"]["priv_passphrase"] return command @@ -360,9 +353,7 @@ def _tmplt_snmp_server_users_localized(config_data): el = el["localized"] command += " " + el["algorithm"] + " " + el["auth_passphrase"] if el.get("encryption"): - command += ( - " priv " + el["encryption"] + " " + el["priv_passphrase"] - ) + command += " priv " + el["encryption"] + " " + el["priv_passphrase"] return command diff --git a/ansible_collections/arista/eos/plugins/modules/eos_acl_interfaces.py b/ansible_collections/arista/eos/plugins/modules/eos_acl_interfaces.py index e609a7c09..ec5ed843b 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_acl_interfaces.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_acl_interfaces.py @@ -124,16 +124,16 @@ EXAMPLES = """ - name: Merge module attributes of given access-groups arista.eos.eos_acl_interfaces: config: - - name: Ethernet2 - access_groups: - - afi: ipv4 - acls: - name: acl01 - direction: in - - afi: ipv6 - acls: - name: acl03 - direction: out + - name: Ethernet2 + access_groups: + - afi: ipv4 + acls: + name: acl01 + direction: in + - afi: ipv6 + acls: + name: acl03 + direction: out state: merged # Commands Fired: @@ -171,12 +171,12 @@ EXAMPLES = """ - name: Replace module attributes of given access-groups arista.eos.eos_acl_interfaces: config: - - name: Ethernet2 - access_groups: - - afi: ipv4 - acls: - name: acl01 - direction: out + - name: Ethernet2 + access_groups: + - afi: ipv4 + acls: + name: acl01 + direction: out state: replaced # Commands Fired: @@ -215,12 +215,12 @@ EXAMPLES = """ - name: Override module attributes of given access-groups arista.eos.eos_acl_interfaces: config: - - name: Ethernet2 - access_groups: - - afi: ipv4 - acls: - name: acl01 - direction: out + - name: Ethernet2 + access_groups: + - afi: ipv4 + acls: + name: acl01 + direction: out state: overridden # Commands Fired: @@ -260,16 +260,16 @@ EXAMPLES = """ - name: Delete module attributes of given access-groups arista.eos.eos_acl_interfaces: config: - - name: Ethernet2 - access_groups: - - afi: ipv4 - acls: - name: acl01 - direction: in - - afi: ipv6 - acls: - name: acl03 - direction: out + - name: Ethernet2 + access_groups: + - afi: ipv4 + acls: + name: acl01 + direction: in + - afi: ipv6 + acls: + name: acl03 + direction: out state: deleted # Commands Fired: @@ -338,12 +338,12 @@ EXAMPLES = """ - name: Delete acls under afi arista.eos.eos_acl_interfaces: config: - - name: Ethernet3 - access_groups: - - afi: ipv4 - - name: Ethernet2 - access_groups: - - afi: ipv6 + - name: Ethernet3 + access_groups: + - afi: ipv4 + - name: Ethernet2 + access_groups: + - afi: ipv6 state: deleted # Commands Fired: @@ -363,8 +363,6 @@ EXAMPLES = """ # interface Ethernet2 # ip access-group acl01 in # interface Ethernet3 - - """ RETURN = """ before: diff --git a/ansible_collections/arista/eos/plugins/modules/eos_acls.py b/ansible_collections/arista/eos/plugins/modules/eos_acls.py index 95c961d5a..fa2055b92 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_acls.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_acls.py @@ -486,17 +486,17 @@ EXAMPLES = """ - name: Merge provided configuration with device configuration arista.eos.eos_acls: config: - - afi: ipv4 - acls: - - name: test1 - aces: - - sequence: 35 - grant: deny - protocol: ospf - source: - subnet_address: 20.0.0.0/8 - destination: - any: true + - afi: ipv4 + acls: + - name: test1 + aces: + - sequence: 35 + grant: deny + protocol: ospf + source: + subnet_address: 20.0.0.0/8 + destination: + any: true state: merged # After state: @@ -528,14 +528,14 @@ EXAMPLES = """ - name: Merge to update the given configuration with an existing ace arista.eos.eos_acls: config: - - afi: ipv4 - acls: - - name: test1 - aces: - - sequence: 35 - log: true - ttl: - eq: 33 + - afi: ipv4 + acls: + - name: test1 + aces: + - sequence: 35 + log: true + ttl: + eq: 33 state: merged # After state: @@ -568,22 +568,20 @@ EXAMPLES = """ # ipv6 access-list test2 # 10 deny icmpv6 any any reject-route hop-limit eq 20 - - - name: Replace device configuration with provided configuration arista.eos.eos_acls: config: - - afi: ipv4 - acls: - - name: test1 - aces: - - sequence: 35 - grant: permit - protocol: ospf - source: - subnet_address: 20.0.0.0/8 - destination: - any: true + - afi: ipv4 + acls: + - name: test1 + aces: + - sequence: 35 + grant: permit + protocol: ospf + source: + subnet_address: 20.0.0.0/8 + destination: + any: true state: replaced # After state: @@ -599,7 +597,6 @@ EXAMPLES = """ # ipv6 access-list test2 # 10 deny icmpv6 any any reject-route hop-limit eq 20 - # Using overridden # Before state: @@ -618,21 +615,20 @@ EXAMPLES = """ # 10 deny icmpv6 any any reject-route hop-limit eq 20 - - name: override device configuration with provided configuration arista.eos.eos_acls: config: - - afi: ipv4 - acls: - - name: test1 - aces: - - sequence: 35 - grant: permit - protocol: ospf - source: - subnet_address: 20.0.0.0/8 - destination: - any: true + - afi: ipv4 + acls: + - name: test1 + aces: + - sequence: 35 + grant: permit + protocol: ospf + source: + subnet_address: 20.0.0.0/8 + destination: + any: true state: overridden # After state: @@ -661,9 +657,9 @@ EXAMPLES = """ - name: Delete provided configuration arista.eos.eos_acls: config: - - afi: ipv4 - acls: - - name: test1 + - afi: ipv4 + acls: + - name: test1 state: deleted # After state: @@ -688,64 +684,62 @@ EXAMPLES = """ # returns: - # arista.eos.eos_acls: # config: -# - afi: "ipv4" -# acls: -# - name: test1 -# aces: -# - sequence: 35 -# grant: "deny" -# protocol: "ospf" -# source: -# subnet_address: 20.0.0.0/8 -# destination: -# any: true -# - afi: "ipv6" -# acls: -# - name: test2 -# aces: -# - sequence: 40 -# grant: "permit" -# vlan: "55 0xE2" -# protocol: "icmpv6" -# log: true -# source: -# any: true -# destination: -# any: true - +# - afi: "ipv4" +# acls: +# - name: test1 +# aces: +# - sequence: 35 +# grant: "deny" +# protocol: "ospf" +# source: +# subnet_address: 20.0.0.0/8 +# destination: +# any: true +# - afi: "ipv6" +# acls: +# - name: test2 +# aces: +# - sequence: 40 +# grant: "permit" +# vlan: "55 0xE2" +# protocol: "icmpv6" +# log: true +# source: +# any: true +# destination: +# any: true # using rendered - name: Delete provided configuration arista.eos.eos_acls: config: - - afi: ipv4 - acls: - - name: test1 - aces: - - sequence: 35 - grant: deny - protocol: ospf - source: - subnet_address: 20.0.0.0/8 - destination: - any: true - - afi: ipv6 - acls: - - name: test2 - aces: - - sequence: 40 - grant: permit - vlan: 55 0xE2 - protocol: icmpv6 - log: true - source: - any: true - destination: - any: true + - afi: ipv4 + acls: + - name: test1 + aces: + - sequence: 35 + grant: deny + protocol: ospf + source: + subnet_address: 20.0.0.0/8 + destination: + any: true + - afi: ipv6 + acls: + - name: test2 + aces: + - sequence: 40 + grant: permit + vlan: 55 0xE2 + protocol: icmpv6 + log: true + source: + any: true + destination: + any: true state: rendered # returns: @@ -755,7 +749,6 @@ EXAMPLES = """ # ip access-list test2 # 40 permit vlan 55 0xE2 icmpv6 any any log - # Using Parsed # parsed_acls.cfg @@ -832,7 +825,6 @@ EXAMPLES = """ # "afi": "ipv6" # } # ] - """ RETURN = """ before: @@ -868,9 +860,7 @@ from ansible.module_utils.basic import AnsibleModule from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.acls.acls import ( AclsArgs, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.config.acls.acls import ( - Acls, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.config.acls.acls import Acls def main(): diff --git a/ansible_collections/arista/eos/plugins/modules/eos_bgp.py b/ansible_collections/arista/eos/plugins/modules/eos_bgp.py index a9d01d60a..e740f6c2e 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_bgp.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_bgp.py @@ -273,67 +273,67 @@ EXAMPLES = """ router_id: 192.0.2.1 log_neighbor_changes: true neighbors: - - neighbor: 203.0.113.5 - remote_as: 64511 - timers: - keepalive: 300 - holdtime: 360 - - neighbor: 198.51.100.2 - remote_as: 64498 + - neighbor: 203.0.113.5 + remote_as: 64511 + timers: + keepalive: 300 + holdtime: 360 + - neighbor: 198.51.100.2 + remote_as: 64498 networks: - - prefix: 198.51.100.0 - route_map: RMAP_1 - - prefix: 192.0.2.0 - masklen: 23 - address_family: - - afi: ipv4 - safi: unicast - redistribute: - - protocol: isis + - prefix: 198.51.100.0 route_map: RMAP_1 + - prefix: 192.0.2.0 + masklen: 23 + address_family: + - afi: ipv4 + safi: unicast + redistribute: + - protocol: isis + route_map: RMAP_1 operation: merge - name: Configure BGP neighbors arista.eos.eos_bgp: config: bgp_as: 64496 neighbors: - - neighbor: 192.0.2.10 - remote_as: 64496 - description: IBGP_NBR_1 - ebgp_multihop: 100 - timers: - keepalive: 300 - holdtime: 360 - - neighbor: 192.0.2.15 - remote_as: 64496 - description: IBGP_NBR_2 - ebgp_multihop: 150 + - neighbor: 192.0.2.10 + remote_as: 64496 + description: IBGP_NBR_1 + ebgp_multihop: 100 + timers: + keepalive: 300 + holdtime: 360 + - neighbor: 192.0.2.15 + remote_as: 64496 + description: IBGP_NBR_2 + ebgp_multihop: 150 operation: merge - name: Configure root-level networks for BGP arista.eos.eos_bgp: config: bgp_as: 64496 networks: - - prefix: 203.0.113.0 - masklen: 27 - route_map: RMAP_1 - - prefix: 203.0.113.32 - masklen: 27 - route_map: RMAP_2 + - prefix: 203.0.113.0 + masklen: 27 + route_map: RMAP_1 + - prefix: 203.0.113.32 + masklen: 27 + route_map: RMAP_2 operation: merge - name: Configure BGP neighbors under address family mode arista.eos.eos_bgp: config: bgp_as: 64496 address_family: - - afi: ipv4 - neighbors: - - neighbor: 203.0.113.10 - activate: yes - default_originate: true - - neighbor: 192.0.2.15 - activate: yes - graceful_restart: true + - afi: ipv4 + neighbors: + - neighbor: 203.0.113.10 + activate: true + default_originate: true + - neighbor: 192.0.2.15 + activate: true + graceful_restart: true operation: merge - name: remove bgp as 64496 from config arista.eos.eos_bgp: @@ -341,7 +341,6 @@ EXAMPLES = """ bgp_as: 64496 operation: delete """ - RETURN = """ commands: description: The list of configuration mode commands to send to the device diff --git a/ansible_collections/arista/eos/plugins/modules/eos_bgp_address_family.py b/ansible_collections/arista/eos/plugins/modules/eos_bgp_address_family.py index 67aaabef7..e281bf2b0 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_bgp_address_family.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_bgp_address_family.py @@ -234,46 +234,101 @@ options: """ EXAMPLES = """ +# Using Merged -# Using merged - -# Before state - +# Before state: +# ------------- # veos(config)#show running-config | section bgp # veos(config)# - - name: Merge provided configuration with device configuration - arista.eos.eos_bgp_address_family: - config: - as_number: "10" - address_family: - - afi: "ipv4" - redistribute: - - protocol: "ospfv3" - ospf_route: "external" - network: - - address: "1.1.1.0/24" - - address: "1.5.1.0/24" - route_map: "MAP01" - - afi: "ipv6" - bgp_params: - additional_paths: "receive" - neighbor: - - peer: "peer2" - default_originate: - always: True - - afi: "ipv6" - redistribute: - - protocol: "isis" - isis_level: "level-2" - route_target: - mode: "export" - target: "33:11" - vrf: "vrft" - state: merged +- name: Merge provided configuration with device configuration + arista.eos.eos_bgp_address_family: + config: + as_number: "10" + address_family: + - afi: "ipv4" + redistribute: + - protocol: "ospfv3" + ospf_route: "external" + network: + - address: "1.1.1.0/24" + - address: "1.5.1.0/24" + route_map: "MAP01" + - afi: "ipv6" + bgp_params: + additional_paths: "receive" + neighbor: + - peer: "peer2" + default_originate: + always: true + - afi: "ipv6" + redistribute: + - protocol: "isis" + isis_level: "level-2" + route_target: + mode: "export" + target: "33:11" + vrf: "vrft" + state: merged -# After state: +# Task output: +# ------------ +# before: {} +# +# commands: +# - router bgp 10 +# - address-family ipv4 +# - redistribute ospfv3 match external +# - network 1.1.1.0/24 +# - network 1.5.1.0/24 route-map MAP01 +# - exit +# - address-family ipv6 +# - neighbor peer2 default-originate always +# - bgp additional-paths receive +# - exit +# - vrf vrft +# - address-family ipv6 +# - redistribute isis level-2 +# - route-target export 33:11 +# - exit +# - exit +# +# after: +# address_family: +# - afi: ipv4 +# neighbor: +# - activate: true +# peer: 1.1.1.1 +# network: +# - address: 1.1.1.0/24 +# - address: 1.5.1.0/24 +# route_map: MAP01 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# - afi: ipv6 +# bgp_params: +# additional_paths: receive +# neighbor: +# - activate: true +# default_originate: +# always: true +# peer: peer2 +# - afi: ipv6 +# redistribute: +# - isis_level: level-2 +# protocol: isis +# route_target: +# action: export +# target: '33:11' +# vrf: vrft +# as_number: '10' +# "before": {}, +# "changed": true, + +# After state: +# ------------ # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -295,77 +350,11 @@ EXAMPLES = """ # address-family ipv6 # route-target export 33:11 # redistribute isis level-2 -# veos(config-router-bgp)# - -# Module Execution: -# "after": { -# "address_family": [ -# { -# "afi": "ipv4", -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "neighbor": [ -# { -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "redistribute": [ -# { -# "isis_level": "level-2", -# "protocol": "isis" -# } -# ], -# "route_target": { -# "mode": "export", -# "target": "33:11" -# }, -# "vrf": "vrft" -# } -# ], -# "as_number": "10" -# }, -# "before": {}, -# "changed": true, -# "commands": [ -# "router bgp 10", -# "address-family ipv4", -# "redistribute ospfv3 match external", -# "network 1.1.1.0/24", -# "network 1.5.1.0/24 route-map MAP01", -# "exit", -# "address-family ipv6", -# "neighbor peer2 default-originate always", -# "bgp additional-paths receive", -# "exit", -# "vrf vrft", -# "address-family ipv6", -# "redistribute isis level-2", -# "route-target export 33:11", -# "exit", -# "exit" -# ], - -# Using replaced: - -# Before State: +# Using replaced +# Before state: +# ------------- # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -387,27 +376,101 @@ EXAMPLES = """ # address-family ipv6 # route-target export 33:11 # redistribute isis level-2 -# veos(config-router-bgp)# -# - - name: Replace - arista.eos.eos_bgp_address_family: - config: - as_number: "10" - address_family: - - afi: "ipv6" - vrf: "vrft" - redistribute: - - protocol: "ospfv3" - ospf_route: "external" - - afi: "ipv6" - redistribute: - - protocol: "isis" - isis_level: "level-2" - state: replaced +- name: Replace running config section with provided config + arista.eos.eos_bgp_address_family: + config: + as_number: "10" + address_family: + - afi: "ipv6" + vrf: "vrft" + redistribute: + - protocol: "ospfv3" + ospf_route: "external" + - afi: "ipv6" + redistribute: + - protocol: "isis" + isis_level: "level-2" + state: replaced -# After State: +# Task output: +# ------------ +# before: +# address_family: +# - afi: ipv4 +# neighbor: +# - activate: true +# peer: 1.1.1.1 +# network: +# - address: 1.1.1.0/24 +# - address: 1.5.1.0/24 +# route_map: MAP01 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# - afi: ipv6 +# bgp_params: +# additional_paths: receive +# neighbor: +# - activate: true +# default_originate: +# always: true +# peer: peer2 +# - afi: ipv6 +# redistribute: +# - isis_level: level-2 +# protocol: isis +# route_target: +# action: export +# target: '33:11' +# vrf: vrft +# as_number: '10' +# +# commands: +# - router bgp 10 +# - vrf vrft +# - address-family ipv6 +# - redistribute ospfv3 match external +# - no redistribute isis level-2 +# - no route-target export 33:11 +# - exit +# - exit +# - address-family ipv6 +# - redistribute isis level-2 +# - no neighbor peer2 activate +# - no bgp additional-paths receive +# - exit +# +# after: +# address_family: +# - afi: ipv4 +# neighbor: +# - activate: true +# peer: 1.1.1.1 +# network: +# - address: 1.1.1.0/24 +# - address: 1.5.1.0/24 +# route_map: MAP01 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# - afi: ipv6 +# neighbor: +# - default_originate: +# always: true +# peer: peer2 +# redistribute: +# - isis_level: level-2 +# protocol: isis +# - afi: ipv6 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# vrf: vrft +# as_number: '10' +# After state: +# ------------ # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -427,145 +490,11 @@ EXAMPLES = """ # vrf vrft # address-family ipv6 # redistribute ospfv3 match external -# veos(config-router-bgp)# -# -# -# # Module Execution: -# -# "after": { -# "address_family": [ -# { -# "afi": "ipv4", -# "neighbor": [ -# { -# "activate": true, -# "peer": "1.1.1.1" -# } -# ], -# "network": [ -# { -# "address": "1.1.1.0/24" -# }, -# { -# "address": "1.5.1.0/24", -# "route_map": "MAP01" -# } -# ], -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "neighbor": [ -# { -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ], -# "redistribute": [ -# { -# "isis_level": "level-2", -# "protocol": "isis" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ], -# "vrf": "vrft" -# } -# ], -# "as_number": "10" -# }, -# "before": { -# "address_family": [ -# { -# "afi": "ipv4", -# "neighbor": [ -# { -# "activate": true, -# "peer": "1.1.1.1" -# } -# ], -# "network": [ -# { -# "address": "1.1.1.0/24" -# }, -# { -# "address": "1.5.1.0/24", -# "route_map": "MAP01" -# } -# ], -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "neighbor": [ -# { -# "activate": true, -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "redistribute": [ -# { -# "isis_level": "level-2", -# "protocol": "isis" -# } -# ], -# "route_target": { -# "mode": "export", -# "target": "33:11" -# }, -# "vrf": "vrft" -# } -# ], -# "as_number": "10" -# }, -# "changed": true, -# "commands": [ -# "router bgp 10", -# "vrf vrft", -# "address-family ipv6", -# "redistribute ospfv3 match external", -# "no redistribute isis level-2", -# "no route-target export 33:11", -# "exit", -# "exit", -# "address-family ipv6", -# "redistribute isis level-2", -# "no neighbor peer2 activate", -# "no bgp additional-paths receive", -# "exit" -# ], # Using overridden (overriding af at global context): -# Before state: +# Before state: +# ------------- # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -585,23 +514,83 @@ EXAMPLES = """ # vrf vrft # address-family ipv6 # redistribute ospfv3 match external -# veos(config-router-bgp)# - - name: Overridden - arista.eos.eos_bgp_address_family: - config: - as_number: "10" - address_family: - - afi: "ipv4" - bgp_params: - additional_paths: "receive" - neighbor: - - peer: "peer2" - default_originate: - always: True - state: overridden +- name: Override running config with provided config + arista.eos.eos_bgp_address_family: + config: + as_number: "10" + address_family: + - afi: "ipv4" + bgp_params: + additional_paths: "receive" + neighbor: + - peer: "peer2" + default_originate: + always: true + state: overridden -# After State: + +# +# Task output: +# ------------ +# before: +# address_family: +# - afi: ipv4 +# neighbor: +# - activate: true +# peer: 1.1.1.1 +# network: +# - address: 1.1.1.0/24 +# - address: 1.5.1.0/24 +# route_map: MAP01 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# - afi: ipv6 +# neighbor: +# - default_originate: +# always: true +# peer: peer2 +# redistribute: +# - isis_level: level-2 +# protocol: isis +# - afi: ipv6 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# vrf: vrft +# as_number: '10' +# +# commands: +# - router bgp 10 +# - address-family ipv4 +# - no redistribute ospfv3 match external +# - no network 1.1.1.0/24 +# - no network 1.5.1.0/24 route-map MAP01 +# - neighbor peer2 default-originate always +# - no neighbor 1.1.1.1 activate +# - bgp additional-paths receive +# - exit +# - no address-family ipv6 +# +# after: +# address_family: +# - afi: ipv4 +# bgp_params: +# additional_paths: receive +# neighbor: +# - default_originate: +# always: true +# peer: peer2 +# - afi: ipv6 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# vrf: vrft +# as_number: '10' + +# After state: +# ------------ # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -615,113 +604,11 @@ EXAMPLES = """ # vrf vrft # address-family ipv6 # redistribute ospfv3 match external -# veos(config-router-bgp)# -# -# Module Execution: -# -# "after": { -# "address_family": [ -# { -# "afi": "ipv4", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "neighbor": [ -# { -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ], -# "vrf": "vrft" -# } -# ], -# "as_number": "10" -# }, -# "before": { -# "address_family": [ -# { -# "afi": "ipv4", -# "neighbor": [ -# { -# "activate": true, -# "peer": "1.1.1.1" -# } -# ], -# "network": [ -# { -# "address": "1.1.1.0/24" -# }, -# { -# "address": "1.5.1.0/24", -# "route_map": "MAP01" -# } -# ], -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "neighbor": [ -# { -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ], -# "redistribute": [ -# { -# "isis_level": "level-2", -# "protocol": "isis" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ], -# "vrf": "vrft" -# } -# ], -# "as_number": "10" -# }, -# "changed": true, -# "commands": [ -# "router bgp 10", -# "address-family ipv4", -# "no redistribute ospfv3 match external", -# "no network 1.1.1.0/24", -# "no network 1.5.1.0/24 route-map MAP01", -# "neighbor peer2 default-originate always", -# "no neighbor 1.1.1.1 activate", -# "bgp additional-paths receive", -# "exit", -# "no address-family ipv6" -# ], # using Overridden (overridding af in vrf context): -# Before State: - +# Before state: +# ------------- # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -745,26 +632,101 @@ EXAMPLES = """ # route-target export 33:11 # redistribute isis level-2 # redistribute ospfv3 match external -# veos(config-router-bgp)# +- name: Override running config with provided config + arista.eos.eos_bgp_address_family: + config: + as_number: "10" + address_family: + - afi: "ipv4" + bgp_params: + additional_paths: "receive" + neighbor: + - peer: "peer2" + default_originate: + always: true + vrf: vrft + state: overridden - - name: Overridden - arista.eos.eos_bgp_address_family: - config: - as_number: "10" - address_family: - - afi: "ipv4" - bgp_params: - additional_paths: "receive" - neighbor: - - peer: "peer2" - default_originate: - always: True - vrf: vrft - state: overridden - -# After State: +# Task output: +# ------------ +# before: +# address_family: +# - afi: ipv4 +# bgp_params: +# additional_paths: receive +# neighbor: +# - default_originate: +# always: true +# peer: peer2 +# network: +# - address: 1.1.1.0/24 +# - address: 1.5.1.0/24 +# route_map: MAP01 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# - afi: ipv6 +# bgp_params: +# additional_paths: receive +# neighbor: +# - default_originate: +# always: true +# peer: peer2 +# - afi: ipv6 +# redistribute: +# - isis_level: level-2 +# protocol: isis +# - ospf_route: external +# protocol: ospfv3 +# route_target: +# action: export +# target: '33:11' +# vrf: vrft +# as_number: '10' +# +# commands: +# - router bgp 10 +# - vrf vrft +# - address-family ipv4 +# - neighbor peer2 default-originate always +# - bgp additional-paths receive +# - exit +# - exit +# - vrf vrft +# - no address-family ipv6 +# +# after: +# address_family: +# - afi: ipv4 +# bgp_params: +# additional_paths: receive +# neighbor: +# - default_originate: +# always: true +# peer: peer2 +# network: +# - address: 1.1.1.0/24 +# - address: 1.5.1.0/24 +# route_map: MAP01 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# - afi: ipv6 +# bgp_params: +# additional_paths: receive +# neighbor: +# - default_originate: +# always: true +# peer: peer2 +# - afi: ipv4 +# bgp_params: +# additional_paths: receive +# vrf: vrft +# as_number: '10' +# After state: +# ------------ # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -785,146 +747,11 @@ EXAMPLES = """ # vrf vrft # address-family ipv4 # bgp additional-paths receive -# veos(config-router-bgp)# -# -# Module Execution: -# -# "after": { -# "address_family": [ -# { -# "afi": "ipv4", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "neighbor": [ -# { -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ], -# "network": [ -# { -# "address": "1.1.1.0/24" -# }, -# { -# "address": "1.5.1.0/24", -# "route_map": "MAP01" -# } -# ], -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "neighbor": [ -# { -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ] -# }, -# { -# "afi": "ipv4", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "vrf": "vrft" -# } -# ], -# "as_number": "10" -# }, -# "before": { -# "address_family": [ -# { -# "afi": "ipv4", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "neighbor": [ -# { -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ], -# "network": [ -# { -# "address": "1.1.1.0/24" -# }, -# { -# "address": "1.5.1.0/24", -# "route_map": "MAP01" -# } -# ], -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "neighbor": [ -# { -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "redistribute": [ -# { -# "isis_level": "level-2", -# "protocol": "isis" -# }, -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ], -# "route_target": { -# "mode": "export", -# "target": "33:11" -# }, -# "vrf": "vrft" -# } -# ], -# "as_number": "10" -# }, -# "changed": true, -# "commands": [ -# "router bgp 10", -# "vrf vrft", -# "address-family ipv4", -# "neighbor peer2 default-originate always", -# "bgp additional-paths receive", -# "exit", -# "exit", -# " vrf vrft", -# "no address-family ipv6" -# ], -# Using Deleted: +# Using deleted +# Before state: +# ------------- # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -946,20 +773,72 @@ EXAMPLES = """ # vrf vrft # address-family ipv4 # bgp additional-paths receive -# veos(config-router-bgp)# - - name: Delete - arista.eos.eos_bgp_address_family: - config: - as_number: "10" - address_family: - - afi: "ipv6" - vrf: "vrft" - - afi: "ipv6" - state: deleted +- name: Delete running config for provided afi + arista.eos.eos_bgp_address_family: + config: + as_number: "10" + address_family: + - afi: "ipv6" + vrf: "vrft" + - afi: "ipv6" + state: deleted -# After State: +# Task output: +# ------------ +# before: +# address_family: +# - afi: ipv4 +# bgp_params: +# additional_paths: receive +# neighbor: +# - default_originate: +# always: true +# peer: peer2 +# network: +# - address: 1.1.1.0/24 +# - address: 1.5.1.0/24 +# route_map: MAP01 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# - afi: ipv6 +# bgp_params: +# additional_paths: receive +# neighbor: +# - default_originate: +# always: true +# peer: peer2 +# - afi: ipv4 +# bgp_params: +# additional_paths: receive +# vrf: vrft +# as_number: '10' +# +# after: +# address_family: +# - afi: ipv4 +# bgp_params: +# additional_paths: receive +# neighbor: +# - default_originate: +# always: true +# peer: peer2 +# network: +# - address: 1.1.1.0/24 +# - address: 1.5.1.0/24 +# route_map: MAP01 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# - afi: ipv4 +# bgp_params: +# additional_paths: receive +# vrf: vrft +# as_number: '10' +# After state: +# ------------ # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -977,111 +856,12 @@ EXAMPLES = """ # vrf vrft # address-family ipv4 # bgp additional-paths receive -# veos(config-router-bgp)# -# -# Module Execution: -# -# "after": { -# "address_family": [ -# { -# "afi": "ipv4", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "neighbor": [ -# { -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ], -# "network": [ -# { -# "address": "1.1.1.0/24" -# }, -# { -# "address": "1.5.1.0/24", -# "route_map": "MAP01" -# } -# ], -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ] -# }, -# { -# "afi": "ipv4", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "vrf": "vrft" -# } -# ], -# "as_number": "10" -# }, -# "before": { -# "address_family": [ -# { -# "afi": "ipv4", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "neighbor": [ -# { -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ], -# "network": [ -# { -# "address": "1.1.1.0/24" -# }, -# { -# "address": "1.5.1.0/24", -# "route_map": "MAP01" -# } -# ], -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "neighbor": [ -# { -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ] -# }, -# { -# "afi": "ipv4", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "vrf": "vrft" -# } -# ], -# "as_number": "10" -# }, -# Using parsed: -# parsed_bgp_address_family.cfg : +# Using parsed +# parsed.cfg +# ---------- # router bgp 10 # neighbor n2 peer group # neighbor n2 next-hop-unchanged @@ -1115,82 +895,52 @@ EXAMPLES = """ # address-family ipv6 # redistribute ospfv3 match external - - name: parse configs - arista.eos.eos_bgp_address_family: - running_config: "{{ lookup('file', './parsed_bgp_address_family.cfg') }}" - state: parsed +- name: parse running config and generate structred facts + arista.eos.eos_bgp_address_family: + running_config: "{{ lookup('file', './parsed_bgp_address_family.cfg') }}" + state: parsed -# Module Execution: -# "parsed": { -# "address_family": [ -# { -# "afi": "ipv4", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "neighbor": [ -# { -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ], -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "neighbor": [ -# { -# "next_hop_unchanged": true, -# "peer": "n2" -# } -# ], -# "redistribute": [ -# { -# "isis_level": "level-2", -# "protocol": "isis" -# } -# ] -# }, -# { -# "afi": "ipv4", -# "route_target": { -# "mode": "import", -# "target": "20:11" -# }, -# "vrf": "bgp_10" -# }, -# { -# "afi": "ipv4", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "vrf": "vrft" -# }, -# { -# "afi": "ipv6", -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ], -# "vrf": "vrft" -# } -# ], -# "as_number": "10" -# } -# } +# Task output: +# ------------ +# parsed: +# address_family: +# - afi: ipv4 +# bgp_params: +# additional_paths: receive +# neighbor: +# - default_originate: +# always: true +# peer: peer2 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# - afi: ipv6 +# neighbor: +# - next_hop_unchanged: true +# peer: n2 +# redistribute: +# - isis_level: level-2 +# protocol: isis +# - afi: ipv4 +# route_target: +# action: import +# target: '20:11' +# vrf: bgp_10 +# - afi: ipv4 +# bgp_params: +# additional_paths: receive +# vrf: vrft +# - afi: ipv6 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# vrf: vrft +# as_number: '10' -# Using gathered: +# Using gathered -# Device config: +# running config +# -------------- # veos(config-router-bgp)#show running-config | section bgp # router bgp 10 # neighbor peer2 peer group @@ -1208,110 +958,134 @@ EXAMPLES = """ # vrf vrft # address-family ipv4 # bgp additional-paths receive -# veos(config-router-bgp)# - - - name: gather configs - arista.eos.eos_bgp_address_family: - state: gathered - -# Module Execution: -# "gathered": { -# "address_family": [ -# { -# "afi": "ipv4", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "neighbor": [ -# { -# "default_originate": { -# "always": true -# }, -# "peer": "peer2" -# } -# ], -# "network": [ -# { -# "address": "1.1.1.0/24" -# }, -# { -# "address": "1.5.1.0/24", -# "route_map": "MAP01" -# } -# ], -# "redistribute": [ -# { -# "ospf_route": "external", -# "protocol": "ospfv3" -# } -# ] -# }, -# { -# "afi": "ipv4", -# "bgp_params": { -# "additional_paths": "receive" -# }, -# "vrf": "vrft" -# } -# ], -# "as_number": "10" -# }, - -# using rendered: - - name: Render - arista.eos.eos_bgp_address_family: - config: - as_number: "10" - address_family: - - afi: "ipv4" - redistribute: - - protocol: "ospfv3" - ospf_route: "external" - network: - - address: "1.1.1.0/24" - - address: "1.5.1.0/24" - route_map: "MAP01" - - afi: "ipv6" - bgp_params: - additional_paths: "receive" - neighbor: - - peer: "peer2" - default_originate: - always: True - - afi: "ipv6" - redistribute: - - protocol: "isis" - isis_level: "level-2" - route_target: - mode: "export" - target: "33:11" - vrf: "vrft" +- name: gather running config + arista.eos.eos_bgp_address_family: + state: gathered - state: rendered +# Task output: +# ------------ +# gathered: +# address_family: +# - afi: ipv4 +# bgp_params: +# additional_paths: receive +# neighbor: +# - default_originate: +# always: true +# peer: peer2 +# network: +# - address: 1.1.1.0/24 +# - address: 1.5.1.0/24 +# route_map: MAP01 +# redistribute: +# - ospf_route: external +# protocol: ospfv3 +# - afi: ipv4 +# bgp_params: +# additional_paths: receive +# vrf: vrft +# as_number: '10' -# Module Execution: +# using rendered -# "rendered": [ -# "router bgp 10", -# "address-family ipv4", -# "redistribute ospfv3 match external", -# "network 1.1.1.0/24", -# "network 1.5.1.0/24 route-map MAP01", -# "exit", -# "address-family ipv6", -# "neighbor peer2 default-originate always", -# "bgp additional-paths receive", -# "exit", -# "vrf vrft", -# "address-family ipv6", -# "redistribute isis level-2", -# "route-target export 33:11", -# "exit", -# "exit" -# ] -# +- name: Render CLI commands for provided config + arista.eos.eos_bgp_address_family: + config: + as_number: "10" + address_family: + - afi: "ipv4" + redistribute: + - protocol: "ospfv3" + ospf_route: "external" + network: + - address: "1.1.1.0/24" + - address: "1.5.1.0/24" + route_map: "MAP01" + - afi: "ipv6" + bgp_params: + additional_paths: "receive" + neighbor: + - peer: "peer2" + default_originate: + always: true + - afi: "ipv6" + redistribute: + - protocol: "isis" + isis_level: "level-2" + route_target: + mode: "export" + target: "33:11" + vrf: "vrft" + state: rendered +# Task output: +# ------------ +# rendered: +# - router bgp 10 +# - address-family ipv4 +# - redistribute ospfv3 match external +# - network 1.1.1.0/24 +# - network 1.5.1.0/24 route-map MAP01 +# - exit +# - address-family ipv6 +# - neighbor peer2 default-originate always +# - bgp additional-paths receive +# - exit +# - vrf vrft +# - address-family ipv6 +# - redistribute isis level-2 +# - route-target export 33:11 +# - exit +# - exit +""" +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 10 + - address-family ipv4 + - redistribute ospfv3 match external + - network 1.1.1.0/24 +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 10 + - address-family ipv4 + - redistribute ospfv3 match external + - network 1.1.1.0/24 +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/arista/eos/plugins/modules/eos_bgp_global.py b/ansible_collections/arista/eos/plugins/modules/eos_bgp_global.py index 06168db54..b7034c11a 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_bgp_global.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_bgp_global.py @@ -91,7 +91,7 @@ options: type: dict suboptions: set: - description: When True, it is set. + description: When true, it is set. type: bool count: description: Number of local ASNs allowed in a BGP update. @@ -238,7 +238,7 @@ options: type: dict suboptions: set: - description: When True route_reflector is set. + description: When true route_reflector is set. type: bool preserve: description: preserve route attributes, overwriting route-map changes @@ -267,7 +267,7 @@ options: type: dict suboptions: set: - description: When True, graceful restart is set. + description: When true, graceful restart is set. type: bool restart_time: description: Set the max time needed to restart and come back up. @@ -340,7 +340,7 @@ options: type: dict suboptions: set: - description: When True, it is set. + description: When true, it is set. type: bool count: description: Number of local ASNs allowed in a BGP update. @@ -379,7 +379,7 @@ options: description: Time-to-live in the range 1-255 hops. type: int set: - description: If True, ttl is not set. + description: If true, ttl is not set. type: bool enforce_first_as: description: Enforce the First AS for EBGP routes(default). @@ -410,7 +410,7 @@ options: type: dict suboptions: set: - description: If True, set link bandwidth + description: If true, set link bandwidth type: bool auto: description: Enable link bandwidth auto generation for routes from this peer. @@ -505,7 +505,7 @@ options: type: dict suboptions: set: - description: If True, set remove_private_as. + description: If true, set remove_private_as. type: bool all: description: Remove private AS number. @@ -657,7 +657,7 @@ options: description: Route Target. type: str shutdown: - description: When True, shut down BGP. + description: When true, shut down BGP. type: bool timers: description: Timers. @@ -699,7 +699,7 @@ options: type: dict suboptions: set: - description: If True, ucmp mode is set to 1. + description: If true, ucmp mode is set to 1. type: bool nexthops: description: Value for total number UCMP nexthops. @@ -771,7 +771,7 @@ options: type: dict suboptions: set: - description: When True, it is set. + description: When true, it is set. type: bool count: description: Number of local ASNs allowed in a BGP update. @@ -918,7 +918,7 @@ options: type: dict suboptions: set: - description: When True route_reflector is set. + description: When true route_reflector is set. type: bool preserve: description: preserve route attributes, overwriting route-map changes @@ -947,7 +947,7 @@ options: type: dict suboptions: set: - description: When True, graceful restart is set. + description: When true, graceful restart is set. type: bool restart_time: description: Set the max time needed to restart and come back up. @@ -1003,7 +1003,7 @@ options: type: dict suboptions: set: - description: When True, it is set. + description: When true, it is set. type: bool count: description: Number of local ASNs allowed in a BGP update. @@ -1042,7 +1042,7 @@ options: description: Time-to-live in the range 1-255 hops. type: int set: - description: If True, ttl is not set. + description: If true, ttl is not set. type: bool enforce_first_as: description: Enforce the First AS for EBGP routes(default). @@ -1073,7 +1073,7 @@ options: type: dict suboptions: set: - description: If True, set link bandwidth + description: If true, set link bandwidth type: bool auto: description: Enable link bandwidth auto generation for routes from this peer. @@ -1168,7 +1168,7 @@ options: type: dict suboptions: set: - description: If True, set remove_private_as. + description: If true, set remove_private_as. type: bool all: description: Remove private AS number. @@ -1325,7 +1325,7 @@ options: description: Router id. type: str shutdown: - description: When True, shut down BGP. + description: When true, shut down BGP. type: bool timers: description: Timers. @@ -1367,7 +1367,7 @@ options: type: dict suboptions: set: - description: If True, ucmp mode is set to 1. + description: If true, ucmp mode is set to 1. type: bool nexthops: description: Value for total number UCMP nexthops. @@ -1406,72 +1406,156 @@ options: module for prior cleanup. - Refer to examples for more details. type: str - choices: [deleted, merged, purged, replaced, gathered, rendered, parsed] + choices: [deleted, merged, overridden, purged, replaced, gathered, rendered, parsed] default: merged """ EXAMPLES = """ -# Using merged -# Before state +# Using Merged +# Before state: +# ------------- # veos(config)#show running-config | section bgp # veos(config)# - - name: Merge provided configuration with device configuration - arista.eos.eos_bgp_global: - config: - as_number: "100" - bgp_params: - host_routes: True - convergence: - slow_peer: True - time: 6 - additional_paths: "send" - log_neighbor_changes: True - maximum_paths: - max_equal_cost_paths: 55 - aggregate_address: - - address: "1.2.1.0/24" - as_set: true - match_map: "match01" - - address: "5.2.1.0/24" - attribute_map: "attrmatch01" - advertise_only: true - redistribute: - - protocol: "static" - route_map: "map_static" - - protocol: "attached-host" - distance: - internal: 50 - neighbor: - - peer: "10.1.3.2" - allowas_in: - set: true - default_originate: - always: true - dont_capability_negotiate: true - export_localpref: 4000 - maximum_received_routes: - count: 500 - warning_limit: - limit_percent: 5 - next_hop_unchanged: true - prefix_list: - name: "prefix01" - direction: "out" - - neighbor_address: "peer1" - fall_over: true - link_bandwidth: - update_delay: 5 - monitoring: True - send_community: - community_attribute: "extended" - sub_attribute: "link-bandwidth" - link_bandwidth_attribute: "aggregate" - speed: "600" - vlan: 5 - state: merged +- name: Merge provided configuration with device configuration + arista.eos.eos_bgp_global: + config: + as_number: "100" + bgp_params: + host_routes: true + convergence: + slow_peer: true + time: 6 + additional_paths: "send" + log_neighbor_changes: true + maximum_paths: + max_equal_cost_paths: 55 + aggregate_address: + - address: "1.2.1.0/24" + as_set: true + match_map: "match01" + - address: "5.2.1.0/24" + attribute_map: "attrmatch01" + advertise_only: true + redistribute: + - protocol: "static" + route_map: "map_static" + - protocol: "attached-host" + distance: + internal: 50 + neighbor: + - peer: "10.1.3.2" + allowas_in: + set: true + default_originate: + always: true + dont_capability_negotiate: true + export_localpref: 4000 + maximum_received_routes: + count: 500 + warning_limit: + limit_percent: 5 + next_hop_unchanged: true + prefix_list: + name: "prefix01" + direction: "out" + - neighbor_address: "peer1" + fall_over: true + link_bandwidth: + update_delay: 5 + monitoring: true + send_community: + community_attribute: "extended" + sub_attribute: "link-bandwidth" + link_bandwidth_attribute: "aggregate" + speed: "600" + vlan: 5 + state: merged + +# Task output: +# ------------ +# before: {} +# +# commands: +# - router bgp 100 +# - neighbor 10.1.3.2 allowas-in +# - neighbor 10.1.3.2 default-originate always +# - neighbor 10.1.3.2 dont-capability-negotiate +# - neighbor 10.1.3.2 export-localpref 4000 +# - neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent +# - neighbor 10.1.3.2 next-hop-unchanged +# - neighbor 10.1.3.2 prefix-list prefix01 out +# - neighbor peer1 fall-over bfd +# - neighbor peer1 link-bandwidth update-delay 5 +# - neighbor peer1 monitoring +# - neighbor peer1 send-community extended link-bandwidth aggregate 600 +# - redistribute static route-map map_static +# - redistribute attached-host +# - aggregate-address 1.2.1.0/24 as-set match-map match01 +# - aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only +# - bgp host-routes fib direct-install +# - bgp convergence slow-peer time 6 +# - bgp additional-paths send any +# - bgp log-neighbor-changes +# - maximum-paths 55 +# - distance bgp 50 +# - vlan 5 +# +# after: +# aggregate_address: +# - address: 1.2.1.0/24 +# as_set: true +# match_map: match01 +# - address: 5.2.1.0/24 +# advertise_only: true +# attribute_map: attrmatch01 +# as_number: '100' +# bgp_params: +# additional_paths: send +# convergence: +# slow_peer: true +# time: 6 +# distance: +# external: 50 +# internal: 50 +# local: 50 +# maximum_paths: +# max_equal_cost_paths: 55 +# neighbor: +# - fall_over: true +# link_bandwidth: +# set: true +# update_delay: 5 +# maximum_received_routes: +# count: 12000 +# monitoring: true +# neighbor_address: peer1 +# peer_group: peer1 +# send_community: +# community_attribute: extended +# link_bandwidth_attribute: aggregate +# speed: '600' +# sub_attribute: link-bandwidth +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# export_localpref: 4000 +# maximum_received_routes: +# count: 500 +# warning_limit: +# limit_percent: 5 +# neighbor_address: 10.1.3.2 +# next_hop_unchanged: true +# redistribute: +# - protocol: static +# route_map: map_static +# - protocol: attached-host +# vlan: 5 -# After State: +# After state: +# ------------ # veos(config)#show running-config | section bgp # router bgp 100 # bgp convergence slow-peer time 6 @@ -1499,120 +1583,11 @@ EXAMPLES = """ # ! # address-family ipv4 # neighbor 10.1.3.2 prefix-list prefix01 out -# veos(config)# -# -# Module Execution: -# -# "after": { -# "aggregate_address": [ -# { -# "address": "1.2.1.0/24", -# "as_set": true, -# "match_map": "match01" -# }, -# { -# "address": "5.2.1.0/24", -# "advertise_only": true, -# "attribute_map": "attrmatch01" -# } -# ], -# "as_number": "100", -# "bgp_params": { -# "additional_paths": "send", -# "convergence": { -# "slow_peer": true, -# "time": 6 -# } -# }, -# "distance": { -# "external": 50, -# "internal": 50, -# "local": 50 -# }, -# "maximum_paths": { -# "max_equal_cost_paths": 55 -# }, -# "neighbor": [ -# { -# "fall_over": true, -# "link_bandwidth": { -# "set": true, -# "update_delay": 5 -# }, -# "maximum_received_routes": { -# "count": 12000 -# }, -# "monitoring": true, -# "peer": "peer1", -# "peer_group": "peer1", -# "send_community": { -# "community_attribute": "extended", -# "link_bandwidth_attribute": "aggregate", -# "speed": "600", -# "sub_attribute": "link-bandwidth" -# } -# }, -# { -# "allowas_in": { -# "count": 3 -# }, -# "default_originate": { -# "always": true -# }, -# "dont_capability_negotiate": true, -# "export_localpref": 4000, -# "maximum_received_routes": { -# "count": 500, -# "warning_limit": { -# "limit_percent": 5 -# } -# }, -# "next_hop_unchanged": true, -# "peer": "10.1.3.2" -# } -# ], -# "redistribute": [ -# { -# "protocol": "static", -# "route_map": "map_static" -# }, -# { -# "protocol": "attached-host" -# } -# ], -# "vlan": 5 -# }, -# "before": {}, -# "changed": true, -# "commands": [ -# "router bgp 100", -# "neighbor 10.1.3.2 allowas-in", -# "neighbor 10.1.3.2 default-originate always", -# "neighbor 10.1.3.2 dont-capability-negotiate", -# "neighbor 10.1.3.2 export-localpref 4000", -# "neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent", -# "neighbor 10.1.3.2 next-hop-unchanged", -# "neighbor 10.1.3.2 prefix-list prefix01 out", -# "neighbor peer1 fall-over bfd", -# "neighbor peer1 link-bandwidth update-delay 5", -# "neighbor peer1 monitoring", -# "neighbor peer1 send-community extended link-bandwidth aggregate 600", -# "redistribute static route-map map_static", -# "redistribute attached-host", -# "aggregate-address 1.2.1.0/24 as-set match-map match01", -# "aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only", -# "bgp host-routes fib direct-install", -# "bgp convergence slow-peer time 6", -# "bgp additional-paths send any", -# "bgp log-neighbor-changes", -# "maximum-paths 55", -# "distance bgp 50", -# "vlan 5" -# ], # Using replaced: # Before state: +# ------------- # veos(config)#show running-config | section bgp # router bgp 100 # bgp convergence slow-peer time 6 @@ -1647,66 +1622,215 @@ EXAMPLES = """ # neighbor 12.1.3.2 allowas-in 3 # neighbor 12.1.3.2 default-originate always # neighbor 12.1.3.2 maximum-routes 12000 -# veos(config)# - - name: replace provided configuration with device configuration - arista.eos.eos_bgp_global: - config: - as_number: "100" - bgp_params: - host_routes: True - convergence: - slow_peer: True - time: 6 - additional_paths: "send" - log_neighbor_changes: True - vrfs: - - vrf: "vrf01" - maximum_paths: - max_equal_cost_paths: 55 - aggregate_address: - - address: "1.2.1.0/24" - as_set: true - match_map: "match01" - - address: "5.2.1.0/24" - attribute_map: "attrmatch01" - advertise_only: true - redistribute: - - protocol: "static" - route_map: "map_static" - - protocol: "attached-host" - distance: - internal: 50 - neighbor: - - neighbor_address: "10.1.3.2" - allowas_in: - set: true - default_originate: - always: true - dont_capability_negotiate: true - export_localpref: 4000 - maximum_received_routes: - count: 500 - warning_limit: - limit_percent: 5 - next_hop_unchanged: true - prefix_list: - name: "prefix01" - direction: "out" - - neighbor_address: "peer1" - fall_over: true - link_bandwidth: - update_delay: 5 - monitoring: True - send_community: - community_attribute: "extended" - sub_attribute: "link-bandwidth" - link_bandwidth_attribute: "aggregate" - speed: "600" - state: replaced +- name: replace provided configuration with device configuration + arista.eos.eos_bgp_global: + config: + as_number: "100" + bgp_params: + host_routes: true + convergence: + slow_peer: true + time: 6 + additional_paths: "send" + log_neighbor_changes: true + vrfs: + - vrf: "vrf01" + maximum_paths: + max_equal_cost_paths: 55 + aggregate_address: + - address: "1.2.1.0/24" + as_set: true + match_map: "match01" + - address: "5.2.1.0/24" + attribute_map: "attrmatch01" + advertise_only: true + redistribute: + - protocol: "static" + route_map: "map_static" + - protocol: "attached-host" + distance: + internal: 50 + neighbor: + - neighbor_address: "10.1.3.2" + allowas_in: + set: true + default_originate: + always: true + dont_capability_negotiate: true + export_localpref: 4000 + maximum_received_routes: + count: 500 + warning_limit: + limit_percent: 5 + next_hop_unchanged: true + prefix_list: + name: "prefix01" + direction: "out" + - neighbor_address: "peer1" + fall_over: true + link_bandwidth: + update_delay: 5 + monitoring: true + send_community: + community_attribute: "extended" + sub_attribute: "link-bandwidth" + link_bandwidth_attribute: "aggregate" + speed: "600" + state: replaced -# After State: +# Task output: +# ------------ +# before: +# aggregate_address: +# - address: 1.2.1.0/24 +# as_set: true +# match_map: match01 +# - address: 5.2.1.0/24 +# advertise_only: true +# attribute_map: attrmatch01 +# as_number: '100' +# bgp_params: +# additional_paths: send +# convergence: +# slow_peer: true +# time: 6 +# distance: +# external: 50 +# internal: 50 +# local: 50 +# maximum_paths: +# max_equal_cost_paths: 55 +# neighbor: +# - fall_over: true +# link_bandwidth: +# set: true +# update_delay: 5 +# maximum_received_routes: +# count: 12000 +# monitoring: true +# neighbor_address: peer1 +# peer_group: peer1 +# send_community: +# community_attribute: extended +# link_bandwidth_attribute: aggregate +# speed: '600' +# sub_attribute: link-bandwidth +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# export_localpref: 4000 +# maximum_received_routes: +# count: 500 +# warning_limit: +# limit_percent: 5 +# neighbor_address: 10.1.3.2 +# next_hop_unchanged: true +# redistribute: +# - protocol: static +# route_map: map_static +# - protocol: attached-host +# vlan: 5 +# vrfs: +# - neighbor: +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# maximum_received_routes: +# count: 12000 +# neighbor_address: 12.1.3.2 +# route_target: +# action: import +# target: '54:11' +# vrf: vrf01 +# +# commands: +# - router bgp 100 +# - vrf vrf01 +# - no route-target import 54:11 +# - neighbor 10.1.3.2 allowas-in +# - neighbor 10.1.3.2 default-originate always +# - neighbor 10.1.3.2 dont-capability-negotiate +# - neighbor 10.1.3.2 export-localpref 4000 +# - neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent +# - neighbor 10.1.3.2 next-hop-unchanged +# - neighbor 10.1.3.2 prefix-list prefix01 out +# - neighbor peer1 fall-over bfd +# - neighbor peer1 link-bandwidth update-delay 5 +# - neighbor peer1 monitoring +# - neighbor peer1 send-community extended link-bandwidth aggregate 600 +# - no neighbor 12.1.3.2 +# - redistribute static route-map map_static +# - redistribute attached-host +# - aggregate-address 1.2.1.0/24 as-set match-map match01 +# - aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only +# - maximum-paths 55 +# - distance bgp 50 +# - exit +# - no neighbor peer1 peer group +# - no neighbor peer1 link-bandwidth update-delay 5 +# - no neighbor peer1 fall-over bfd +# - no neighbor peer1 monitoring +# - no neighbor peer1 send-community extended link-bandwidth aggregate 600 +# - no neighbor peer1 maximum-routes 12000 +# - no neighbor 10.1.3.2 +# - no redistribute static route-map map_static +# - no redistribute attached-host +# - no aggregate-address 1.2.1.0/24 as-set match-map match01 +# - no aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only +# - bgp host-routes fib direct-install +# - bgp log-neighbor-changes +# - no distance bgp 50 50 50 +# - no maximum-paths 55 +# - no vlan 5 +# +# after: +# as_number: '100' +# bgp_params: +# additional_paths: send +# convergence: +# slow_peer: true +# time: 6 +# vrfs: +# - aggregate_address: +# - address: 1.2.1.0/24 +# as_set: true +# match_map: match01 +# - address: 5.2.1.0/24 +# advertise_only: true +# attribute_map: attrmatch01 +# distance: +# external: 50 +# internal: 50 +# local: 50 +# maximum_paths: +# max_equal_cost_paths: 55 +# neighbor: +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# export_localpref: 4000 +# maximum_received_routes: +# count: 500 +# warning_limit: +# limit_percent: 5 +# neighbor_address: 10.1.3.2 +# next_hop_unchanged: true +# redistribute: +# - protocol: static +# route_map: map_static +# - protocol: attached-host +# vrf: vrf01 +# +# After state: +# ------------ # veos(config)#show running-config | section bgp # router bgp 100 # bgp convergence slow-peer time 6 @@ -1728,225 +1852,255 @@ EXAMPLES = """ # ! # address-family ipv4 # neighbor 10.1.3.2 prefix-list prefix01 out -# veos(config)# -# + +# Using overridden: +# (Note: Overridden and replaced operations are identitical) + +# Before state: +# ------------- +# veos(config)#show running-config | section bgp +# router bgp 100 +# bgp convergence slow-peer time 6 +# distance bgp 50 50 50 +# maximum-paths 55 +# bgp additional-paths send any +# neighbor peer1 peer group +# neighbor peer1 link-bandwidth update-delay 5 +# neighbor peer1 fall-over bfd +# neighbor peer1 monitoring +# neighbor peer1 send-community extended link-bandwidth aggregate 600 +# neighbor peer1 maximum-routes 12000 +# neighbor 10.1.3.2 export-localpref 4000 +# neighbor 10.1.3.2 next-hop-unchanged +# neighbor 10.1.3.2 dont-capability-negotiate +# neighbor 10.1.3.2 allowas-in 3 +# neighbor 10.1.3.2 default-originate always +# neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent +# aggregate-address 1.2.1.0/24 as-set match-map match01 +# aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only +# redistribute static route-map map_static +# redistribute attached-host +# ! +# vlan 5 +# ! +# address-family ipv4 +# neighbor 10.1.3.2 prefix-list prefix01 out +# ! +# vrf vrf01 +# route-target import 54:11 +# neighbor 12.1.3.2 dont-capability-negotiate +# neighbor 12.1.3.2 allowas-in 3 +# neighbor 12.1.3.2 default-originate always +# neighbor 12.1.3.2 maximum-routes 12000 + +- name: override running configuration with configuration + arista.eos.eos_bgp_global: + config: + as_number: "100" + bgp_params: + host_routes: true + convergence: + slow_peer: true + time: 6 + additional_paths: "send" + log_neighbor_changes: true + vrfs: + - vrf: "vrf01" + maximum_paths: + max_equal_cost_paths: 55 + aggregate_address: + - address: "1.2.1.0/24" + as_set: true + match_map: "match01" + - address: "5.2.1.0/24" + attribute_map: "attrmatch01" + advertise_only: true + redistribute: + - protocol: "static" + route_map: "map_static" + - protocol: "attached-host" + distance: + internal: 50 + neighbor: + - neighbor_address: "10.1.3.2" + allowas_in: + set: true + default_originate: + always: true + dont_capability_negotiate: true + export_localpref: 4000 + maximum_received_routes: + count: 500 + warning_limit: + limit_percent: 5 + next_hop_unchanged: true + prefix_list: + name: "prefix01" + direction: "out" + - neighbor_address: "peer1" + fall_over: true + link_bandwidth: + update_delay: 5 + monitoring: true + send_community: + community_attribute: "extended" + sub_attribute: "link-bandwidth" + link_bandwidth_attribute: "aggregate" + speed: "600" + state: overridden + +# Task output: +# ------------ +# before: +# aggregate_address: +# - address: 1.2.1.0/24 +# as_set: true +# match_map: match01 +# - address: 5.2.1.0/24 +# advertise_only: true +# attribute_map: attrmatch01 +# as_number: '100' +# bgp_params: +# additional_paths: send +# convergence: +# slow_peer: true +# time: 6 +# distance: +# external: 50 +# internal: 50 +# local: 50 +# maximum_paths: +# max_equal_cost_paths: 55 +# neighbor: +# - fall_over: true +# link_bandwidth: +# set: true +# update_delay: 5 +# maximum_received_routes: +# count: 12000 +# monitoring: true +# neighbor_address: peer1 +# peer_group: peer1 +# send_community: +# community_attribute: extended +# link_bandwidth_attribute: aggregate +# speed: '600' +# sub_attribute: link-bandwidth +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# export_localpref: 4000 +# maximum_received_routes: +# count: 500 +# warning_limit: +# limit_percent: 5 +# neighbor_address: 10.1.3.2 +# next_hop_unchanged: true +# redistribute: +# - protocol: static +# route_map: map_static +# - protocol: attached-host +# vlan: 5 +# vrfs: +# - neighbor: +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# maximum_received_routes: +# count: 12000 +# neighbor_address: 12.1.3.2 +# route_target: +# action: import +# target: '54:11' +# vrf: vrf01 # -# Module Execution: +# commands: +# - router bgp 100 +# - vrf vrf01 +# - no route-target import 54:11 +# - neighbor 10.1.3.2 allowas-in +# - neighbor 10.1.3.2 default-originate always +# - neighbor 10.1.3.2 dont-capability-negotiate +# - neighbor 10.1.3.2 export-localpref 4000 +# - neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent +# - neighbor 10.1.3.2 next-hop-unchanged +# - neighbor 10.1.3.2 prefix-list prefix01 out +# - neighbor peer1 fall-over bfd +# - neighbor peer1 link-bandwidth update-delay 5 +# - neighbor peer1 monitoring +# - neighbor peer1 send-community extended link-bandwidth aggregate 600 +# - no neighbor 12.1.3.2 +# - redistribute static route-map map_static +# - redistribute attached-host +# - aggregate-address 1.2.1.0/24 as-set match-map match01 +# - aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only +# - maximum-paths 55 +# - distance bgp 50 +# - exit +# - no neighbor peer1 peer group +# - no neighbor peer1 link-bandwidth update-delay 5 +# - no neighbor peer1 fall-over bfd +# - no neighbor peer1 monitoring +# - no neighbor peer1 send-community extended link-bandwidth aggregate 600 +# - no neighbor peer1 maximum-routes 12000 +# - no neighbor 10.1.3.2 +# - no redistribute static route-map map_static +# - no redistribute attached-host +# - no aggregate-address 1.2.1.0/24 as-set match-map match01 +# - no aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only +# - bgp host-routes fib direct-install +# - bgp log-neighbor-changes +# - no distance bgp 50 50 50 +# - no maximum-paths 55 +# - no vlan 5 # -# "after": { -# "as_number": "100", -# "bgp_params": { -# "additional_paths": "send", -# "convergence": { -# "slow_peer": true, -# "time": 6 -# } -# }, -# "vrfs": [ -# { -# "aggregate_address": [ -# { -# "address": "1.2.1.0/24", -# "as_set": true, -# "match_map": "match01" -# }, -# { -# "address": "5.2.1.0/24", -# "advertise_only": true, -# "attribute_map": "attrmatch01" -# } -# ], -# "distance": { -# "external": 50, -# "internal": 50, -# "local": 50 -# }, -# "maximum_paths": { -# "max_equal_cost_paths": 55 -# }, -# "neighbor": [ -# { -# "allowas_in": { -# "count": 3 -# }, -# "default_originate": { -# "always": true -# }, -# "dont_capability_negotiate": true, -# "export_localpref": 4000, -# "maximum_received_routes": { -# "count": 500, -# "warning_limit": { -# "limit_percent": 5 -# } -# }, -# "next_hop_unchanged": true, -# "peer": "10.1.3.2" -# } -# ], -# "redistribute": [ -# { -# "protocol": "static", -# "route_map": "map_static" -# }, -# { -# "protocol": "attached-host" -# } -# ], -# "vrf": "vrf01" -# } -# ] -# }, -# "before": { -# "aggregate_address": [ -# { -# "address": "1.2.1.0/24", -# "as_set": true, -# "match_map": "match01" -# }, -# { -# "address": "5.2.1.0/24", -# "advertise_only": true, -# "attribute_map": "attrmatch01" -# } -# ], -# "as_number": "100", -# "bgp_params": { -# "additional_paths": "send", -# "convergence": { -# "slow_peer": true, -# "time": 6 -# } -# }, -# "distance": { -# "external": 50, -# "internal": 50, -# "local": 50 -# }, -# "maximum_paths": { -# "max_equal_cost_paths": 55 -# }, -# "neighbor": [ -# { -# "fall_over": true, -# "link_bandwidth": { -# "set": true, -# "update_delay": 5 -# }, -# "maximum_received_routes": { -# "count": 12000 -# }, -# "monitoring": true, -# "peer": "peer1", -# "peer_group": "peer1", -# "send_community": { -# "community_attribute": "extended", -# "link_bandwidth_attribute": "aggregate", -# "speed": "600", -# "sub_attribute": "link-bandwidth" -# } -# }, -# { -# "allowas_in": { -# "count": 3 -# }, -# "default_originate": { -# "always": true -# }, -# "dont_capability_negotiate": true, -# "export_localpref": 4000, -# "maximum_received_routes": { -# "count": 500, -# "warning_limit": { -# "limit_percent": 5 -# } -# }, -# "next_hop_unchanged": true, -# "peer": "10.1.3.2" -# } -# ], -# "redistribute": [ -# { -# "protocol": "static", -# "route_map": "map_static" -# }, -# { -# "protocol": "attached-host" -# } -# ], -# "vlan": 5, -# "vrfs": [ -# { -# "neighbor": [ -# { -# "allowas_in": { -# "count": 3 -# }, -# "default_originate": { -# "always": true -# }, -# "dont_capability_negotiate": true, -# "maximum_received_routes": { -# "count": 12000 -# }, -# "peer": "12.1.3.2" -# } -# ], -# "route_target": { -# "action": "import", -# "target": "54:11" -# }, -# "vrf": "vrf01" -# } -# ] -# }, -# "changed": true, -# "commands": [ -# "router bgp 100", -# "vrf vrf01", -# "no route-target import 54:11", -# "neighbor 10.1.3.2 allowas-in", -# "neighbor 10.1.3.2 default-originate always", -# "neighbor 10.1.3.2 dont-capability-negotiate", -# "neighbor 10.1.3.2 export-localpref 4000", -# "neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent", -# "neighbor 10.1.3.2 next-hop-unchanged", -# "neighbor 10.1.3.2 prefix-list prefix01 out", -# "neighbor peer1 fall-over bfd", -# "neighbor peer1 link-bandwidth update-delay 5", -# "neighbor peer1 monitoring", -# "neighbor peer1 send-community extended link-bandwidth aggregate 600", -# "no neighbor 12.1.3.2", -# "redistribute static route-map map_static", -# "redistribute attached-host", -# "aggregate-address 1.2.1.0/24 as-set match-map match01", -# "aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only", -# "maximum-paths 55", -# "distance bgp 50", -# "exit", -# "no neighbor peer1 peer group", -# "no neighbor peer1 link-bandwidth update-delay 5", -# "no neighbor peer1 fall-over bfd", -# "no neighbor peer1 monitoring", -# "no neighbor peer1 send-community extended link-bandwidth aggregate 600", -# "no neighbor peer1 maximum-routes 12000", -# "no neighbor 10.1.3.2", -# "no redistribute static route-map map_static", -# "no redistribute attached-host", -# "no aggregate-address 1.2.1.0/24 as-set match-map match01", -# "no aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only", -# "bgp host-routes fib direct-install", -# "bgp log-neighbor-changes", -# "no distance bgp 50 50 50", -# "no maximum-paths 55", -# "no vlan 5" -# ], +# after: +# as_number: '100' +# bgp_params: +# additional_paths: send +# convergence: +# slow_peer: true +# time: 6 +# vrfs: +# - aggregate_address: +# - address: 1.2.1.0/24 +# as_set: true +# match_map: match01 +# - address: 5.2.1.0/24 +# advertise_only: true +# attribute_map: attrmatch01 +# distance: +# external: 50 +# internal: 50 +# local: 50 +# maximum_paths: +# max_equal_cost_paths: 55 +# neighbor: +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# export_localpref: 4000 +# maximum_received_routes: +# count: 500 +# warning_limit: +# limit_percent: 5 +# neighbor_address: 10.1.3.2 +# next_hop_unchanged: true +# redistribute: +# - protocol: static +# route_map: map_static +# - protocol: attached-host +# vrf: vrf01 # - -# Using replaced (in presence of address_family under vrf): -# Before State: - -#veos(config)#show running-config | section bgp +# After state: +# ------------ +# veos(config)#show running-config | section bgp # router bgp 100 # bgp convergence slow-peer time 6 # bgp additional-paths send any @@ -1967,82 +2121,11 @@ EXAMPLES = """ # ! # address-family ipv4 # neighbor 10.1.3.2 prefix-list prefix01 out -# ! -# address-family ipv6 -# redistribute dhcp -# veos(config)# - - - name: Replace - arista.eos.eos_bgp_global: - config: - as_number: "100" - graceful_restart: - set: True - router_id: "1.1.1.1" - timers: - keepalive: 2 - holdtime: 5 - ucmp: - mode: - set: True - vlan_aware_bundle: "bundle1 bundle2 bundle3" - state: replaced - -# Module Execution: - -# fatal: [192.168.122.113]: FAILED! => { -# "changed": false, -# "invocation": { -# "module_args": { -# "config": { -# "access_group": null, -# "aggregate_address": null, -# "as_number": "100", -# "bgp_params": null, -# "default_metric": null, -# "distance": null, -# "graceful_restart": { -# "restart_time": null, -# "set": true, -# "stalepath_time": null -# }, -# "graceful_restart_helper": null, -# "maximum_paths": null, -# "monitoring": null, -# "neighbor": null, -# "network": null, -# "redistribute": null, -# "route_target": null, -# "router_id": "1.1.1.1", -# "shutdown": null, -# "timers": { -# "holdtime": 5, -# "keepalive": 2 -# }, -# "ucmp": { -# "fec": null, -# "link_bandwidth": null, -# "mode": { -# "nexthops": null, -# "set": true -# } -# }, -# "update": null, -# "vlan": null, -# "vlan_aware_bundle": "bundle1 bundle2 bundle3", -# "vrfs": null -# }, -# "running_config": null, -# "state": "replaced" -# } -# }, -# "msg": "Use the _bgp_af module to delete the address_family under vrf, before replacing/deleting the vrf." -# } # Using deleted: # Before state: - +# ------------- # veos(config)#show running-config | section bgp # router bgp 100 # bgp convergence slow-peer time 6 @@ -2063,100 +2146,73 @@ EXAMPLES = """ # redistribute attached-host # ! - - name: Delete configuration - arista.eos.eos_bgp_global: - config: - as_number: "100" - state: deleted - -# After State: +- name: Delete configuration + arista.eos.eos_bgp_global: + config: + as_number: "100" + state: deleted -# veos(config)#show running-config | section bgp -# router bgp 100 -# +# Task output: +# ------------ +# before: +# as_number: '100' +# bgp_params: +# additional_paths: send +# convergence: +# slow_peer: true +# time: 6 +# vrfs: +# - aggregate_address: +# - address: 1.2.1.0/24 +# as_set: true +# match_map: match01 +# - address: 5.2.1.0/24 +# advertise_only: true +# attribute_map: attrmatch01 +# distance: +# external: 50 +# internal: 50 +# local: 50 +# maximum_paths: +# max_equal_cost_paths: 55 +# neighbor: +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# export_localpref: 4000 +# maximum_received_routes: +# count: 500 +# warning_limit: +# limit_percent: 5 +# neighbor_address: 10.1.3.2 +# next_hop_unchanged: true +# redistribute: +# - protocol: static +# route_map: map_static +# - protocol: attached-host +# vrf: vrf01 # -# Module Execution: +# commands: +# - router bgp 100 +# - no vrf vrf01 +# - no bgp convergence slow-peer time 6 +# - no bgp additional-paths send any # -# "after": { -# "as_number": "100" -# }, -# "before": { -# "as_number": "100", -# "bgp_params": { -# "additional_paths": "send", -# "convergence": { -# "slow_peer": true, -# "time": 6 -# } -# }, -# "vrfs": [ -# { -# "aggregate_address": [ -# { -# "address": "1.2.1.0/24", -# "as_set": true, -# "match_map": "match01" -# }, -# { -# "address": "5.2.1.0/24", -# "advertise_only": true, -# "attribute_map": "attrmatch01" -# } -# ], -# "distance": { -# "external": 50, -# "internal": 50, -# "local": 50 -# }, -# "maximum_paths": { -# "max_equal_cost_paths": 55 -# }, -# "neighbor": [ -# { -# "allowas_in": { -# "count": 3 -# }, -# "default_originate": { -# "always": true -# }, -# "dont_capability_negotiate": true, -# "export_localpref": 4000, -# "maximum_received_routes": { -# "count": 500, -# "warning_limit": { -# "limit_percent": 5 -# } -# }, -# "next_hop_unchanged": true, -# "peer": "10.1.3.2" -# } -# ], -# "redistribute": [ -# { -# "protocol": "static", -# "route_map": "map_static" -# }, -# { -# "protocol": "attached-host" -# } -# ], -# "vrf": "vrf01" -# } -# ] -# }, -# "changed": true, -# "commands": [ -# "router bgp 100", -# "no vrf vrf01", -# "no bgp convergence slow-peer time 6", -# "no bgp additional-paths send any" -# ], +# after: +# as_number: '100' + # +# After state: +# ------------ +# veos(config)#show running-config | section bgp +# router bgp 100 # Using purged: # Before state: - +# ------------- # veos(config)#show running-config | section bgp # router bgp 100 # bgp convergence slow-peer time 6 @@ -2191,130 +2247,450 @@ EXAMPLES = """ # neighbor 12.1.3.2 allowas-in 3 # neighbor 12.1.3.2 default-originate always # neighbor 12.1.3.2 maximum-routes 12000 -# veos(config)# - - name: Purge configuration - arista.eos.eos_bgp_global: - config: - as_number: "100" - state: purged +- name: Purge configuration + arista.eos.eos_bgp_global: + config: + as_number: "100" + state: purged + -# After State: +# Task output: +# ------------ +# before: +# aggregate_address: +# - address: 1.2.1.0/24 +# as_set: true +# match_map: match01 +# - address: 5.2.1.0/24 +# advertise_only: true +# attribute_map: attrmatch01 +# as_number: '100' +# bgp_params: +# additional_paths: send +# convergence: +# slow_peer: true +# time: 6 +# distance: +# external: 50 +# internal: 50 +# local: 50 +# maximum_paths: +# max_equal_cost_paths: 55 +# neighbor: +# - fall_over: true +# link_bandwidth: +# set: true +# update_delay: 5 +# maximum_received_routes: +# count: 12000 +# monitoring: true +# neighbor_address: peer1 +# peer_group: peer1 +# send_community: +# community_attribute: extended +# link_bandwidth_attribute: aggregate +# speed: '600' +# sub_attribute: link-bandwidth +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# export_localpref: 4000 +# maximum_received_routes: +# count: 500 +# warning_limit: +# limit_percent: 5 +# neighbor_address: 10.1.3.2 +# next_hop_unchanged: true +# redistribute: +# - protocol: static +# route_map: map_static +# - protocol: attached-host +# vlan: 5 +# vrfs: +# - neighbor: +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# maximum_received_routes: +# count: 12000 +# neighbor_address: 12.1.3.2 +# route_target: +# action: import +# target: '54:11' +# vrf: vrf01 +# "changed": true, +# +# commands: +# - no router bgp 100 +# +# after: {} +# After state: +# ------------ # veos(config)#show running-config | section bgp # veos(config)# -# Module Execution: +# Using rendered -# "after": {}, -# "before": { -# "aggregate_address": [ -# { -# "address": "1.2.1.0/24", -# "as_set": true, -# "match_map": "match01" -# }, -# { -# "address": "5.2.1.0/24", -# "advertise_only": true, -# "attribute_map": "attrmatch01" -# } -# ], -# "as_number": "100", -# "bgp_params": { -# "additional_paths": "send", -# "convergence": { -# "slow_peer": true, -# "time": 6 -# } -# }, -# "distance": { -# "external": 50, -# "internal": 50, -# "local": 50 -# }, -# "maximum_paths": { -# "max_equal_cost_paths": 55 -# }, -# "neighbor": [ -# { -# "fall_over": true, -# "link_bandwidth": { -# "set": true, -# "update_delay": 5 -# }, -# "maximum_received_routes": { -# "count": 12000 -# }, -# "monitoring": true, -# "peer": "peer1", -# "peer_group": "peer1", -# "send_community": { -# "community_attribute": "extended", -# "link_bandwidth_attribute": "aggregate", -# "speed": "600", -# "sub_attribute": "link-bandwidth" -# } -# }, -# { -# "allowas_in": { -# "count": 3 -# }, -# "default_originate": { -# "always": true -# }, -# "dont_capability_negotiate": true, -# "export_localpref": 4000, -# "maximum_received_routes": { -# "count": 500, -# "warning_limit": { -# "limit_percent": 5 -# } -# }, -# "next_hop_unchanged": true, -# "peer": "10.1.3.2" -# } -# ], -# "redistribute": [ -# { -# "protocol": "static", -# "route_map": "map_static" -# }, -# { -# "protocol": "attached-host" -# } -# ], -# "vlan": 5, -# "vrfs": [ -# { -# "neighbor": [ -# { -# "allowas_in": { -# "count": 3 -# }, -# "default_originate": { -# "always": true -# }, -# "dont_capability_negotiate": true, -# "maximum_received_routes": { -# "count": 12000 -# }, -# "peer": "12.1.3.2" -# } -# ], -# "route_target": { -# "action": "import", -# "target": "54:11" -# }, -# "vrf": "vrf01" -# } -# ] -# }, -# "changed": true, -# "commands": [ -# "no router bgp 100" -# ], +- name: Render command lines for provided configuration + arista.eos.eos_bgp_global: + config: + as_number: "100" + bgp_params: + host_routes: true + convergence: + slow_peer: true + time: 6 + additional_paths: "send" + log_neighbor_changes: true + maximum_paths: + max_equal_cost_paths: 55 + aggregate_address: + - address: "1.2.1.0/24" + as_set: true + match_map: "match01" + - address: "5.2.1.0/24" + attribute_map: "attrmatch01" + advertise_only: true + redistribute: + - protocol: "static" + route_map: "map_static" + - protocol: "attached-host" + distance: + internal: 50 + neighbor: + - peer: "10.1.3.2" + allowas_in: + set: true + default_originate: + always: true + dont_capability_negotiate: true + export_localpref: 4000 + maximum_received_routes: + count: 500 + warning_limit: + limit_percent: 5 + next_hop_unchanged: true + prefix_list: + name: "prefix01" + direction: "out" + - neighbor_address: "peer1" + fall_over: true + link_bandwidth: + update_delay: 5 + monitoring: true + send_community: + community_attribute: "extended" + sub_attribute: "link-bandwidth" + link_bandwidth_attribute: "aggregate" + speed: "600" + vlan: 5 + state: rendered + +# Task output: +# ------------ +# rendered: +# - router bgp 100 +# - neighbor 10.1.3.2 allowas-in +# - neighbor 10.1.3.2 default-originate always +# - neighbor 10.1.3.2 dont-capability-negotiate +# - neighbor 10.1.3.2 export-localpref 4000 +# - neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent +# - neighbor 10.1.3.2 next-hop-unchanged +# - neighbor 10.1.3.2 prefix-list prefix01 out +# - neighbor peer1 fall-over bfd +# - neighbor peer1 link-bandwidth update-delay 5 +# - neighbor peer1 monitoring +# - neighbor peer1 send-community extended link-bandwidth aggregate 600 +# - redistribute static route-map map_static +# - redistribute attached-host +# - aggregate-address 1.2.1.0/24 as-set match-map match01 +# - aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only +# - bgp host-routes fib direct-install +# - bgp convergence slow-peer time 6 +# - bgp additional-paths send any +# - bgp log-neighbor-changes +# - maximum-paths 55 +# - distance bgp 50 +# - vlan 5 + + +# Using parsed + +# parsed.cfg +# ---------- +# router bgp 100 +# bgp convergence slow-peer time 6 +# distance bgp 50 50 50 +# maximum-paths 55 +# bgp additional-paths send any +# neighbor peer1 peer group +# neighbor peer1 link-bandwidth update-delay 5 +# neighbor peer1 fall-over bfd +# neighbor peer1 monitoring +# neighbor peer1 send-community extended link-bandwidth aggregate 600 +# neighbor peer1 maximum-routes 12000 +# neighbor 10.1.3.2 export-localpref 4000 +# neighbor 10.1.3.2 next-hop-unchanged +# neighbor 10.1.3.2 dont-capability-negotiate +# neighbor 10.1.3.2 allowas-in 3 +# neighbor 10.1.3.2 default-originate always +# neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent +# aggregate-address 1.2.1.0/24 as-set match-map match01 +# aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only +# redistribute static route-map map_static +# redistribute attached-host +# ! +# vlan 5 +# ! +# address-family ipv4 +# neighbor 10.1.3.2 prefix-list prefix01 out +# ! +# vrf vrf01 +# route-target import 54:11 +# neighbor 12.1.3.2 dont-capability-negotiate +# neighbor 12.1.3.2 allowas-in 3 +# neighbor 12.1.3.2 default-originate always +# neighbor 12.1.3.2 maximum-routes 12000 + +- name: Parse externally provided BGP config + arista.eos.eos_bgp_global: + running_config: "{{ lookup('file', 'parsed.cfg') }}" + state: parsed + +# Task output: +# ------------ + +# parsed: +# aggregate_address: +# - address: 1.2.1.0/24 +# as_set: true +# match_map: match01 +# - address: 5.2.1.0/24 +# advertise_only: true +# attribute_map: attrmatch01 +# as_number: '100' +# bgp_params: +# additional_paths: send +# convergence: +# slow_peer: true +# time: 6 +# distance: +# external: 50 +# internal: 50 +# local: 50 +# maximum_paths: +# max_equal_cost_paths: 55 +# neighbor: +# - fall_over: true +# link_bandwidth: +# set: true +# update_delay: 5 +# maximum_received_routes: +# count: 12000 +# monitoring: true +# neighbor_address: peer1 +# peer_group: peer1 +# send_community: +# community_attribute: extended +# link_bandwidth_attribute: aggregate +# speed: '600' +# sub_attribute: link-bandwidth +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# export_localpref: 4000 +# maximum_received_routes: +# count: 500 +# warning_limit: +# limit_percent: 5 +# neighbor_address: 10.1.3.2 +# next_hop_unchanged: true +# redistribute: +# - protocol: static +# route_map: map_static +# - protocol: attached-host +# vlan: 5 +# vrfs: +# - neighbor: +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# maximum_received_routes: +# count: 12000 +# neighbor_address: 12.1.3.2 +# route_target: +# action: import +# target: '54:11' +# vrf: vrf01 + +# Using gathered + +# existing config +# veos(config)#show running-config | section bgp +# router bgp 100 +# bgp convergence slow-peer time 6 +# distance bgp 50 50 50 +# maximum-paths 55 +# bgp additional-paths send any +# neighbor peer1 peer group +# neighbor peer1 link-bandwidth update-delay 5 +# neighbor peer1 fall-over bfd +# neighbor peer1 monitoring +# neighbor peer1 send-community extended link-bandwidth aggregate 600 +# neighbor peer1 maximum-routes 12000 +# neighbor 10.1.3.2 export-localpref 4000 +# neighbor 10.1.3.2 next-hop-unchanged +# neighbor 10.1.3.2 dont-capability-negotiate +# neighbor 10.1.3.2 allowas-in 3 +# neighbor 10.1.3.2 default-originate always +# neighbor 10.1.3.2 maximum-routes 500 warning-limit 5 percent +# aggregate-address 1.2.1.0/24 as-set match-map match01 +# aggregate-address 5.2.1.0/24 attribute-map attrmatch01 advertise-only +# redistribute static route-map map_static +# redistribute attached-host +# ! +# vlan 5 +# ! +# address-family ipv4 +# neighbor 10.1.3.2 prefix-list prefix01 out +# ! +# vrf vrf01 +# route-target import 54:11 +# neighbor 12.1.3.2 dont-capability-negotiate +# neighbor 12.1.3.2 allowas-in 3 +# neighbor 12.1.3.2 default-originate always +# neighbor 12.1.3.2 maximum-routes 12000 + +- name: Gather BGP facts using gathered + arista.eos.eos_bgp_global: + state: gathered +# Task output: +# ------------ +# gathered: +# aggregate_address: +# - address: 1.2.1.0/24 +# as_set: true +# match_map: match01 +# - address: 5.2.1.0/24 +# advertise_only: true +# attribute_map: attrmatch01 +# as_number: '100' +# bgp_params: +# additional_paths: send +# convergence: +# slow_peer: true +# time: 6 +# distance: +# external: 50 +# internal: 50 +# local: 50 +# maximum_paths: +# max_equal_cost_paths: 55 +# neighbor: +# - fall_over: true +# link_bandwidth: +# set: true +# update_delay: 5 +# maximum_received_routes: +# count: 12000 +# monitoring: true +# neighbor_address: peer1 +# peer_group: peer1 +# send_community: +# community_attribute: extended +# link_bandwidth_attribute: aggregate +# speed: '600' +# sub_attribute: link-bandwidth +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# export_localpref: 4000 +# maximum_received_routes: +# count: 500 +# warning_limit: +# limit_percent: 5 +# neighbor_address: 10.1.3.2 +# next_hop_unchanged: true +# redistribute: +# - protocol: static +# route_map: map_static +# - protocol: attached-host +# vlan: 5 +# vrfs: +# - neighbor: +# - allowas_in: +# count: 3 +# default_originate: +# always: true +# dont_capability_negotiate: true +# maximum_received_routes: +# count: 12000 +# neighbor_address: 12.1.3.2 +# route_target: +# action: import +# target: '54:11' +# vrf: vrf01 +""" +RETURN = """ +before: + description: The configuration prior to the model invocation. + returned: always + type: dict + sample: > + The configuration returned will always be in the same format + of the parameters above. +after: + description: The resulting configuration model invocation. + returned: when changed + type: dict + sample: > + The configuration returned will always be in the same format + of the parameters above. +commands: + description: The set of commands pushed to the remote device. + returned: always + type: list + sample: + - router bgp 100 + - neighbor 10.1.3.2 allowas-in + - neighbor 10.1.3.2 default-originate always + - neighbor 10.1.3.2 dont-capability-negotiate +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 100 + - neighbor 10.1.3.2 allowas-in + - neighbor 10.1.3.2 default-originate always + - neighbor 10.1.3.2 dont-capability-negotiate +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 @@ -2339,6 +2715,7 @@ def main(): required_if=[ ["state", "merged", ["config"]], ["state", "replaced", ["config"]], + ["state", "overridden", ["config"]], ["state", "rendered", ["config"]], ["state", "parsed", ["running_config"]], ], diff --git a/ansible_collections/arista/eos/plugins/modules/eos_command.py b/ansible_collections/arista/eos/plugins/modules/eos_command.py index 437e3bc63..5b52ae4ff 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_command.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_command.py @@ -154,23 +154,23 @@ EXAMPLES = r""" - name: run multiple commands on remote nodes arista.eos.eos_command: commands: - - show version - - show interfaces + - show version + - show interfaces - name: run multiple commands and evaluate the output arista.eos.eos_command: commands: - - show version - - show interfaces + - show version + - show interfaces wait_for: - - result[0] contains Arista - - result[1] contains Loopback0 + - result[0] contains Arista + - result[1] contains Loopback0 - name: run commands and specify the output format arista.eos.eos_command: commands: - - command: show version - output: json + - command: show version + output: json - name: check whether the switch is in maintenance mode arista.eos.eos_command: @@ -180,8 +180,8 @@ EXAMPLES = r""" - name: check whether the switch is in maintenance mode using json output arista.eos.eos_command: commands: - - command: show maintenance - output: json + - command: show maintenance + output: json wait_for: result[0].units.System.state eq 'underMaintenance' - name: check whether the switch is in maintenance, with 8 retries @@ -197,10 +197,10 @@ EXAMPLES = r""" need to be escaped. arista.eos.eos_command: commands: - - command: reload power - prompt: \[confirm\] - answer: y - newline: false + - command: reload power + prompt: \[confirm\] + answer: y + newline: false """ RETURN = """ @@ -227,9 +227,7 @@ from ansible.module_utils.basic import AnsibleModule from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.parsing import ( Conditional, ) -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( - to_lines, -) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import to_lines from ansible_collections.arista.eos.plugins.module_utils.network.eos.eos import ( run_commands, diff --git a/ansible_collections/arista/eos/plugins/modules/eos_config.py b/ansible_collections/arista/eos/plugins/modules/eos_config.py index 0c8271adc..5aa8e7ceb 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_config.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_config.py @@ -118,7 +118,7 @@ options: playbook root directory or role root directory, if playbook is part of an ansible role. If the directory does not exist, it is created. type: bool - default: no + default: false running_config: description: - The module, by default, will connect to the remote device and retrieve the current @@ -139,7 +139,7 @@ options: the running-config is append with the all keyword. When the value is set to false, the command is issued without the all keyword type: bool - default: no + default: false save_when: description: - When changes are made to the device running-configuration, the changes are not @@ -206,7 +206,7 @@ options: backup_options: description: - This is a dict object containing configurable options related to backup file - path. The value of this option is read only when C(backup) is set to I(yes), + path. The value of this option is read only when C(backup) is set to I(true), if C(backup) is set to I(no) this option will be silently ignored. suboptions: filename: @@ -237,10 +237,10 @@ EXAMPLES = """ - name: load an acl into the device arista.eos.eos_config: lines: - - 10 permit ip host 192.0.2.1 any log - - 20 permit ip host 192.0.2.2 any log - - 30 permit ip host 192.0.2.3 any log - - 40 permit ip host 192.0.2.4 any log + - 10 permit ip host 192.0.2.1 any log + - 20 permit ip host 192.0.2.2 any log + - 30 permit ip host 192.0.2.3 any log + - 40 permit ip host 192.0.2.4 any log parents: ip access-list test before: no ip access-list test replace: block @@ -251,7 +251,7 @@ EXAMPLES = """ - name: render a Jinja2 template onto an Arista switch arista.eos.eos_config: - backup: yes + backup: true src: eos_template.j2 - name: diff the running config against a master config @@ -262,15 +262,13 @@ EXAMPLES = """ - name: for idempotency, use full-form commands arista.eos.eos_config: lines: - # - shut - - shutdown - # parents: int eth1 + - shutdown parents: interface Ethernet1 - name: configurable backup path arista.eos.eos_config: src: eos_template.j2 - backup: yes + backup: true backup_options: filename: backup.cfg dir_path: /home/user @@ -289,27 +287,27 @@ updates: sample: ['hostname switch01', 'interface Ethernet1', 'no shutdown'] backup_path: description: The full path to the backup file - returned: when backup is yes + returned: when backup is true type: str sample: /playbooks/ansible/backup/eos_config.2016-07-16@22:28:34 filename: description: The name of the backup file - returned: when backup is yes and filename is not specified in backup options + returned: when backup is true and filename is not specified in backup options type: str sample: eos_config.2016-07-16@22:28:34 shortname: description: The full path to the backup file excluding the timestamp - returned: when backup is yes and filename is not specified in backup options + returned: when backup is true and filename is not specified in backup options type: str sample: /playbooks/ansible/backup/eos_config date: description: The date extracted from the backup file name - returned: when backup is yes + returned: when backup is true type: str sample: "2016-07-16" time: description: The time extracted from the backup file name - returned: when backup is yes + returned: when backup is true type: str sample: "22:28:34" """ @@ -407,9 +405,9 @@ def main(): mutually_exclusive = [("lines", "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", ["src"]), ("diff_against", "intended", ["intended_config"]), ("diff_against", "validate_config", ["intended_config"]), @@ -442,9 +440,7 @@ def main(): msg="Cannot diff against sessions when sessions are disabled. Please change diff_against to another value", ) - if module.params["backup"] or ( - module._diff and module.params["diff_against"] == "running" - ): + if module.params["backup"] or (module._diff and module.params["diff_against"] == "running"): contents = get_config(module, flags=flags) config = NetworkConfig(indent=1, contents=contents) if module.params["backup"]: diff --git a/ansible_collections/arista/eos/plugins/modules/eos_eapi.py b/ansible_collections/arista/eos/plugins/modules/eos_eapi.py index 2b3add753..2779465dc 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_eapi.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_eapi.py @@ -139,9 +139,9 @@ EXAMPLES = """ state: started http: false https_port: 9443 - local_http: yes + local_http: true local_http_port: 80 - socket: yes + socket: true - name: Shutdown eAPI access arista.eos.eos_eapi: diff --git a/ansible_collections/arista/eos/plugins/modules/eos_facts.py b/ansible_collections/arista/eos/plugins/modules/eos_facts.py index f404d54bb..697b0c559 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_facts.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_facts.py @@ -59,12 +59,12 @@ EXAMPLES = """ - name: Gather only the config and default facts arista.eos.eos_facts: gather_subset: - - config + - config - name: Do not gather hardware facts arista.eos.eos_facts: gather_subset: - - '!hardware' + - '!hardware' - name: Gather legacy and resource facts arista.eos.eos_facts: @@ -74,10 +74,10 @@ EXAMPLES = """ - name: Gather only the interfaces resource facts and no legacy facts - arista.eos.eos_facts: gather_subset: - - '!all' - - '!min' + - '!all' + - '!min' gather_network_resources: - - interfaces + - interfaces - name: Gather all resource facts and minimal legacy facts arista.eos.eos_facts: diff --git a/ansible_collections/arista/eos/plugins/modules/eos_hostname.py b/ansible_collections/arista/eos/plugins/modules/eos_hostname.py index dddadb71a..1f91dd337 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_hostname.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_hostname.py @@ -166,7 +166,7 @@ EXAMPLES = """ # Using state: gathered # Before state: # ------------- -#test#show running-config | section ^hostname +# test#show running-config | section ^hostname # hostname eosTest # Gathered play: # -------------- diff --git a/ansible_collections/arista/eos/plugins/modules/eos_interfaces.py b/ansible_collections/arista/eos/plugins/modules/eos_interfaces.py index c7d0ae021..a2118dbaa 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_interfaces.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_interfaces.py @@ -36,13 +36,14 @@ DOCUMENTATION = """ module: eos_interfaces short_description: Interfaces resource module description: -- This module manages the interface attributes of Arista EOS interfaces. + - This module manages the interface attributes of Arista EOS interfaces. version_added: 1.0.0 author: -- Nathaniel Case (@qalthos) + - Nathaniel Case (@Qalthos) notes: -- Tested against Arista EOS 4.24.6F -- This module works with connection C(network_cli). See the L(EOS Platform Options,../network/user_guide/platform_eos.html). + - Tested against Arista EOS 4.24.6F + - This module works with connection C(network_cli). + See U(https://docs.ansible.com/ansible/latest/network/user_guide/platform_eos.html) options: config: description: The provided configuration @@ -51,260 +52,350 @@ options: suboptions: name: description: - - Full name of the interface, e.g. GigabitEthernet1. + - Full name of the interface, e.g. GigabitEthernet1. type: str required: True description: description: - - Interface description + - Interface description type: str duplex: description: - - Interface link status. Applicable for Ethernet interfaces only. - - Values other than C(auto) must also set I(speed). - - Ignored when I(speed) is set above C(1000). + - Interface link status. Applicable for Ethernet interfaces only. + - Values other than C(auto) must also set I(speed). + - Ignored when I(speed) is set above C(1000). type: str enabled: default: true description: - - Administrative state of the interface. - - Set the value to C(true) to administratively enable the interface or C(false) - to disable it. + - Administrative state of the interface. + - Set the value to C(true) to administratively enable the interface or C(false) + to disable it. type: bool mtu: description: - - MTU for a specific interface. Must be an even number between 576 and 9216. - Applicable for Ethernet interfaces only. + - MTU for a specific interface. Must be an even number between 576 and 9216. + Applicable for Ethernet interfaces only. type: int speed: description: - - Interface link speed. Applicable for Ethernet interfaces only. + - Interface link speed. Applicable for Ethernet interfaces only. type: str mode: description: - - Manage Layer2 or Layer3 state of the interface. Applicable for Ethernet - and port channel interfaces only. + - Manage Layer2 or Layer3 state of the interface. Applicable for Ethernet + and port channel interfaces only. choices: - - layer2 - - layer3 + - layer2 + - layer3 type: str running_config: description: - - This option is used only with state I(parsed). - - The value of this option should be the output received from the EOS device by - executing the command B(show running-config | section ^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. + - This option is used only with state I(parsed). + - The value of this option should be the output received from the EOS device by + executing the command B(show running-config | section ^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 state: choices: - - merged - - replaced - - overridden - - deleted - - parsed - - rendered - - gathered + - merged + - replaced + - overridden + - deleted + - parsed + - rendered + - gathered default: merged description: - - The state of the configuration after module completion. + - The state of the configuration after module completion. type: str - """ EXAMPLES = """ - # Using merged # Before state: # ------------- # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# description "Interface 1" # ! # interface Ethernet2 # ! # interface Management1 -# description "Management interface" # ip address dhcp -# ! +# dhcp client accept default-route - name: Merge provided configuration with device configuration arista.eos.eos_interfaces: config: - - name: Ethernet1 - enabled: true - mode: layer3 - - name: Ethernet2 - description: Configured by Ansible - enabled: false + - name: Ethernet1 + enabled: true + mode: layer3 + - name: Ethernet2 + description: Configured by Ansible + enabled: false state: merged +# Task Output +# ----------- +# +# before: +# - enabled: true +# name: Ethernet1 +# - enabled: true +# name: Ethernet2 +# - enabled: true +# name: Management1 +# commands: +# - interface Ethernet1 +# - no switchport +# - interface Ethernet2 +# - shutdown +# - description Configured by Ansible +# after: +# - enabled: true +# mode: layer3 +# name: Ethernet1 +# - description: Configured by Ansible +# enabled: false +# name: Ethernet2 +# - enabled: true +# name: Management1 + # After state: # ------------ # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# description "Interface 1" # no switchport # ! # interface Ethernet2 -# description "Configured by Ansible" +# description Configured by Ansible # shutdown # ! # interface Management1 -# description "Management interface" # ip address dhcp -# ! +# dhcp client accept default-route # Using replaced # Before state: # ------------- # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# description "Interface 1" +# no switchport # ! # interface Ethernet2 +# description Configured by Ansible +# shutdown # ! # interface Management1 -# description "Management interface" # ip address dhcp -# ! +# dhcp client accept default-route - name: Replaces device configuration of listed interfaces with provided configuration arista.eos.eos_interfaces: config: - - name: Ethernet1 - enabled: true - - name: Ethernet2 - description: Configured by Ansible - enabled: false + - name: Ethernet1 + enabled: true + - name: Ethernet2 + description: Configured by Ansible + enabled: false state: replaced +# Task Output +# ----------- +# +# before: +# - enabled: true +# mode: layer3 +# name: Ethernet1 +# - description: Configured by Ansible +# enabled: false +# name: Ethernet2 +# - enabled: true +# name: Management1 +# commands: +# - interface Ethernet1 +# - switchport +# after: +# - enabled: true +# name: Ethernet1 +# - description: Configured by Ansible +# enabled: false +# name: Ethernet2 +# - enabled: true +# name: Management1 + # After state: # ------------ # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 # ! # interface Ethernet2 -# description "Configured by Ansible" +# description Configured by Ansible # shutdown # ! # interface Management1 -# description "Management interface" # ip address dhcp -# ! +# dhcp client accept default-route # Using overridden # Before state: # ------------- # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# description "Interface 1" # ! # interface Ethernet2 +# description Configured by Ansible +# shutdown # ! # interface Management1 -# description "Management interface" # ip address dhcp -# ! +# dhcp client accept default-route - name: Overrides all device configuration with provided configuration arista.eos.eos_interfaces: config: - - name: Ethernet1 - enabled: true - - name: Ethernet2 - description: Configured by Ansible - enabled: false + - name: Ethernet1 + enabled: true + - name: Ethernet2 + description: Configured by Ansible + enabled: false state: overridden +# Task Output +# ----------- +# +# before: +# - enabled: true +# name: Ethernet1 +# - description: Configured by Ansible +# enabled: false +# name: Ethernet2 +# - enabled: true +# name: Management1 +# commands: +# - interface Management1 +# - no shutdown +# after: +# - enabled: true +# name: Ethernet1 +# - description: Configured by Ansible +# enabled: false +# name: Ethernet2 +# - enabled: true +# name: Management1 + # After state: # ------------ # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 # ! # interface Ethernet2 -# description "Configured by Ansible" +# description Configured by Ansible # shutdown # ! # interface Management1 # ip address dhcp -# ! +# dhcp client accept default-route # Using deleted # Before state: # ------------- # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# description "Interface 1" -# no switchport # ! # interface Ethernet2 +# description Configured by Ansible +# shutdown # ! # interface Management1 -# description "Management interface" # ip address dhcp -# ! +# dhcp client accept default-route - name: Delete or return interface parameters to default settings arista.eos.eos_interfaces: config: - - name: Ethernet1 + - name: Ethernet1 state: deleted +# Task Output +# ----------- +# +# before: +# - enabled: true +# name: Ethernet1 +# - description: Configured by Ansible +# enabled: false +# name: Ethernet2 +# - enabled: true +# name: Management1 +# commands: +# - interface Ethernet1 +# - no shutdown +# after: +# - enabled: true +# name: Ethernet1 +# - description: Configured by Ansible +# enabled: false +# name: Ethernet2 +# - enabled: true +# name: Management1 + # After state: # ------------ # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 # ! # interface Ethernet2 +# description Configured by Ansible +# shutdown # ! # interface Management1 -# description "Management interface" # ip address dhcp -# ! +# dhcp client accept default-route # Using rendered -- name: Use Rendered to convert the structured data to native config +- name: Render the provided configuration into platform specific configuration lines arista.eos.eos_interfaces: config: - - name: Ethernet1 - enabled: true - mode: layer3 - - name: Ethernet2 - description: Configured by Ansible - enabled: false - state: merged - -# Output: -# ------------ - -# - "interface Ethernet1" -# - "description "Interface 1"" -# - "no swithcport" -# - "interface Ethernet2" -# - "description "Configured by Ansible"" -# - "shutdown" -# - "interface Management1" -# - "description "Management interface"" -# - "ip address dhcp" - -# Using parsed -# parsed.cfg - + - name: Ethernet1 + enabled: true + mode: layer3 + - name: Ethernet2 + description: Configured by Ansible + enabled: false + state: rendered + +# Module Execution Result: +# ------------------------ +# +# rendered: +# - interface Ethernet1 +# - no shutdown +# - no switchport +# - interface Ethernet2 +# - shutdown +# - description Configured by Ansible + +# Using Parsed + +# File: parsed.cfg +# ---------------- +# # interface Ethernet1 # description "Interface 1" # ! @@ -313,64 +404,101 @@ EXAMPLES = """ # shutdown # ! -- name: Use parsed to convert native configs to structured data +- name: Parse the commands for provided configuration arista.eos.interfaces: running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed -# Output +# Module Execution Result: +# ------------------------ +# # parsed: -# - name: Ethernet1 -# enabled: True -# mode: layer2 -# - name: Ethernet2 -# description: 'Configured by Ansible' -# enabled: False -# mode: layer2 - -# Using gathered: - -# Existing config on the device -# ----------------------------- +# - name: Ethernet1 +# enabled: True +# mode: layer2 +# - name: Ethernet2 +# description: 'Configured by Ansible' +# enabled: False +# mode: layer2 + +# Using Gathered + +# Before state: +# ------------- +# +# test#show running-config | section interface # interface Ethernet1 -# description "Interface 1" # ! # interface Ethernet2 -# description "Configured by Ansible" +# description Configured by Ansible # shutdown # ! +# interface Management1 +# ip address dhcp +# dhcp client accept default-route - name: Gather interfaces facts from the device arista.eos.interfaces: state: gathered -# output +# Module Execution Result: +# ------------------------ +# # gathered: -# - name: Ethernet1 -# enabled: True -# mode: layer2 -# - name: Ethernet2 -# description: 'Configured by Ansible' -# enabled: False -# mode: layer2 +# - enabled: true +# name: Ethernet1 +# - description: Configured by Ansible +# enabled: false +# name: Ethernet2 +# - enabled: true +# name: Management1 """ RETURN = """ before: - description: The configuration as structured data prior to module 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: dict - sample: The configuration returned will always be in the same format of the parameters above. + sample: > + This output will always be in the same format as the + module argspec. after: - description: The configuration as structured data after module completion. + description: The resulting configuration after module execution. returned: when changed type: dict - sample: The configuration returned will always be in the same format of the parameters above. + 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: always + returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) + type: list + sample: + - interface Ethernet1 + - no shutdown + - no switchport +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 + - no shutdown + - no switchport +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: ['interface Ethernet2', 'shutdown', 'speed 10full'] + sample: > + This output will always be in the same format as the + module argspec. """ diff --git a/ansible_collections/arista/eos/plugins/modules/eos_l2_interfaces.py b/ansible_collections/arista/eos/plugins/modules/eos_l2_interfaces.py index 863a2cf2a..23057d6dc 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_l2_interfaces.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_l2_interfaces.py @@ -34,13 +34,15 @@ __metaclass__ = type DOCUMENTATION = """ module: eos_l2_interfaces short_description: L2 interfaces resource module -description: This module provides declarative management of Layer-2 interface on Arista +description: + This module provides declarative management of Layer-2 interface on Arista EOS devices. version_added: 1.0.0 -author: Nathaniel Case (@qalthos) +author: Nathaniel Case (@Qalthos) notes: -- Tested against Arista EOS 4.24.6F -- This module works with connection C(network_cli). See the L(EOS Platform Options,../network/user_guide/platform_eos.html). + - Tested against Arista EOS 4.24.6F + - This module works with connection C(network_cli). + See U(https://docs.ansible.com/ansible/latest/network/user_guide/platform_eos.html) options: config: description: A dictionary of Layer-2 interface options @@ -49,275 +51,375 @@ options: suboptions: name: description: - - Full name of interface, e.g. Ethernet1. + - Full name of interface, e.g. Ethernet1. type: str required: true access: description: - - Switchport mode access command to configure the interface as a layer 2 access. + - Switchport mode access command to configure the interface as a layer 2 access. type: dict suboptions: vlan: description: - - Configure given VLAN in access port. It's used as the access VLAN ID. + - Configure given VLAN in access port. It's used as the access VLAN ID. type: int trunk: description: - - Switchport mode trunk command to configure the interface as a Layer 2 trunk. + - Switchport mode trunk command to configure the interface as a Layer 2 trunk. type: dict suboptions: native_vlan: description: - - Native VLAN to be configured in trunk port. It is used as the trunk - native VLAN ID. + - Native VLAN to be configured in trunk port. It is used as the trunk + native VLAN ID. type: int trunk_allowed_vlans: description: - - List of allowed VLANs in a given trunk port. These are the only VLANs - that will be configured on the trunk. + - List of allowed VLANs in a given trunk port. These are the only VLANs + that will be configured on the trunk. type: list elements: str mode: description: - - Mode in which interface needs to be configured. - - Access mode is not shown in interface facts, so idempotency will not be - maintained for switchport mode access and every time the output will come - as changed=True. + - Mode in which interface needs to be configured. + - Access mode is not shown in interface facts, so idempotency will not be + maintained for switchport mode access and every time the output will come + as changed=True. type: str choices: - - access - - trunk + - access + - trunk running_config: description: - - This option is used only with state I(parsed). - - The value of this option should be the output received from the EOS device by - executing the command B(show running-config | section ^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. + - This option is used only with state I(parsed). + - The value of this option should be the output received from the EOS device by + executing the command B(show running-config | section ^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 state: choices: - - merged - - replaced - - overridden - - deleted - - parsed - - rendered - - gathered + - merged + - replaced + - overridden + - deleted + - parsed + - rendered + - gathered default: merged description: - - The state of the configuration after module completion + - The state of the configuration after module completion type: str - """ EXAMPLES = """ - # Using merged # Before state: # ------------- # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# switchport access vlan 20 # ! # interface Ethernet2 -# switchport trunk native vlan 20 -# switchport mode trunk +# description Configured by Ansible +# shutdown # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config -# ! +# dhcp client accept default-route - name: Merge provided configuration with device configuration. arista.eos.eos_l2_interfaces: config: - - name: Ethernet1 - mode: trunk - trunk: - native_vlan: 10 - - name: Ethernet2 - mode: access - access: - vlan: 30 + - name: Ethernet1 + mode: trunk + trunk: + native_vlan: 10 + - name: Ethernet2 + mode: access + access: + vlan: 30 state: merged +# Task Output +# ----------- +# +# before: +# - name: Ethernet1 +# - name: Ethernet2 +# - name: Management1 +# commands: +# - interface Ethernet1 +# - switchport mode trunk +# - switchport trunk native vlan 10 +# - interface Ethernet2 +# - switchport mode access +# - switchport access vlan 30 +# after: +# - mode: trunk +# name: Ethernet1 +# trunk: +# native_vlan: 10 +# - access: +# vlan: 30 +# name: Ethernet2 +# - name: Management1 + # After state: # ------------ # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 # switchport trunk native vlan 10 # switchport mode trunk # ! # interface Ethernet2 +# description Configured by Ansible +# shutdown # switchport access vlan 30 # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config -# ! +# dhcp client accept default-route # Using replaced # Before state: # ------------- # -# veos2#show running-config | s int +# test#show running-config | section interface # interface Ethernet1 -# switchport access vlan 20 +# switchport trunk native vlan 10 +# switchport mode trunk # ! # interface Ethernet2 -# switchport trunk native vlan 20 -# switchport mode trunk +# description Configured by Ansible +# shutdown +# switchport access vlan 30 # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config -# ! +# dhcp client accept default-route - name: Replace device configuration of specified L2 interfaces with provided configuration. arista.eos.eos_l2_interfaces: config: - - name: Ethernet1 - mode: trunk - trunk: - native_vlan: 20 - trunk_allowed_vlans: 5-10, 15 + - name: Ethernet1 + mode: trunk + trunk: + native_vlan: 20 + trunk_allowed_vlans: 5-10, 15 state: replaced +# Task Output +# ----------- +# +# before: +# - mode: trunk +# name: Ethernet1 +# trunk: +# native_vlan: 10 +# - access: +# vlan: 30 +# name: Ethernet2 +# - name: Management1 +# commands: +# - interface Ethernet1 +# - switchport trunk native vlan 20 +# - switchport trunk allowed vlan 10,15,5,6,7,8,9 +# after: +# - mode: trunk +# name: Ethernet1 +# trunk: +# native_vlan: 20 +# trunk_allowed_vlans: +# - 5-10 +# - '15' +# - access: +# vlan: 30 +# name: Ethernet2 +# - name: Management1 + # After state: # ------------ # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 # switchport trunk native vlan 20 # switchport trunk allowed vlan 5-10,15 # switchport mode trunk # ! # interface Ethernet2 -# switchport trunk native vlan 20 -# switchport mode trunk +# description Configured by Ansible +# shutdown +# switchport access vlan 30 # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config -# ! +# dhcp client accept default-route # Using overridden # Before state: # ------------- # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# switchport access vlan 20 -# ! -# interface Ethernet2 # switchport trunk native vlan 20 +# switchport trunk allowed vlan 5-10,15 # switchport mode trunk # ! +# interface Ethernet2 +# description Configured by Ansible +# shutdown +# switchport access vlan 30 +# ! # interface Management1 # ip address dhcp -# ipv6 address auto-config -# ! +# dhcp client accept default-route - name: Override device configuration of all L2 interfaces on device with provided configuration. arista.eos.eos_l2_interfaces: config: - - name: Ethernet2 - mode: access - access: - vlan: 30 + - name: Ethernet2 + mode: access + access: + vlan: 30 state: overridden +# Task Output +# ----------- +# +# before: +# - mode: trunk +# name: Ethernet1 +# trunk: +# native_vlan: 20 +# trunk_allowed_vlans: +# - 5-10 +# - '15' +# - access: +# vlan: 30 +# name: Ethernet2 +# - name: Management1 +# commands: +# - interface Ethernet1 +# - no switchport mode +# - no switchport trunk allowed vlan +# - no switchport trunk native vlan +# - interface Ethernet2 +# - switchport mode access +# after: +# - name: Ethernet1 +# - access: +# vlan: 30 +# name: Ethernet2 +# - name: Management1 + # After state: # ------------ # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 # ! # interface Ethernet2 +# description Configured by Ansible +# shutdown # switchport access vlan 30 # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config -# ! +# dhcp client accept default-route # Using deleted # Before state: # ------------- # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# switchport access vlan 20 # ! # interface Ethernet2 -# switchport trunk native vlan 20 -# switchport mode trunk +# description Configured by Ansible +# shutdown +# switchport access vlan 30 # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config -# ! +# dhcp client accept default-route - name: Delete EOS L2 interfaces as in given arguments. arista.eos.eos_l2_interfaces: config: - - name: Ethernet1 - - name: Ethernet2 + - name: Ethernet1 + - name: Ethernet2 state: deleted +# Task Output +# ----------- +# +# before: +# - name: Ethernet1 +# - access: +# vlan: 30 +# name: Ethernet2 +# - name: Management1 +# commands: +# - interface Ethernet2 +# - no switchport access vlan +# after: +# - name: Ethernet1 +# - name: Ethernet2 +# - name: Management1 + # After state: # ------------ # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 # ! # interface Ethernet2 +# description Configured by Ansible +# shutdown # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config +# dhcp client accept default-route # using rendered - name: Use Rendered to convert the structured data to native config arista.eos.eos_l2_interfaces: config: - - name: Ethernet1 - mode: trunk - trunk: - native_vlan: 10 - - name: Ethernet2 - mode: access - access: - vlan: 30 - state: merged - -# Output : -# ------------ + - name: Ethernet1 + mode: trunk + trunk: + native_vlan: 10 + - name: Ethernet2 + mode: access + access: + vlan: 30 + state: rendered + +# Module Execution Result: +# ------------------------ +# +# rendered: +# - interface Ethernet1 +# - switchport mode trunk +# - switchport trunk native vlan 10 +# - interface Ethernet2 +# - switchport mode access +# - switchport access vlan 30 + +# Using parsed + +# File: parsed.cfg +# ---------------- # -# - "interface Ethernet1" -# - "switchport trunk native vlan 10" -# - "switchport mode trunk" -# - "interface Ethernet2" -# - "switchport access vlan 30" -# - "interface Management1" -# - "ip address dhcp" -# - "ipv6 address auto-config" - - -# using parsed - -# parsed.cfg - # interface Ethernet1 # switchport trunk native vlan 10 # switchport mode trunk @@ -326,25 +428,28 @@ EXAMPLES = """ # switchport access vlan 30 # ! -- name: Use parsed to convert native configs to structured data +- name: Parse the commands for provided configuration arista.eos.l2_interfaces: running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed -# Output: -# parsed: -# - name: Ethernet1 -# mode: trunk -# trunk: -# native_vlan: 10 -# - name: Ethernet2 -# mode: access -# access: -# vlan: 30 - +# Module Execution Result: +# ------------------------ +# +# parsed: +# - name: Ethernet1 +# mode: trunk +# trunk: +# native_vlan: 10 +# - name: Ethernet2 +# mode: access +# access: +# vlan: 30 + +# Using gathered -# Using gathered: -# Existing config on the device: +# Before state: +# ------------- # # veos#show running-config | section interface # interface Ethernet1 @@ -358,35 +463,66 @@ EXAMPLES = """ - name: Gather interfaces facts from the device arista.eos.l2_interfaces: state: gathered -# output: -# gathered: -# - name: Ethernet1 -# mode: trunk -# trunk: -# native_vlan: 10 -# - name: Ethernet2 -# mode: access -# access: -# vlan: 30 +# Module Execution Result: +# ------------------------ +# +# gathered: +# - name: Ethernet1 +# mode: trunk +# trunk: +# native_vlan: 10 +# - name: Ethernet2 +# mode: access +# access: +# vlan: 30 """ RETURN = """ before: - description: The configuration as structured data prior to module invocation. - returned: always - type: list - sample: The configuration returned will always be in the same format of the parameters above. + 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 configuration as structured data after module completion. + 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. + 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: always + returned: when I(state) is C(merged), C(replaced), C(overridden), C(deleted) or C(purged) + type: list + sample: + - interface Ethernet1 + - switchport mode trunk + - switchport access vlan 20 +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 + - switchport mode trunk + - switchport access vlan 20 +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: ['interface Ethernet2', 'switchport access vlan 20'] + sample: > + This output will always be in the same format as the + module argspec. """ diff --git a/ansible_collections/arista/eos/plugins/modules/eos_l3_interfaces.py b/ansible_collections/arista/eos/plugins/modules/eos_l3_interfaces.py index 93da7612c..f55d11069 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_l3_interfaces.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_l3_interfaces.py @@ -35,15 +35,17 @@ __metaclass__ = type DOCUMENTATION = """ module: eos_l3_interfaces short_description: L3 interfaces resource module -description: This module provides declarative management of Layer 3 interfaces on +description: + This module provides declarative management of Layer 3 interfaces on Arista EOS devices. version_added: 1.0.0 -author: Nathaniel Case (@qalthos) +author: Nathaniel Case (@Qalthos) notes: -- Tested against Arista EOS 4.24.6F -- This module works with connection C(network_cli). See the L(EOS Platform Options,../network/user_guide/platform_eos.html). - 'eos_l2_interfaces/eos_interfaces' should be used for preparing the interfaces , before applying L3 configurations using - this module (eos_l3_interfaces). + - Tested against Arista EOS 4.24.6F + - This module works with connection C(network_cli). + See U(https://docs.ansible.com/ansible/latest/network/user_guide/platform_eos.html) + 'eos_l2_interfaces/eos_interfaces' should be used for preparing the interfaces, + before applying L3 configurations using this module (eos_l3_interfaces). options: config: description: A dictionary of Layer 3 interface options @@ -52,233 +54,337 @@ options: suboptions: name: description: - - Full name of the interface, i.e. Ethernet1. + - Full name of the interface, i.e. Ethernet1. type: str required: true ipv4: description: - - List of IPv4 addresses to be set for the Layer 3 interface mentioned in - I(name) option. + - List of IPv4 addresses to be set for the Layer 3 interface mentioned in + I(name) option. type: list elements: dict suboptions: address: description: - - IPv4 address to be set in the format <ipv4 address>/<mask> eg. 192.0.2.1/24, - or C(dhcp) to query DHCP for an IP address. + - IPv4 address to be set in the format <ipv4 address>/<mask> eg. 192.0.2.1/24, + or C(dhcp) to query DHCP for an IP address. type: str secondary: description: - - Whether or not this address is a secondary address. + - Whether or not this address is a secondary address. type: bool virtual: description: - - Whether or not this address is a virtual address. + - Whether or not this address is a virtual address. type: bool ipv6: description: - - List of IPv6 addresses to be set for the Layer 3 interface mentioned in - I(name) option. + - List of IPv6 addresses to be set for the Layer 3 interface mentioned in + I(name) option. type: list elements: dict suboptions: address: description: - - IPv6 address to be set in the address format is <ipv6 address>/<mask> - eg. 2001:db8:2201:1::1/64 or C(auto-config) to use SLAAC to chose an - address. + - IPv6 address to be set in the address format is <ipv6 address>/<mask> + eg. 2001:db8:2201:1::1/64 or C(auto-config) to use SLAAC to chose an + address. type: str running_config: description: - - This option is used only with state I(parsed). - - The value of this option should be the output received from the EOS device by - executing the command B(show running-config | section ^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. + - This option is used only with state I(parsed). + - The value of this option should be the output received from the EOS device by + executing the command B(show running-config | section ^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 state: description: - - The state of the configuration after module completion + - The state of the configuration after module completion type: str choices: - - merged - - replaced - - overridden - - deleted - - parsed - - gathered - - rendered + - merged + - replaced + - overridden + - deleted + - parsed + - gathered + - rendered default: merged - """ EXAMPLES = """ - -# Using deleted +# Using merged # Before state: # ------------- # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# ip address 192.0.2.12/24 # ! # interface Ethernet2 -# ipv6 address 2001:db8::1/64 +# description Configured by Ansible +# shutdown # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config +# dhcp client accept default-route -- name: Delete L3 attributes of given interfaces. +- name: Merge provided configuration with device configuration. arista.eos.eos_l3_interfaces: config: - - name: Ethernet1 - - name: Ethernet2 - state: deleted + - name: Ethernet1 + ipv4: + - address: 198.51.100.14/24 + - name: Ethernet2 + ipv4: + - address: 203.0.113.27/24 + state: merged + +# Task Output +# ----------- +# +# before: +# - name: Ethernet1 +# - name: Ethernet2 +# - ipv4: +# - address: dhcp +# name: Management1 +# commands: +# - interface Ethernet1 +# - ip address 198.51.100.14/24 +# - interface Ethernet2 +# - ip address 203.0.113.27/24 +# after: +# - ipv4: +# - address: 198.51.100.14/24 +# name: Ethernet1 +# - ipv4: +# - address: 203.0.113.27/24 +# name: Ethernet2 +# - ipv4: +# - address: dhcp +# name: Management1 # After state: # ------------ # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 +# ip address 198.51.100.14/24 # ! # interface Ethernet2 +# description Configured by Ansible +# shutdown +# ip address 203.0.113.27/24 # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config +# dhcp client accept default-route - -# Using merged +# Using overridden # Before state: # ------------- # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# ip address 192.0.2.12/24 +# ip address 198.51.100.14/24 # ! # interface Ethernet2 -# ipv6 address 2001:db8::1/64 +# ip address 203.0.113.27/24 # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config +# dhcp client accept default-route -- name: Merge provided configuration with device configuration. +- name: Override device configuration of all L2 interfaces on device with provided + configuration. arista.eos.eos_l3_interfaces: config: - - name: Ethernet1 - ipv4: - - address: 198.51.100.14/24 - - name: Ethernet2 - ipv4: - - address: 203.0.113.27/24 - state: merged + - name: Ethernet1 + ipv6: + - address: 2001:db8:feed::1/96 + - name: Ethernet2 + ipv4: + - address: 203.0.113.27/24 + - ipv4: + - address: dhcp + name: Management1 + state: overridden + +# Task Output +# ----------- +# +# before: +# - ipv4: +# - address: 198.51.100.14/24 +# name: Ethernet1 +# - ipv4: +# - address: 203.0.113.27/24 +# name: Ethernet2 +# - ipv4: +# - address: dhcp +# name: Management1 +# commands: +# - interface Ethernet1 +# - ipv6 address 2001:db8:feed::1/96 +# - no ip address +# after: +# - ipv6: +# - address: 2001:db8:feed::1/96 +# name: Ethernet1 +# - ipv4: +# - address: 203.0.113.27/24 +# name: Ethernet2 +# - ipv4: +# - address: dhcp +# name: Management1 # After state: # ------------ # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# ip address 198.51.100.14/24 +# ipv6 address 2001:db8:feed::1/96 # ! # interface Ethernet2 # ip address 203.0.113.27/24 -# ipv6 address 2001:db8::1/64 # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config +# dhcp client accept default-route - -# Using overridden +# Using replaced # Before state: # ------------- # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# ip address 192.0.2.12/24 +# ipv6 address 2001:db8:feed::1/96 # ! # interface Ethernet2 -# ipv6 address 2001:db8::1/64 +# ip address 203.0.113.27/24 # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config +# dhcp client accept default-route -- name: Override device configuration of all L2 interfaces on device with provided - configuration. +- name: Replace device configuration of specified L2 interfaces with provided configuration. arista.eos.eos_l3_interfaces: config: - - name: Ethernet1 - ipv6: - - address: 2001:db8:feed::1/96 - - name: Management1 - ipv4: - - address: dhcp - ipv6: auto-config - state: overridden + - name: Ethernet2 + ipv4: + - address: 203.0.113.27/24 + state: replaced + +# Task Output +# ----------- +# +# before: +# - ipv6: +# - address: 2001:db8:feed::1/96 +# name: Ethernet1 +# - ipv4: +# - address: 203.0.113.27/24 +# name: Ethernet2 +# - ipv4: +# - address: dhcp +# name: Management1 +# commands: +# - interface Ethernet2 +# - ip address 203.0.113.28/24 +# after: +# - ipv6: +# - address: 2001:db8:feed::1/96 +# name: Ethernet1 +# - ipv4: +# - address: 203.0.113.28/24 +# name: Ethernet2 +# - ipv4: +# - address: dhcp +# name: Management1 # After state: # ------------ # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 # ipv6 address 2001:db8:feed::1/96 # ! # interface Ethernet2 +# ip address 203.0.113.28/24 # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config +# dhcp client accept default-route - -# Using replaced +# Using deleted # Before state: # ------------- # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# ip address 192.0.2.12/24 +# ipv6 address 2001:db8:feed::1/96 # ! # interface Ethernet2 -# ipv6 address 2001:db8::1/64 +# ip address 203.0.113.28/24 # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config +# dhcp client accept default-route -- name: Replace device configuration of specified L2 interfaces with provided configuration. +- name: Delete L3 attributes of given interfaces. arista.eos.eos_l3_interfaces: config: - - name: Ethernet2 - ipv4: - - address: 203.0.113.27/24 - state: replaced + - name: Ethernet1 + - name: Ethernet2 + state: deleted + +# Task Output +# ----------- +# +# before: +# - ipv6: +# - address: 2001:db8:feed::1/96 +# name: Ethernet1 +# - ipv4: +# - address: 203.0.113.28/24 +# name: Ethernet2 +# - ipv4: +# - address: dhcp +# name: Management1 +# commands: +# - interface Ethernet1 +# - no ipv6 address 2001:db8:feed::1/96 +# - interface Ethernet2 +# - no ip address +# after: +# - name: Ethernet1 +# - name: Ethernet2 +# - ipv4: +# - address: dhcp +# name: Management1 # After state: # ------------ # -# veos#show running-config | section interface +# test#show running-config | section interface # interface Ethernet1 -# ip address 192.0.2.12/24 # ! # interface Ethernet2 -# ip address 203.0.113.27/24 # ! # interface Management1 # ip address dhcp -# ipv6 address auto-config +# dhcp client accept default-route -# Using parsed: +# Using Parsed -# parsed.cfg -# ------------ +# File: parsed.cfg +# ---------------- # # veos#show running-config | section interface # interface Ethernet1 @@ -293,41 +399,45 @@ EXAMPLES = """ running_config: "{{ lookup('file', 'parsed.cfg') }}" state: parsed -# Output: - +# Module Execution Result: +# ------------------------ +# # parsed: -# - name: Ethernet1 -# ipv4: -# - address: 198.51.100.14/24 -# - name: Ethernet2 -# ipv4: -# - address: 203.0.113.27/24 +# - name: Ethernet1 +# ipv4: +# - address: 198.51.100.14/24 +# - name: Ethernet2 +# ipv4: +# - address: 203.0.113.27/24 # Using rendered: - name: Use Rendered to convert the structured data to native config arista.eos.eos_l3_interfaces: config: - - name: Ethernet1 - ipv4: - - address: 198.51.100.14/24 - - name: Ethernet2 - ipv4: - - address: 203.0.113.27/24 + - name: Ethernet1 + ipv4: + - address: 198.51.100.14/24 + - name: Ethernet2 + ipv4: + - address: 203.0.113.27/24 state: rendered -# Output -# ------------ -#rendered: -# - "interface Ethernet1" -# - "ip address 198.51.100.14/24" -# - "interface Ethernet2" -# - "ip address 203.0.113.27/24" +# Module Execution Result: +# ------------------------ +# +# rendered: +# - interface Ethernet1 +# - ip address 198.51.100.14/24 +# - interface Ethernet2 +# - ip address 203.0.113.27/24 # using gathered: -# Native COnfig: -# veos#show running-config | section interface +# Before state: +# ------------- +# +# test#show running-config | section interface # interface Ethernet1 # ip address 198.51.100.14/24 # ! @@ -339,36 +449,62 @@ EXAMPLES = """ arista.eos.l3_interfaces: state: gathered -# gathered: -# - name: Ethernet1 -# ipv4: -# - address: 198.51.100.14/24 -# - name: Ethernet2 -# ipv4: -# - address: 203.0.113.27/24 - - +# Module Execution Result: +# ------------------------ +# +# gathered: +# - name: Ethernet1 +# ipv4: +# - address: 198.51.100.14/24 +# - name: Ethernet2 +# ipv4: +# - address: 203.0.113.27/24 """ RETURN = """ before: - description: The configuration as structured data prior to module invocation. - returned: always - type: list + 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: > - 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 configuration as structured data after module completion. + description: The resulting configuration after module execution. returned: when changed - type: list + type: dict 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: ['interface Ethernet2', 'ip address 192.0.2.12/24'] + sample: + - interface Ethernet1 + - ip address 198.51.100.14/24 + - ipv6 address 2001:db8:feed::1/96 +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 + - ip address 198.51.100.14/24 + - ipv6 address 2001:db8:feed::1/96 +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. """ diff --git a/ansible_collections/arista/eos/plugins/modules/eos_lacp.py b/ansible_collections/arista/eos/plugins/modules/eos_lacp.py index d79ca8805..dfc6e82f7 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_lacp.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_lacp.py @@ -140,7 +140,7 @@ EXAMPLES = """ # veos# show running-config | include lacp # -#Using rendered: +# Using rendered: - name: Use Rendered to convert the structured data to native config arista.eos.eos_lacp: @@ -184,7 +184,6 @@ EXAMPLES = """ # system: # priority: 10 # - """ RETURN = """ before: @@ -214,9 +213,7 @@ from ansible.module_utils.basic import AnsibleModule from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.lacp.lacp import ( LacpArgs, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.config.lacp.lacp import ( - Lacp, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.config.lacp.lacp import Lacp def main(): diff --git a/ansible_collections/arista/eos/plugins/modules/eos_lacp_interfaces.py b/ansible_collections/arista/eos/plugins/modules/eos_lacp_interfaces.py index 47a3662e8..1b895c43a 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_lacp_interfaces.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_lacp_interfaces.py @@ -110,10 +110,10 @@ EXAMPLES = """ - name: Merge provided configuration with device configuration arista.eos.eos_lacp_interfaces: config: - - name: Ethernet1 - rate: fast - - name: Ethernet2 - rate: normal + - name: Ethernet1 + rate: fast + - name: Ethernet2 + rate: normal state: merged # @@ -135,7 +135,6 @@ EXAMPLES = """ # Before state # ------------ # -# # veos#show run | section ^interface # interface Ethernet1 # lacp port-priority 30 @@ -146,8 +145,8 @@ EXAMPLES = """ configuration arista.eos.eos_lacp_interfaces: config: - - name: Ethernet1 - rate: fast + - name: Ethernet1 + rate: fast state: replaced # @@ -179,8 +178,8 @@ EXAMPLES = """ - name: Override the LACP configuration of all the interfaces with provided configuration arista.eos.eos_lacp_interfaces: config: - - name: Ethernet1 - rate: fast + - name: Ethernet1 + rate: fast state: overridden # @@ -226,10 +225,10 @@ EXAMPLES = """ - name: Use Rendered to convert the structured data to native config arista.eos.eos_lacp_interfaces: config: - - name: Ethernet1 - rate: fast - - name: Ethernet2 - rate: normal + - name: Ethernet1 + rate: fast + - name: Ethernet2 + rate: normal state: rendered # @@ -276,7 +275,6 @@ EXAMPLES = """ # - name: Ethernet1 # - name: Ethernet2 # rate: fast - """ RETURN = """ before: diff --git a/ansible_collections/arista/eos/plugins/modules/eos_lag_interfaces.py b/ansible_collections/arista/eos/plugins/modules/eos_lag_interfaces.py index 471652772..2a58f796f 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_lag_interfaces.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_lag_interfaces.py @@ -112,10 +112,10 @@ EXAMPLES = """ - name: Merge provided LAG attributes with existing device configuration arista.eos.eos_lag_interfaces: config: - - name: 5 - members: - - member: Ethernet2 - mode: on + - name: 5 + members: + - member: Ethernet2 + mode: on state: merged # After state: @@ -141,10 +141,10 @@ EXAMPLES = """ - name: Replace all device configuration of specified LAGs with provided configuration arista.eos.eos_lag_interfaces: config: - - name: 5 - members: - - member: Ethernet2 - mode: on + - name: 5 + members: + - member: Ethernet2 + mode: on state: replaced # After state: @@ -169,10 +169,10 @@ EXAMPLES = """ - name: Override all device configuration of all LAG attributes with provided configuration arista.eos.eos_lag_interfaces: config: - - name: 10 - members: - - member: Ethernet2 - mode: on + - name: 10 + members: + - member: Ethernet2 + mode: on state: overridden # After state: @@ -198,9 +198,9 @@ EXAMPLES = """ - name: Delete LAG attributes of the given interfaces. arista.eos.eos_lag_interfaces: config: - - name: 5 - members: - - member: Ethernet1 + - name: 5 + members: + - member: Ethernet1 state: deleted # After state: @@ -238,12 +238,12 @@ EXAMPLES = """ - name: Use Rendered to convert the structured data to native config arista.eos.eos_lag_interfaces: config: - - name: 5 - members: - - member: Ethernet2 - mode: on - - member: Ethernet1 - mode: on + - name: 5 + members: + - member: Ethernet2 + mode: on + - member: Ethernet1 + mode: on state: rendered # ----------- # Output @@ -277,7 +277,6 @@ EXAMPLES = """ # mode: on # - member: Ethernet1 # mode: on - """ RETURN = """ diff --git a/ansible_collections/arista/eos/plugins/modules/eos_lldp_global.py b/ansible_collections/arista/eos/plugins/modules/eos_lldp_global.py index a98535c66..7dbf6d17d 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_lldp_global.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_lldp_global.py @@ -282,7 +282,6 @@ EXAMPLES = """ # management_address: False # port_description: False # system_description: True - """ RETURN = """ before: diff --git a/ansible_collections/arista/eos/plugins/modules/eos_lldp_interfaces.py b/ansible_collections/arista/eos/plugins/modules/eos_lldp_interfaces.py index 6b5aae118..0ea9e7045 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_lldp_interfaces.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_lldp_interfaces.py @@ -103,10 +103,10 @@ EXAMPLES = """ - name: Merge provided configuration with running configuration arista.eos.eos_lldp_interfaces: config: - - name: Ethernet1 - transmit: false - - name: Ethernet2 - transmit: false + - name: Ethernet1 + transmit: false + - name: Ethernet2 + transmit: false state: merged # @@ -140,8 +140,8 @@ EXAMPLES = """ configuration arista.eos.eos_lldp_interfaces: config: - - name: Ethernet1 - transmit: false + - name: Ethernet1 + transmit: false state: replaced # @@ -173,8 +173,8 @@ EXAMPLES = """ - name: Override the LLDP configuration of all the interfaces with provided configuration arista.eos.eos_lldp_interfaces: config: - - name: Ethernet1 - transmit: false + - name: Ethernet1 + transmit: false state: overridden # @@ -221,10 +221,10 @@ EXAMPLES = """ - name: Use Rendered to convert the structured data to native config arista.eos.eos_lldp_interfaces: config: - - name: Ethernet1 - transmit: false - - name: Ethernet2 - transmit: false + - name: Ethernet1 + transmit: false + - name: Ethernet2 + transmit: false state: rendered # @@ -282,7 +282,6 @@ EXAMPLES = """ # transmit: False # - name: Ethernet2 # transmit: False - """ RETURN = """ before: diff --git a/ansible_collections/arista/eos/plugins/modules/eos_logging.py b/ansible_collections/arista/eos/plugins/modules/eos_logging.py index b2b9106f6..845af44d5 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_logging.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_logging.py @@ -150,8 +150,8 @@ EXAMPLES = """ - name: Configure logging using aggregate arista.eos.eos_logging: aggregate: - - {dest: console, level: warnings} - - {dest: buffered, size: 480000} + - {dest: console, level: warnings} + - {dest: buffered, size: 480000} state: present """ diff --git a/ansible_collections/arista/eos/plugins/modules/eos_logging_global.py b/ansible_collections/arista/eos/plugins/modules/eos_logging_global.py index a614dcb8e..c744f1644 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_logging_global.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_logging_global.py @@ -240,31 +240,29 @@ options: default: merged """ EXAMPLES = """ - # Using merged - # Before state # test(config)#show running-config | section logging # test(config)# - - name: Merge provided configuration with device configuration - arista.eos.eos_logging_global: - config: - hosts: - - name: "host01" - protocol: "tcp" - - name: "11.11.11.1" - port: 25 - vrfs: - - name: "vrf01" - source_interface: "Ethernet1" - - name: "vrf02" - hosts: - - name: "hostvrf1" - protocol: "tcp" - - name: "24.1.1.1" - port: "33" +- name: Merge provided configuration with device configuration + arista.eos.eos_logging_global: + config: + hosts: + - name: "host01" + protocol: "tcp" + - name: "11.11.11.1" + port: 25 + vrfs: + - name: "vrf01" + source_interface: "Ethernet1" + - name: "vrf02" + hosts: + - name: "hostvrf1" + protocol: "tcp" + - name: "24.1.1.1" + port: "33" # After State: @@ -338,25 +336,25 @@ EXAMPLES = """ # logging level AAA alerts # test(config)# - - name: Repalce - arista.eos.eos_logging_global: - config: - synchronous: - set: True - trap: - severity: "critical" - hosts: - - name: "host02" - protocol: "tcp" - vrfs: - - name: "vrf03" - source_interface: "Vlan100" - - name: "vrf04" - hosts: - - name: "hostvrf1" - protocol: "tcp" - - state: replaced +- name: Repalce + arista.eos.eos_logging_global: + config: + synchronous: + set: true + trap: + severity: "critical" + hosts: + - name: "host02" + protocol: "tcp" + vrfs: + - name: "vrf03" + source_interface: "Vlan100" + - name: "vrf04" + hosts: + - name: "hostvrf1" + protocol: "tcp" + + state: replaced # After State: # test(config)#show running-config | section logging @@ -377,7 +375,7 @@ EXAMPLES = """ # } # ], # "synchronous": { -# "set": True +# "set": true # }, # "trap": { # "severity": "critical" @@ -487,25 +485,25 @@ EXAMPLES = """ # logging level AAA alerts # test(config)# - - name: Repalce - arista.eos.eos_logging_global: - config: - synchronous: - set: True - trap: - severity: "critical" - hosts: - - name: "host02" - protocol: "tcp" - vrfs: - - name: "vrf03" - source_interface: "Vlan100" - - name: "vrf04" - hosts: - - name: "hostvrf1" - protocol: "tcp" - - state: overridden +- name: Repalce + arista.eos.eos_logging_global: + config: + synchronous: + set: true + trap: + severity: "critical" + hosts: + - name: "host02" + protocol: "tcp" + vrfs: + - name: "vrf03" + source_interface: "Vlan100" + - name: "vrf04" + hosts: + - name: "hostvrf1" + protocol: "tcp" + + state: overridden # After State: # test(config)#show running-config | section logging @@ -526,7 +524,7 @@ EXAMPLES = """ # } # ], # "synchronous": { -# "set": True +# "set": true # }, # "trap": { # "severity": "critical" @@ -634,10 +632,10 @@ EXAMPLES = """ # logging vrf vrf03 source-interface Vlan100 # test(config)# - - name: Delete all logging configs - arista.eos.eos_logging_global: - state: deleted - become: yes +- name: Delete all logging configs + arista.eos.eos_logging_global: + state: deleted + become: true # After state: # test(config)#show running-config | section logging @@ -726,10 +724,10 @@ EXAMPLES = """ # ! # logging level AAA alerts - - name: parse configs - arista.eos.eos_logging_global: - running_config: "{{ lookup('file', './parsed.cfg') }}" - state: parsed +- name: parse configs + arista.eos.eos_logging_global: + running_config: "{{ lookup('file', './parsed.cfg') }}" + state: parsed # Module Execution # "parsed": { @@ -800,9 +798,9 @@ EXAMPLES = """ # logging level AAA alerts # test(config)# - - name: gather configs - arista.eos.eos_logging_global: - state: gathered +- name: gather configs + arista.eos.eos_logging_global: + state: gathered # Module Execution: # "gathered": { @@ -859,35 +857,35 @@ EXAMPLES = """ # # Using rendered: - - name: Render provided configuration - arista.eos.eos_logging_global: - config: - format: - timestamp: - traditional: - timezone: True - level: - facility: "AAA" - severity: "alerts" - persistent: - size: 4096 - policy: - invert_result: True - match_list: "list01" - hosts: - - name: "host01" - protocol: "tcp" - - name: "11.11.11.1" - port: 25 - vrfs: - - name: "vrf01" - source_interface: "Ethernet1" - - name: "vrf02" - hosts: - - name: "hostvrf1" - protocol: "tcp" - - name: "24.1.1.1" - port: "33" +- name: Render provided configuration + arista.eos.eos_logging_global: + config: + format: + timestamp: + traditional: + timezone: true + level: + facility: "AAA" + severity: "alerts" + persistent: + size: 4096 + policy: + invert_result: true + match_list: "list01" + hosts: + - name: "host01" + protocol: "tcp" + - name: "11.11.11.1" + port: 25 + vrfs: + - name: "vrf01" + source_interface: "Ethernet1" + - name: "vrf02" + hosts: + - name: "hostvrf1" + protocol: "tcp" + - name: "24.1.1.1" + port: "33" # Module Execution: # "rendered": [ @@ -902,7 +900,6 @@ EXAMPLES = """ # "logging policy match invert-result match-list list01 discard" # ] # - """ from ansible.module_utils.basic import AnsibleModule diff --git a/ansible_collections/arista/eos/plugins/modules/eos_ntp_global.py b/ansible_collections/arista/eos/plugins/modules/eos_ntp_global.py index cb89f3a9d..325e97a22 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_ntp_global.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_ntp_global.py @@ -107,7 +107,7 @@ options: server: description: Hostname or A.B.C.D or A:B:C:D:E:F:G:H. type: str - required: True + required: true burst: description: Send a burst of packets instead of the usual one. type: bool @@ -164,51 +164,51 @@ options: - parsed default: merged """ -EXAMPLES = """ +EXAMPLES = """ # Using merged -# Before state - +# Before state: +# ------------- # localhost(config)#show running-config | section ntp # localhost(config)# - - name: Merge provided configuration with device configuration - arista.eos.eos_ntp_global: - config: - authenticate: - enable: true - authentication_keys: - - id: 2 - algorithm: "sha1" - encryption: 7 - key: "123456" - - id: 23 - algorithm: "md5" - encryption: 7 - key: "123456" - local_interface: "Ethernet1" - qos_dscp: 10 - trusted_key: 23 - servers: - - server: "10.1.1.1" - vrf: "vrf01" - burst: True - prefer: True - - server: "25.1.1.1" - vrf: "vrf01" - maxpoll: 15 - key_id: 2 - serve: - access_lists: - - afi: "ip" - acls: - - acl_name: "acl01" - direction: "in" - - afi: "ipv6" - acls: - - acl_name: "acl02" - direction: "in" +- name: Merge provided configuration with device configuration + arista.eos.eos_ntp_global: + config: + authenticate: + enable: true + authentication_keys: + - id: 2 + algorithm: "sha1" + encryption: 7 + key: "123456" + - id: 23 + algorithm: "md5" + encryption: 7 + key: "123456" + local_interface: "Ethernet1" + qos_dscp: 10 + trusted_key: 23 + servers: + - server: "10.1.1.1" + vrf: "vrf01" + burst: true + prefer: true + - server: "25.1.1.1" + vrf: "vrf01" + maxpoll: 15 + key_id: 2 + serve: + access_lists: + - afi: "ip" + acls: + - acl_name: "acl01" + direction: "in" + - afi: "ipv6" + acls: + - acl_name: "acl02" + direction: "in" # After State @@ -317,28 +317,29 @@ EXAMPLES = """ # ntp serve ipv6 access-group acl02 in # localhost(config)# - - name: Replace - arista.eos.eos_ntp_global: - config: - qos_dscp: 15 - authentication_keys: - - id: 2 - algorithm: "md5" - encryption: 7 - key: "123456" - servers: - - server: "11.21.1.1" - vrf: "vrf01" - burst: True - prefer: True - minpoll: 13 - serve: - access_lists: - - afi: "ip" - acls: - - acl_name: "acl03" - direction: "in" - state: replaced +- name: Replace + arista.eos.eos_ntp_global: + config: + qos_dscp: 15 + authentication_keys: + - id: 2 + algorithm: "md5" + encryption: 7 + key: "123456" + servers: + - server: "11.21.1.1" + vrf: "vrf01" + burst: true + prefer: true + minpoll: 13 + serve: + access_lists: + - afi: "ip" + acls: + - acl_name: "acl03" + direction: "in" + state: replaced + # After State: # localhost(config)#show running-config | section ntp # ntp authentication-key 2 md5 7 123456 @@ -473,28 +474,29 @@ EXAMPLES = """ # ntp serve ipv6 access-group acl02 in # localhost(config)# - - name: Replace - arista.eos.eos_ntp_global: - config: - qos_dscp: 15 - authentication_keys: - - id: 2 - algorithm: "md5" - encryption: 7 - key: "123456" - servers: - - server: "11.21.1.1" - vrf: "vrf01" - burst: True - prefer: True - minpoll: 13 - serve: - access_lists: - - afi: "ip" - acls: - - acl_name: "acl03" - direction: "in" - state: overridden +- name: Replace + arista.eos.eos_ntp_global: + config: + qos_dscp: 15 + authentication_keys: + - id: 2 + algorithm: "md5" + encryption: 7 + key: "123456" + servers: + - server: "11.21.1.1" + vrf: "vrf01" + burst: true + prefer: true + minpoll: 13 + serve: + access_lists: + - afi: "ip" + acls: + - acl_name: "acl03" + direction: "in" + state: overridden + # After State: # localhost(config)#show running-config | section ntp # ntp authentication-key 2 md5 7 123456 @@ -630,9 +632,9 @@ EXAMPLES = """ # ntp serve ipv6 access-group acl02 in # localhost(config)# - - name: Delete ntp-global - arista.eos.eos_ntp_global: - state: deleted +- name: Delete ntp-global + arista.eos.eos_ntp_global: + state: deleted # After State: # localhost(config)#show running-config | section ntp @@ -736,12 +738,13 @@ EXAMPLES = """ # ntp serve ip access-group acl01 in # ntp serve ipv6 access-group acl02 in - - name: parse configs - arista.eos.eos_ntp_global: - running_config: "{{ lookup('file', './parsed_ntp_global.cfg') }}" - state: parsed - tags: - - parsed +- name: parse configs + arista.eos.eos_ntp_global: + running_config: "{{ lookup('file', './parsed_ntp_global.cfg') }}" + state: parsed + tags: + - parsed + # Module Execution # "parsed": { # "authenticate": { @@ -825,13 +828,14 @@ EXAMPLES = """ # ntp serve ipv6 access-group acl02 in # localhost(config)# +- name: gather configs + arista.eos.eos_ntp_global: + state: gathered + tags: + - gathered - - name: gather configs - arista.eos.eos_ntp_global: - state: gathered - tags: - - gathered # Module Execution + # "gathered": { # "authenticate": { # "enable": true @@ -899,47 +903,45 @@ EXAMPLES = """ # } # } - # using rendered: - - name: Render provided configuration - arista.eos.eos_ntp_global: - config: - authenticate: - enable: true - authentication_keys: - - id: 2 - algorithm: "sha1" - encryption: 7 - key: "123456" - - id: 23 - algorithm: "md5" - encryption: 7 - key: "123456" - local_interface: "Ethernet1" - qos_dscp: 10 - trusted_key: 23 - servers: - - server: "10.1.1.1" - vrf: "vrf01" - burst: True - prefer: True - - server: "25.1.1.1" - vrf: "vrf01" - maxpoll: 15 - key_id: 2 - serve: - access_lists: - - afi: "ip" - acls: - - acl_name: "acl01" - direction: "in" - - afi: "ipv6" - acls: - - acl_name: "acl02" - direction: "in" - state: rendered - become: yes +- name: Render provided configuration + arista.eos.eos_ntp_global: + config: + authenticate: + enable: true + authentication_keys: + - id: 2 + algorithm: "sha1" + encryption: 7 + key: "123456" + - id: 23 + algorithm: "md5" + encryption: 7 + key: "123456" + local_interface: "Ethernet1" + qos_dscp: 10 + trusted_key: 23 + servers: + - server: "10.1.1.1" + vrf: "vrf01" + burst: true + prefer: true + - server: "25.1.1.1" + vrf: "vrf01" + maxpoll: 15 + key_id: 2 + serve: + access_lists: + - afi: "ip" + acls: + - acl_name: "acl01" + direction: "in" + - afi: "ipv6" + acls: + - acl_name: "acl02" + direction: "in" + state: rendered # Module Execution: # "rendered": [ diff --git a/ansible_collections/arista/eos/plugins/modules/eos_ospf_interfaces.py b/ansible_collections/arista/eos/plugins/modules/eos_ospf_interfaces.py index 29ad037f7..8a28820c5 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_ospf_interfaces.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_ospf_interfaces.py @@ -59,7 +59,7 @@ options: - Address Family Identifier (AFI) for OSPF settings on the interfaces. type: str choices: ['ipv4', 'ipv6'] - required: True + required: true area: description: - Area associated with interface. @@ -70,7 +70,7 @@ options: description: - Area ID as a decimal or IP address format. type: str - required: True + required: true authentication_v2: description: - Authentication settings on the interface. @@ -181,7 +181,7 @@ options: - Address Family Identifier (AFI) for OSPF settings on the interfaces. type: str choices: ['ipv4', 'ipv6'] - required: True + required: true area: description: - Area associated with interface. @@ -192,7 +192,7 @@ options: description: - Area ID as a decimal or IP address format. type: str - required: True + required: true bfd: description: Enable BFD. type: bool @@ -210,7 +210,7 @@ options: type: int mtu_ignore: description: - - if True, Disable MTU check for Database Description packets. + - if true, Disable MTU check for Database Description packets. type: bool network: description: @@ -252,7 +252,7 @@ options: type: str mtu_ignore: description: - - if True, Disable MTU check for Database Description packets. + - if true, Disable MTU check for Database Description packets. type: bool network: description: @@ -308,31 +308,59 @@ EXAMPLES = """ # Using merged -# Before state - +# Before state: +# ------------- # veos(config)#show running-config | section interface | ospf # veos(config)# - - name: Merge provided configuration with device configuration - arista.eos.eos_ospf_interfaces: - config: - - name: "Vlan1" - address_family: - - afi: "ipv4" - area: - area_id: "0.0.0.50" - cost: 500 - mtu_ignore: True - - afi: "ipv6" - dead_interval: 44 - ip_params: - - afi: "ipv6" - mtu_ignore: True - network: "point-to-point" - state: merged - -# After State - +- name: Merge provided configuration with device configuration + arista.eos.eos_ospf_interfaces: + config: + - name: "Vlan1" + address_family: + - afi: "ipv4" + area: + area_id: "0.0.0.50" + cost: 500 + mtu_ignore: true + - afi: "ipv6" + dead_interval: 44 + ip_params: + - afi: "ipv6" + mtu_ignore: true + network: "point-to-point" + state: merged + +# Task output: +# ------------ +# before: [] +# +# commands: +# - interface Vlan1 +# - ip ospf area 0.0.0.50 +# - ip ospf cost 500 +# - ip ospf mtu-ignore +# - ospfv3 dead-interval 44 +# - ospfv3 ipv6 mtu-ignore +# - ospfv3 ipv6 network point-to-point +# +# after: +# - address_family: +# - afi: ipv4 +# area: +# area_id: 0.0.0.50 +# cost: 500 +# mtu_ignore: true +# - afi: ipv6 +# dead_interval: 44 +# ip_params: +# - afi: ipv6 +# mtu_ignore: true +# network: point-to-point +# name: Vlan1 + +# After state: +# ------------ # veos(config)#show running-config | section interface | ospf # interface Vlan1 # ip ospf cost 500 @@ -341,74 +369,11 @@ EXAMPLES = """ # ospfv3 dead-interval 44 # ospfv3 ipv6 network point-to-point # ospfv3 ipv6 mtu-ignore -# veos(config)# -# -# -# Module Execution: -# -# "after": [ -# { -# "name": "Ethernet1" -# }, -# { -# "name": "Ethernet2" -# }, -# { -# "name": "Management1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.50" -# }, -# "cost": 500, -# "mtu_ignore": True -# }, -# { -# "afi": "ipv6", -# "dead_interval": 44, -# "ip_params": [ -# { -# "afi": "ipv6", -# "mtu_ignore": True, -# "network": "point-to-point" -# } -# ] -# } -# ], -# "name": "Vlan1" -# } -# ], -# "before": [ -# { -# "name": "Ethernet1" -# }, -# { -# "name": "Ethernet2" -# }, -# { -# "name": "Management1" -# } -# ], -# "changed": True, -# "commands": [ -# "interface Vlan1", -# "ip ospf area 0.0.0.50", -# "ip ospf cost 500", -# "ip ospf mtu-ignore", -# "ospfv3 dead-interval 44", -# "ospfv3 ipv6 mtu-ignore", -# "ospfv3 ipv6 network point-to-point" -# ], -# # Using replaced -#--------------- - -# Before State: +# Before state: +# ------------- # veos(config)#show running-config | section interface | ospf # interface Vlan1 # ip ospf cost 500 @@ -431,26 +396,100 @@ EXAMPLES = """ # ospfv3 ipv4 hello-interval 45 # ospfv3 ipv4 retransmit-interval 100 # ospfv3 ipv4 area 0.0.0.6 -# veos(config)# - - - - name: Replace device configuration with provided configuration - arista.eos.eos_ospf_interfaces: - config: - - name: "Vlan1" - address_family: - - afi: "ipv6" - cost: 44 - bfd: True - ip_params: - - afi: "ipv6" - mtu_ignore: True - network: "point-to-point" - dead_interval: 56 - state: replaced - -# After State: +- name: Replace device configuration with provided configuration + arista.eos.eos_ospf_interfaces: + config: + - name: "Vlan1" + address_family: + - afi: "ipv6" + cost: 44 + bfd: true + ip_params: + - afi: "ipv6" + mtu_ignore: true + network: "point-to-point" + dead_interval: 56 + state: replaced + +# Task output: +# ------------ +# before: +# - address_family: +# - afi: ipv4 +# area: +# area_id: 0.0.0.50 +# cost: 500 +# dead_interval: 29 +# hello_interval: 66 +# mtu_ignore: true +# - afi: ipv6 +# cost: 106 +# dead_interval: 44 +# hello_interval: 77 +# ip_params: +# - afi: ipv4 +# area: +# area_id: 0.0.0.5 +# priority: 45 +# - afi: ipv6 +# mtu_ignore: true +# network: point-to-point +# passive_interface: true +# retransmit_interval: 115 +# transmit_delay: 100 +# name: Vlan1 +# - address_family: +# - afi: ipv6 +# ip_params: +# - afi: ipv4 +# area: +# area_id: 0.0.0.6 +# hello_interval: 45 +# retransmit_interval: 100 +# name: Vlan2 +# +# commands: +# - interface Vlan1 +# - no ip ospf cost 500 +# - no ip ospf dead-interval 29 +# - no ip ospf hello-interval 66 +# - no ip ospf mtu-ignore +# - no ip ospf area 0.0.0.50 +# - ospfv3 cost 44 +# - ospfv3 bfd +# - ospfv3 authentication ipsec spi 30 md5 passphrase 7 7hl8FV3lZ6H1mAKpjL47hQ== +# - no ospfv3 ipv4 priority 45 +# - no ospfv3 ipv4 area 0.0.0.5 +# - ospfv3 ipv6 dead-interval 56 +# - no ospfv3 ipv6 passive-interface +# - no ospfv3 ipv6 retransmit-interval 115 +# - no ospfv3 hello-interval 77 +# - no ospfv3 dead-interval 44 +# - no ospfv3 transmit-delay 100 +# +# after: +# - address_family: +# - afi: ipv6 +# bfd: true +# cost: 44 +# ip_params: +# - afi: ipv6 +# mtu_ignore: true +# network: point-to-point +# name: Vlan1 +# - address_family: +# - afi: ipv6 +# ip_params: +# - afi: ipv4 +# area: +# area_id: 0.0.0.6 +# hello_interval: 45 +# retransmit_interval: 100 +# name: Vlan2 + +# After state: +# ------------ # veos(config)#show running-config | section interface | ospf # interface Vlan1 # ospfv3 bfd @@ -463,149 +502,11 @@ EXAMPLES = """ # ospfv3 ipv4 hello-interval 45 # ospfv3 ipv4 retransmit-interval 100 # ospfv3 ipv4 area 0.0.0.6 -# veos(config)# -# -# Module Execution: -# -# "after": [ -# { -# "name": "Ethernet1" -# }, -# { -# "name": "Ethernet2" -# }, -# { -# "name": "Management1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "bfd": True, -# "cost": 44, -# "ip_params": [ -# { -# "afi": "ipv6", -# "mtu_ignore": True, -# "network": "point-to-point" -# } -# ] -# } -# ], -# "name": "Vlan1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "ip_params": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.6" -# }, -# "hello_interval": 45, -# "retransmit_interval": 100 -# } -# ] -# } -# ], -# "name": "Vlan2" -# } -# ], -# "before": [ -# { -# "name": "Ethernet1" -# }, -# { -# "name": "Ethernet2" -# }, -# { -# "name": "Management1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.50" -# }, -# "cost": 500, -# "dead_interval": 29, -# "hello_interval": 66, -# "mtu_ignore": True -# }, -# { -# "afi": "ipv6", -# "cost": 106, -# "dead_interval": 44, -# "hello_interval": 77, -# "ip_params": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.5" -# }, -# "priority": 45 -# }, -# { -# "afi": "ipv6", -# "mtu_ignore": True, -# "network": "point-to-point", -# "passive_interface": True, -# "retransmit_interval": 115 -# } -# ], -# "transmit_delay": 100 -# } -# ], -# "name": "Vlan1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "ip_params": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.6" -# }, -# "hello_interval": 45, -# "retransmit_interval": 100 -# } -# ] -# } -# ], -# "name": "Vlan2" -# } -# ], -# "changed": True, -# "commands": [ -# "interface Vlan1", -# "no ip ospf cost 500", -# "no ip ospf dead-interval 29", -# "no ip ospf hello-interval 66", -# "no ip ospf mtu-ignore", -# "no ip ospf area 0.0.0.50", -# "ospfv3 cost 44", -# "ospfv3 bfd", -# "ospfv3 authentication ipsec spi 30 md5 passphrase 7 7hl8FV3lZ6H1mAKpjL47hQ==", -# "no ospfv3 ipv4 priority 45", -# "no ospfv3 ipv4 area 0.0.0.5", -# "ospfv3 ipv6 dead-interval 56", -# "no ospfv3 ipv6 passive-interface", -# "no ospfv3 ipv6 retransmit-interval 115", -# "no ospfv3 hello-interval 77", -# "no ospfv3 dead-interval 44", -# "no ospfv3 transmit-delay 100" -# ], -# -# Using overidden: -# ---------------- +# Using overidden -# Before State: +# Before state: +# ------------- # veos(config)#show running-config | section interface | ospf # interface Vlan1 # ip ospf dead-interval 29 @@ -627,25 +528,89 @@ EXAMPLES = """ # ospfv3 ipv4 hello-interval 45 # ospfv3 ipv4 retransmit-interval 100 # ospfv3 ipv4 area 0.0.0.6 -# veos(config)# - - - name: Override device configuration with provided configuration - arista.eos.eos_ospf_interfaces: - config: - - name: "Vlan1" - address_family: - - afi: "ipv6" - cost: 44 - bfd: True - ip_params: - - afi: "ipv6" - mtu_ignore: True - network: "point-to-point" - dead_interval: 56 - state: overridden - -# After State: +- name: Override device configuration with provided configuration + arista.eos.eos_ospf_interfaces: + config: + - name: "Vlan1" + address_family: + - afi: "ipv6" + cost: 44 + bfd: true + ip_params: + - afi: "ipv6" + mtu_ignore: true + network: "point-to-point" + dead_interval: 56 + state: overridden + +# Task output: +# ------------ +# before: +# - address_family: +# - afi: ipv4 +# dead_interval: 29 +# hello_interval: 66 +# mtu_ignore: true +# - afi: ipv6 +# bfd: true +# cost: 106 +# hello_interval: 77 +# ip_params: +# - afi: ipv4 +# area: +# area_id: 0.0.0.5 +# priority: 45 +# - afi: ipv6 +# dead_interval: 56 +# mtu_ignore: true +# network: point-to-point +# passive_interface: true +# retransmit_interval: 115 +# transmit_delay: 100 +# name: Vlan1 +# - address_family: +# - afi: ipv6 +# ip_params: +# - afi: ipv4 +# area: +# area_id: 0.0.0.6 +# hello_interval: 45 +# retransmit_interval: 100 +# name: Vlan2 +# +# commands: +# - interface Vlan2 +# - no ospfv3 ipv4 hello-interval 45 +# - no ospfv3 ipv4 retransmit-interval 100 +# - no ospfv3 ipv4 area 0.0.0.6 +# - interface Vlan1 +# - no ip ospf dead-interval 29 +# - no ip ospf hello-interval 66 +# - no ip ospf mtu-ignore +# - ospfv3 cost 44 +# - ospfv3 authentication ipsec spi 30 md5 passphrase 7 7hl8FV3lZ6H1mAKpjL47hQ== +# - no ospfv3 ipv4 priority 45 +# - no ospfv3 ipv4 area 0.0.0.5 +# - no ospfv3 ipv6 passive-interface +# - no ospfv3 ipv6 retransmit-interval 115 +# - no ospfv3 hello-interval 77 +# - no ospfv3 transmit-delay 100 +# +# after: +# - address_family: +# - afi: ipv6 +# bfd: true +# cost: 44 +# ip_params: +# - afi: ipv6 +# dead_interval: 56 +# mtu_ignore: true +# network: point-to-point +# name: Vlan1 + +# After state: +# ------------ # veos(config)#show running-config | section interface | ospf # interface Vlan1 # ospfv3 bfd @@ -654,133 +619,11 @@ EXAMPLES = """ # ospfv3 ipv6 dead-interval 56 # ospfv3 ipv6 network point-to-point # ospfv3 ipv6 mtu-ignore -# veos(config)# -# -# -# Module Execution: -# -# "after": [ -# { -# "name": "Ethernet1" -# }, -# { -# "name": "Ethernet2" -# }, -# { -# "name": "Management1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "bfd": True, -# "cost": 44, -# "ip_params": [ -# { -# "afi": "ipv6", -# "dead_interval": 56, -# "mtu_ignore": True, -# "network": "point-to-point" -# } -# ] -# } -# ], -# "name": "Vlan1" -# }, -# { -# "name": "Vlan2" -# } -# ], -# "before": [ -# { -# "name": "Ethernet1" -# }, -# { -# "name": "Ethernet2" -# }, -# { -# "name": "Management1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "dead_interval": 29, -# "hello_interval": 66, -# "mtu_ignore": True -# }, -# { -# "afi": "ipv6", -# "bfd": True, -# "cost": 106, -# "hello_interval": 77, -# "ip_params": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.5" -# }, -# "priority": 45 -# }, -# { -# "afi": "ipv6", -# "dead_interval": 56, -# "mtu_ignore": True, -# "network": "point-to-point", -# "passive_interface": True, -# "retransmit_interval": 115 -# } -# ], -# "transmit_delay": 100 -# } -# ], -# "name": "Vlan1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "ip_params": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.6" -# }, -# "hello_interval": 45, -# "retransmit_interval": 100 -# } -# ] -# } -# ], -# "name": "Vlan2" -# } -# ], -# "changed": True, -# "commands": [ -# "interface Vlan2", -# "no ospfv3 ipv4 hello-interval 45", -# "no ospfv3 ipv4 retransmit-interval 100", -# "no ospfv3 ipv4 area 0.0.0.6", -# "interface Vlan1", -# "no ip ospf dead-interval 29", -# "no ip ospf hello-interval 66", -# "no ip ospf mtu-ignore", -# "ospfv3 cost 44", -# "ospfv3 authentication ipsec spi 30 md5 passphrase 7 7hl8FV3lZ6H1mAKpjL47hQ==", -# "no ospfv3 ipv4 priority 45", -# "no ospfv3 ipv4 area 0.0.0.5", -# "no ospfv3 ipv6 passive-interface", -# "no ospfv3 ipv6 retransmit-interval 115", -# "no ospfv3 hello-interval 77", -# "no ospfv3 transmit-delay 100" -# ], -# -# Using deleted: -#-------------- - -# before State: +# Using deleted +# Before state: +# ------------- # veos(config)#show running-config | section interface | ospf # interface Vlan1 # ip ospf dead-interval 29 @@ -802,146 +645,88 @@ EXAMPLES = """ # ospfv3 ipv4 hello-interval 45 # ospfv3 ipv4 retransmit-interval 100 # ospfv3 ipv4 area 0.0.0.6 -# veos(config)# - - name: Delete device configuration - arista.eos.eos_ospf_interfaces: - config: - - name: "Vlan1" - state: deleted - -# After State: +- name: Delete provided ospf interface config + arista.eos.eos_ospf_interfaces: + config: + - name: "Vlan1" + state: deleted +# Task output: +# ------------ +# before: +# - address_family: +# - afi: ipv4 +# dead_interval: 29 +# hello_interval: 66 +# mtu_ignore: true +# - afi: ipv6 +# bfd: true +# cost: 106 +# hello_interval: 77 +# ip_params: +# - afi: ipv4 +# area: +# area_id: 0.0.0.5 +# priority: 45 +# - afi: ipv6 +# dead_interval: 56 +# mtu_ignore: true +# network: point-to-point +# passive_interface: true +# retransmit_interval: 115 +# transmit_delay: 100 +# name: Vlan1 +# - address_family: +# - afi: ipv6 +# ip_params: +# - afi: ipv4 +# area: +# area_id: 0.0.0.6 +# hello_interval: 45 +# retransmit_interval: 100 +# name: Vlan2 + +# commands: +# - interface Vlan1 +# - no ip ospf dead-interval 29 +# - no ip ospf hello-interval 66 +# - no ip ospf mtu-ignore +# - no ospfv3 bfd +# - no ospfv3 cost 106 +# - no ospfv3 hello-interval 77 +# - no ospfv3 transmit-delay 100 +# - no ospfv3 ipv4 priority 45 +# - no ospfv3 ipv4 area 0.0.0.5 +# - no ospfv3 ipv6 passive-interface +# - no ospfv3 ipv6 dead-interval 56 +# - no ospfv3 ipv6 retransmit-interval 115 +# - no ospfv3 ipv6 network point-to-point +# - no ospfv3 ipv6 mtu-ignore +# +# after: +# - address_family: +# - afi: ipv6 +# ip_params: +# - afi: ipv4 +# area: +# area_id: 0.0.0.6 +# hello_interval: 45 +# retransmit_interval: 100 +# name: Vlan2 + +# After state: +# ------------ # veos#show running-config | section interface | ospf # interface Vlan2 # ospfv3 ipv4 hello-interval 45 # ospfv3 ipv4 retransmit-interval 100 # ospfv3 ipv4 area 0.0.0.6 -# -# Module Execution: -# -# "after": [ -# { -# "name": "Ethernet1" -# }, -# { -# "name": "Ethernet2" -# }, -# { -# "name": "Management1" -# }, -# { -# "name": "Vlan1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "ip_params": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.6" -# }, -# "hello_interval": 45, -# "retransmit_interval": 100 -# } -# ] -# } -# ], -# "name": "Vlan2" -# } -# ], -# "before": [ -# { -# "name": "Ethernet1" -# }, -# { -# "name": "Ethernet2" -# }, -# { -# "name": "Management1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "dead_interval": 29, -# "hello_interval": 66, -# "mtu_ignore": True -# }, -# { -# "afi": "ipv6", -# "bfd": True, -# "cost": 106, -# "hello_interval": 77, -# "ip_params": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.5" -# }, -# "priority": 45 -# }, -# { -# "afi": "ipv6", -# "dead_interval": 56, -# "mtu_ignore": True, -# "network": "point-to-point", -# "passive_interface": True, -# "retransmit_interval": 115 -# } -# ], -# "transmit_delay": 100 -# } -# ], -# "name": "Vlan1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "ip_params": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.6" -# }, -# "hello_interval": 45, -# "retransmit_interval": 100 -# } -# ] -# } -# ], -# "name": "Vlan2" -# } -# ], -# "changed": True, -# "commands": [ -# "interface Vlan1", -# "no ip ospf dead-interval 29", -# "no ip ospf hello-interval 66", -# "no ip ospf mtu-ignore", -# "no ospfv3 bfd", -# "no ospfv3 cost 106", -# "no ospfv3 hello-interval 77", -# "no ospfv3 transmit-delay 100", -# "no ospfv3 ipv4 priority 45", -# "no ospfv3 ipv4 area 0.0.0.5", -# "no ospfv3 ipv6 passive-interface", -# "no ospfv3 ipv6 dead-interval 56", -# "no ospfv3 ipv6 retransmit-interval 115", -# "no ospfv3 ipv6 network point-to-point", -# "no ospfv3 ipv6 mtu-ignore" -# ], -# -# Using parsed: -# ------------ +# Using parsed -# parsed.cfg: +# parsed.cfg # ---------- - # interface Vlan1 # ip ospf dead-interval 29 # ip ospf hello-interval 66 @@ -965,73 +750,50 @@ EXAMPLES = """ # ospfv3 ipv4 area 0.0.0.6 # - - name: parse configs - arista.eos.eos_ospf_interfaces: - running_config: "{{ lookup('file', './parsed.cfg') }}" - state: parsed +- name: parse provided config into structured facts + arista.eos.eos_ospf_interfaces: + running_config: "{{ lookup('file', './parsed.cfg') }}" + state: parsed -# Module Execution: -# "parsed": [ -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "cost": 500, -# "dead_interval": 29, -# "hello_interval": 66, -# "mtu_ignore": True -# }, -# { -# "afi": "ipv6", -# "bfd": True, -# "cost": 106, -# "hello_interval": 77, -# "ip_params": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.5" -# }, -# "priority": 45 -# }, -# { -# "afi": "ipv6", -# "dead_interval": 56, -# "mtu_ignore": True, -# "network": "point-to-point", -# "passive_interface": True, -# "retransmit_interval": 115 -# } -# ], -# "transmit_delay": 100 -# } -# ], -# "name": "Vlan1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "ip_params": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.6" -# }, -# "hello_interval": 45, -# "retransmit_interval": 100 -# } -# ] -# } -# ], -# "name": "Vlan2" -# } -# ] +# Task output: +# ------------ +# parsed: +# - address_family: +# - afi: ipv4 +# cost: 500 +# dead_interval: 29 +# hello_interval: 66 +# mtu_ignore: true +# - afi: ipv6 +# bfd: true +# cost: 106 +# hello_interval: 77 +# ip_params: +# - afi: ipv4 +# area: +# area_id: 0.0.0.5 +# priority: 45 +# - afi: ipv6 +# dead_interval: 56 +# mtu_ignore: true +# network: point-to-point +# passive_interface: true +# retransmit_interval: 115 +# transmit_delay: 100 +# name: Vlan1 +# - address_family: +# - afi: ipv6 +# ip_params: +# - afi: ipv4 +# area: +# area_id: 0.0.0.6 +# hello_interval: 45 +# retransmit_interval: 100 +# name: Vlan2 # Using gathered: -# Device COnfig: - +# Device config: # veos#show running-config | section interface | ospf # interface Vlan1 # ip ospf cost 500 @@ -1054,149 +816,155 @@ EXAMPLES = """ # ospfv3 ipv4 hello-interval 45 # ospfv3 ipv4 retransmit-interval 100 # ospfv3 ipv4 area 0.0.0.6 -# veos# - - - name: gather configs - arista.eos.eos_ospf_interfaces: - state: gathered - -# Module Execution: -# -# "gathered": [ -# { -# "name": "Ethernet1" -# }, -# { -# "name": "Ethernet2" -# }, -# { -# "name": "Management1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.50" -# }, -# "cost": 500, -# "dead_interval": 29, -# "hello_interval": 66, -# "mtu_ignore": True -# }, -# { -# "afi": "ipv6", -# "cost": 106, -# "hello_interval": 77, -# "ip_params": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.5" -# }, -# "priority": 45 -# }, -# { -# "afi": "ipv6", -# "dead_interval": 56, -# "mtu_ignore": True, -# "network": "point-to-point", -# "passive_interface": True, -# "retransmit_interval": 115 -# } -# ], -# "transmit_delay": 100 -# } -# ], -# "name": "Vlan1" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "ip_params": [ -# { -# "afi": "ipv4", -# "area": { -# "area_id": "0.0.0.6" -# }, -# "hello_interval": 45, -# "retransmit_interval": 100 -# } -# ] -# } -# ], -# "name": "Vlan2" -# } -# ], -# - -# Using rendered: -# -------------- - - - name: Render provided configuration - arista.eos.eos_ospf_interfaces: - config: - - name: "Vlan1" - address_family: - - afi: "ipv4" - dead_interval: 29 - mtu_ignore: True - hello_interval: 66 - - afi: "ipv6" - hello_interval: 77 - cost : 106 - transmit_delay: 100 - ip_params: - - afi: "ipv6" - retransmit_interval: 115 - dead_interval: 56 - passive_interface: True - - afi: "ipv4" - area: - area_id: "0.0.0.5" - priority: 45 - - name: "Vlan2" - address_family: - - afi: "ipv6" - ip_params: - - afi: "ipv4" - area: - area_id: "0.0.0.6" - hello_interval: 45 - retransmit_interval: 100 - - afi: "ipv4" - message_digest_key: - key_id: 200 - encryption: 7 - key: "hkdfhtu==" - - state: rendered - -# Module Execution: -# -# "rendered": [ -# "interface Vlan1", -# "ip ospf dead-interval 29", -# "ip ospf mtu-ignore", -# "ip ospf hello-interval 66", -# "ospfv3 hello-interval 77", -# "ospfv3 cost 106", -# "ospfv3 transmit-delay 100", -# "ospfv3 ipv4 area 0.0.0.5", -# "ospfv3 ipv4 priority 45", -# "ospfv3 ipv6 retransmit-interval 115", -# "ospfv3 ipv6 dead-interval 56", -# "ospfv3 ipv6 passive-interface", -# "interface Vlan2", -# "ip ospf message-digest-key 200 md5 7 hkdfhtu==", -# "ospfv3 ipv4 area 0.0.0.6", -# "ospfv3 ipv4 hello-interval 45", -# "ospfv3 ipv4 retransmit-interval 100" -# ] -# +- name: gather runnig config + arista.eos.eos_ospf_interfaces: + state: gathered +# Task output: +# ------------ +# gathered: +# - address_family: +# - afi: ipv4 +# area: +# area_id: 0.0.0.50 +# cost: 500 +# dead_interval: 29 +# hello_interval: 66 +# mtu_ignore: true +# - afi: ipv6 +# cost: 106 +# hello_interval: 77 +# ip_params: +# - afi: ipv4 +# area: +# area_id: 0.0.0.5 +# priority: 45 +# - afi: ipv6 +# dead_interval: 56 +# mtu_ignore: true +# network: point-to-point +# passive_interface: true +# retransmit_interval: 115 +# transmit_delay: 100 +# name: Vlan1 +# - address_family: +# - afi: ipv6 +# ip_params: +# - afi: ipv4 +# area: +# area_id: 0.0.0.6 +# hello_interval: 45 +# retransmit_interval: 100 +# name: Vlan2 + +# Using rendered + +- name: Render provided configuration + arista.eos.eos_ospf_interfaces: + config: + - name: "Vlan1" + address_family: + - afi: "ipv4" + dead_interval: 29 + mtu_ignore: true + hello_interval: 66 + - afi: "ipv6" + hello_interval: 77 + cost: 106 + transmit_delay: 100 + ip_params: + - afi: "ipv6" + retransmit_interval: 115 + dead_interval: 56 + passive_interface: true + - afi: "ipv4" + area: + area_id: "0.0.0.5" + priority: 45 + - name: "Vlan2" + address_family: + - afi: "ipv6" + ip_params: + - afi: "ipv4" + area: + area_id: "0.0.0.6" + hello_interval: 45 + retransmit_interval: 100 + - afi: "ipv4" + message_digest_key: + key_id: 200 + encryption: 7 + key: "hkdfhtu==" + + state: rendered + +# Task output: +# ------------ +# rendered: +# - interface Vlan1 +# - ip ospf dead-interval 29 +# - ip ospf mtu-ignore +# - ip ospf hello-interval 66 +# - ospfv3 hello-interval 77 +# - ospfv3 cost 106 +# - ospfv3 transmit-delay 100 +# - ospfv3 ipv4 area 0.0.0.5 +# - ospfv3 ipv4 priority 45 +# - ospfv3 ipv6 retransmit-interval 115 +# - ospfv3 ipv6 dead-interval 56 +# - ospfv3 ipv6 passive-interface +# - interface Vlan2 +# - ip ospf message-digest-key 200 md5 7 hkdfhtu== +# - ospfv3 ipv4 area 0.0.0.6 +# - ospfv3 ipv4 hello-interval 45 +# - ospfv3 ipv4 retransmit-interval 100 +""" +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: list + 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: list + 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 Vlan1 + - ip ospf dead-interval 29 + - ip ospf mtu-ignore +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 Vlan1 + - ip ospf dead-interval 29 + - ip ospf mtu-ignore +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/arista/eos/plugins/modules/eos_ospfv2.py b/ansible_collections/arista/eos/plugins/modules/eos_ospfv2.py index 470efb023..ae2610371 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_ospfv2.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_ospfv2.py @@ -186,7 +186,7 @@ options: description: Interface range. type: str default: - description: If True, Set all interfaces to passive by default + description: If true, Set all interfaces to passive by default type: bool point_to_point: description: Configure Point-to-point specific features. @@ -385,7 +385,7 @@ options: description: Configure the default metric for redistributed routes type: int dn_bit_ignore: - description: If True, Disable dn-bit check for Type-3 LSAs in non-default + description: If true, Disable dn-bit check for Type-3 LSAs in non-default VRFs. type: bool graceful_restart: @@ -400,7 +400,7 @@ options: description: When true sets the grace_fulrestart config alone. type: bool graceful_restart_helper: - description: If True, Enable graceful restart helper. + description: If true, Enable graceful restart helper. type: bool shutdown: description: Disable the OSPF instance. @@ -525,82 +525,168 @@ EXAMPLES = """ # Using merged # Before state: -# ------------ +# ------------- # localhost#show running-config | section ospf # localhost# - - name: replace Ospf configs - arista.eos.eos_ospfv2: - config: - - processes: - - process_id: 1 - adjacency: - exchange_start: - threshold: 20045623 - areas: - - filter: - address: "10.1.1.0/24" - id: "0.0.0.2" - - id: "0.0.0.50" - range: - address: "172.20.0.0/16" - cost: 34 - default_information: - metric: 100 - metric_type: 1 - originate: True - distance: - intra_area: 85 - max_lsa: - count: 8000 - ignore_count: 3 - ignore_time: 6 - reset_time: 20 - threshold: 40 - networks: - - area: "0.0.0.0" - prefix: 10.10.2.0/24 - - area: "0.0.0.0" - prefix: "10.10.3.0/24" - redistribute: - - routes: "static" - router_id: "170.21.0.4" - - process_id: 2 - vrf: "vrf01" - areas: - - id: "0.0.0.9" - default_cost: 20 - max_lsa: - count: 8000 - ignore_count: 3 - ignore_time: 6 - reset_time: 20 - threshold: 40 - networks: - - area: "0.0.0.0" - prefix: 10.10.2.0/24 - - area: "0.0.0.0" - prefix: "10.10.3.0/24" - redistribute: - - routes: "static" - router_id: "170.21.0.4" - - process_id: 2 - vrf: "vrf01" - areas: - - id: "0.0.0.9" - default_cost: 20 - max_lsa: - count: 8000 - ignore_count: 3 - ignore_time: 6 - reset_time: 20 - threshold: 40 - - process_id: 3 - vrf: "vrf02" - redistribute: - - routes: "connected" +- name: Merge provided config into running config + arista.eos.eos_ospfv2: + config: + - processes: + - process_id: 1 + adjacency: + exchange_start: + threshold: 20045623 + areas: + - filter: + address: "10.1.1.0/24" + id: "0.0.0.2" + - id: "0.0.0.50" + range: + address: "172.20.0.0/16" + cost: 34 + default_information: + metric: 100 + metric_type: 1 + originate: true + distance: + intra_area: 85 + max_lsa: + count: 8000 + ignore_count: 3 + ignore_time: 6 + reset_time: 20 + threshold: 40 + networks: + - area: "0.0.0.0" + prefix: 10.10.2.0/24 + - area: "0.0.0.0" + prefix: "10.10.3.0/24" + redistribute: + - routes: "static" + router_id: "170.21.0.4" + - process_id: 2 + vrf: "vrf01" + areas: + - id: "0.0.0.9" + default_cost: 20 + max_lsa: + count: 8000 + ignore_count: 3 + ignore_time: 6 + reset_time: 20 + threshold: 40 + networks: + - area: "0.0.0.0" + prefix: 10.10.2.0/24 + - area: "0.0.0.0" + prefix: "10.10.3.0/24" + redistribute: + - routes: "static" + router_id: "170.21.0.4" + - process_id: 2 + vrf: "vrf01" + areas: + - id: "0.0.0.9" + default_cost: 20 + max_lsa: + count: 8000 + ignore_count: 3 + ignore_time: 6 + reset_time: 20 + threshold: 40 + - process_id: 3 + vrf: "vrf02" + redistribute: + - routes: "connected" + +# Task output: +# ------------ +# before: {} + +# commands +# - router ospf 1 +# - adjacency exchange-start threshold 20045623 +# - area 0.0.0.2 filter 10.1.1.0/24 +# - area 0.0.0.50 range 172.20.0.0/16 cost 34 +# - default-information originate metric 100 metric-type 1 +# - distance ospf intra-area 85 +# - max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20 +# - network 10.10.2.0/24 area 0.0.0.0 +# - network 10.10.3.0/24 area 0.0.0.0 +# - redistribute static +# - router-id 170.21.0.4 +# - exit +# - router ospf 2 vrf vrf01 +# - area 0.0.0.9 default-cost 20 +# - max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20 +# - network 10.10.2.0/24 area 0.0.0.0 +# - network 10.10.3.0/24 area 0.0.0.0 +# - redistribute static +# - router-id 170.21.0.4 +# - exit +# - router ospf 2 vrf vrf01 +# - area 0.0.0.9 default-cost 20 +# - max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20 +# - exit +# - router ospf 3 vrf vrf02 +# - redistribute connected +# - exit +# +# after: +# processes: +# - adjacency: +# exchange_start: +# threshold: 20045623 +# areas: +# - area_id: 0.0.0.2 +# filter: +# address: 10.1.1.0/24 +# - area_id: 0.0.0.50 +# range: +# address: 172.20.0.0/16 +# cost: 34 +# default_information: +# metric: 100 +# metric_type: 1 +# originate: true +# distance: +# intra_area: 85 +# max_lsa: +# count: 8000 +# ignore_count: 3 +# ignore_time: 6 +# reset_time: 20 +# threshold: 40 +# networks: +# - area: 0.0.0.0 +# prefix: 10.10.2.0/24 +# - area: 0.0.0.0 +# prefix: 10.10.3.0/24 +# process_id: 1 +# redistribute: +# - routes: static +# router_id: 170.21.0.4 +# - areas: +# - area_id: 0.0.0.9 +# default_cost: 20 +# max_lsa: +# count: 8000 +# ignore_count: 3 +# ignore_time: 6 +# reset_time: 20 +# threshold: 40 +# process_id: 2 +# vrf: vrf01 +# - max_lsa: +# count: 12000 +# process_id: 3 +# redistribute: +# - routes: connected +# vrf: vrf02 # After state: +# ------------ # localhost#show running-config | section ospf # router ospf 1 # router-id 170.21.0.4 @@ -621,103 +707,11 @@ EXAMPLES = """ # router ospf 3 vrf vrf02 # redistribute connected # max-lsa 12000 -# localhost# -# -# "processes": [ -# { -# "adjacency": { -# "exchange_start": { -# "threshold": 20045623 -# } -# }, -# "areas": [ -# { -# "filter": { -# "address": "10.1.1.0/24" -# }, -# "id": "0.0.0.2" -# }, -# { -# "id": "0.0.0.50", -# "range": { -# "address": "172.20.0.0/16", -# "cost": 34 -# } -# } -# ], -# "default_information": { -# "metric": 100, -# "metric_type": 1, -# "originate": true -# }, -# "distance": { -# "intra_area": 85 -# }, -# "max_lsa": { -# "count": 8000, -# "ignore_count": 3, -# "ignore_time": 6, -# "reset_time": 20, -# "threshold": 40 -# }, -# "networks": [ -# { -# "area": "0.0.0.0", -# "prefix": "10.10.2.0/24" -# }, -# { -# "area": "0.0.0.0", -# "prefix": "10.10.3.0/24" -# } -# ], -# "process_id": 1, -# "redistribute": [ -# { -# "routes": "static" -# } -# ], -# "router_id": "170.21.0.4" -# }, -# { -# "areas": [ -# { -# "default_cost": 20, -# "id": "0.0.0.9" -# } -# ], -# "max_lsa": { -# "count": 8000, -# "ignore_count": 3, -# "ignore_time": 6, -# "reset_time": 20, -# "threshold": 40 -# }, -# "process_id": 2, -# "vrf": "vrf01" -# }, -# { -# "max_lsa": { -# "count": 12000 -# }, -# "process_id": 3, -# "redistribute": [ -# { -# "routes": "connected" -# } -# ], -# "vrf": "vrf02" -# } -# ] -# } -# ] -# - -# Using replaced: -# -------------- +# Using replaced # Before State: - +# ------------- # localhost#show running-config | section ospf # router ospf 1 # router-id 170.21.0.4 @@ -738,210 +732,130 @@ EXAMPLES = """ # router ospf 3 vrf vrf02 # redistribute connected # max-lsa 12000 -# localhost# # -# "before": [ -# { -# "processes": [ -# { -# "adjacency": { -# "exchange_start": { -# "threshold": 20045623 -# } -# }, -# "areas": [ -# { -# "filter": { -# "address": "10.1.1.0/24" -# }, -# "id": "0.0.0.2" -# }, -# { -# "id": "0.0.0.50", -# "range": { -# "address": "172.20.0.0/16", -# "cost": 34 -# } -# } -# ], -# "default_information": { -# "metric": 100, -# "metric_type": 1, -# "originate": true -# }, -# "distance": { -# "intra_area": 85 -# }, -# "max_lsa": { -# "count": 8000, -# "ignore_count": 3, -# "ignore_time": 6, -# "reset_time": 20, -# "threshold": 40 -# }, -# "networks": [ -# { -# "area": "0.0.0.0", -# "prefix": "10.10.2.0/24" -# }, -# { -# "area": "0.0.0.0", -# "prefix": "10.10.3.0/24" -# } -# ], -# "process_id": 1, -# "redistribute": [ -# { -# "routes": "static" -# } -# ], -# "router_id": "170.21.0.4" -# }, -# { -# "areas": [ -# { -# "default_cost": 20, -# "id": "0.0.0.9" -# } -# ], -# "max_lsa": { -# "count": 8000, -# "ignore_count": 3, -# "ignore_time": 6, -# "reset_time": 20, -# "threshold": 40 -# }, -# "process_id": 2, -# "vrf": "vrf01" -# }, -# { -# "max_lsa": { -# "count": 12000 -# }, -# "process_id": 3, -# "redistribute": [ -# { -# "routes": "connected" -# } -# ], -# "vrf": "vrf02" -# } -# ] -# } -# ] -# - - name: replace Ospf configs - arista.eos.eos_ospfv2: - config: - - processes: - - process_id: 2 - vrf: "vrf01" - point_to_point: True - redistribute: - - routes: "isis" - isis_level: "level-1" - - state: replaced +- name: replace Ospf configs + arista.eos.eos_ospfv2: + config: + - processes: + - process_id: 2 + vrf: "vrf01" + point_to_point: true + redistribute: + - routes: "isis" + isis_level: "level-1" + state: replaced -# After State: -# ----------- -# "router ospf 2 vrf vrf01", -# "no area 0.0.0.9 default-cost 20", -# "no max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20", -# "point-to-point routes", -# "redistribute isis level-1" +# Task output: +# ------------ +# before: +# processes: +# - adjacency: +# exchange_start: +# threshold: 20045623 +# areas: +# - area_id: 0.0.0.2 +# filter: +# address: 10.1.1.0/24 +# - area_id: 0.0.0.50 +# range: +# address: 172.20.0.0/16 +# cost: 34 +# default_information: +# metric: 100 +# metric_type: 1 +# originate: true +# distance: +# intra_area: 85 +# max_lsa: +# count: 8000 +# ignore_count: 3 +# ignore_time: 6 +# reset_time: 20 +# threshold: 40 +# networks: +# - area: 0.0.0.0 +# prefix: 10.10.2.0/24 +# - area: 0.0.0.0 +# prefix: 10.10.3.0/24 +# process_id: 1 +# redistribute: +# - routes: static +# router_id: 170.21.0.4 +# - areas: +# - area_id: 0.0.0.9 +# default_cost: 20 +# max_lsa: +# count: 8000 +# ignore_count: 3 +# ignore_time: 6 +# reset_time: 20 +# threshold: 40 +# process_id: 2 +# vrf: vrf01 +# - max_lsa: +# count: 12000 +# process_id: 3 +# redistribute: +# - routes: connected +# vrf: vrf02 # -# "after": [ -# { -# "processes": [ -# { -# "adjacency": { -# "exchange_start": { -# "threshold": 20045623 -# } -# }, -# "areas": [ -# { -# "filter": { -# "address": "10.1.1.0/24" -# }, -# "id": "0.0.0.2" -# }, -# { -# "id": "0.0.0.50", -# "range": { -# "address": "172.20.0.0/16", -# "cost": 34 -# } -# } -# ], -# "default_information": { -# "metric": 100, -# "metric_type": 1, -# "originate": true -# }, -# "distance": { -# "intra_area": 85 -# }, -# "max_lsa": { -# "count": 8000, -# "ignore_count": 3, -# "ignore_time": 6, -# "reset_time": 20, -# "threshold": 40 -# }, -# "networks": [ -# { -# "area": "0.0.0.0", -# "prefix": "10.10.2.0/24" -# }, -# { -# "area": "0.0.0.0", -# "prefix": "10.10.3.0/24" -# } -# ], -# "process_id": 1, -# "redistribute": [ -# { -# "routes": "static" -# } -# ], -# "router_id": "170.21.0.4" -# }, -# { -# "max_lsa": { -# "count": 12000 -# }, -# "process_id": 2, -# "redistribute": [ -# { -# "isis_level": "level-1", -# "routes": "isis" -# } -# ], -# "vrf": "vrf01" -# }, -# { -# "max_lsa": { -# "count": 12000 -# }, -# "process_id": 3, -# "redistribute": [ -# { -# "routes": "connected" -# } -# ], -# "vrf": "vrf02" -# } -# ] -# } -# ] +# commands: +# - router ospf 2 vrf vrf01 +# - no area 0.0.0.9 default-cost 20 +# - no max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20 +# - point-to-point routes +# - redistribute isis level-1 # +# after: +# processes: +# - adjacency: +# exchange_start: +# threshold: 20045623 +# areas: +# - area_id: 0.0.0.2 +# filter: +# address: 10.1.1.0/24 +# - area_id: 0.0.0.50 +# range: +# address: 172.20.0.0/16 +# cost: 34 +# default_information: +# metric: 100 +# metric_type: 1 +# originate: true +# distance: +# intra_area: 85 +# max_lsa: +# count: 8000 +# ignore_count: 3 +# ignore_time: 6 +# reset_time: 20 +# threshold: 40 +# networks: +# - area: 0.0.0.0 +# prefix: 10.10.2.0/24 +# - area: 0.0.0.0 +# prefix: 10.10.3.0/24 +# process_id: 1 +# redistribute: +# - routes: static +# router_id: 170.21.0.4 +# - max_lsa: +# count: 12000 +# process_id: 2 +# redistribute: +# - isis_level: level-1 +# routes: isis +# vrf: vrf01 +# - max_lsa: +# count: 12000 +# process_id: 3 +# redistribute: +# - routes: connected +# vrf: vrf02 -# Using overridden: -# ---------------- - -# Before State: +# After state: +# ------------ # localhost#show running-config | section ospf # router ospf 1 # router-id 170.21.0.4 @@ -962,135 +876,123 @@ EXAMPLES = """ # router ospf 3 vrf vrf02 # redistribute connected # max-lsa 12000 -# localhost# -# -# "before": [ -# { -# "processes": [ -# { -# "adjacency": { -# "exchange_start": { -# "threshold": 20045623 -# } -# }, -# "areas": [ -# { -# "filter": { -# "address": "10.1.1.0/24" -# }, -# "id": "0.0.0.2" -# }, -# { -# "id": "0.0.0.50", -# "range": { -# "address": "172.20.0.0/16", -# "cost": 34 -# } -# } -# ], -# "default_information": { -# "metric": 100, -# "metric_type": 1, -# "originate": true -# }, -# "distance": { -# "intra_area": 85 -# }, -# "max_lsa": { -# "count": 8000, -# "ignore_count": 3, -# "ignore_time": 6, -# "reset_time": 20, -# "threshold": 40 -# }, -# "networks": [ -# { -# "area": "0.0.0.0", -# "prefix": "10.10.2.0/24" -# }, -# { -# "area": "0.0.0.0", -# "prefix": "10.10.3.0/24" -# } -# ], -# "process_id": 1, -# "redistribute": [ -# { -# "routes": "static" -# } -# ], -# "router_id": "170.21.0.4" -# }, -# { -# "max_lsa": { -# "count": 12000 -# }, -# "process_id": 2, -# "redistribute": [ -# { -# "isis_level": "level-1", -# "routes": "isis" -# } -# ], -# "vrf": "vrf01" -# }, -# { -# "max_lsa": { -# "count": 12000 -# }, -# "process_id": 3, -# "redistribute": [ -# { -# "routes": "connected" -# } -# ], -# "vrf": "vrf02" -# } -# ] -# } -# ] - - name: override Ospf configs - arista.eos.eos_ospfv2: - config: - - processes: - - process_id: 2 - vrf: "vrf01" - redistribute: - - routes: "connected" +# Using overridden + +# Before state: +# ------------- +# localhost#show running-config | section ospf +# router ospf 1 +# router-id 170.21.0.4 +# distance ospf intra-area 85 +# redistribute static +# area 0.0.0.2 filter 10.1.1.0/24 +# area 0.0.0.50 range 172.20.0.0/16 cost 34 +# network 10.10.2.0/24 area 0.0.0.0 +# network 10.10.3.0/24 area 0.0.0.0 +# max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20 +# adjacency exchange-start threshold 20045623 +# default-information originate metric 100 metric-type 1 +# ! +# router ospf 2 vrf vrf01 +# redistribute isis level-1 +# max-lsa 12000 +# ! +# router ospf 3 vrf vrf02 +# redistribute connected +# max-lsa 12000 - state: override +- name: override running config with provided config + arista.eos.eos_ospfv2: + config: + - processes: + - process_id: 2 + vrf: "vrf01" + redistribute: + - routes: "connected" + state: overriden -# After State: +# Task output: +# ------------ -# "no router ospf 1", -# "no router ospf 3", -# "router ospf 2 vrf vrf01", -# "no max-lsa 12000", -# "no redistribute isis level-1", -# "redistribute connected" +# before: +# processes: +# - adjacency: +# exchange_start: +# threshold: 20045623 +# areas: +# - area_id: 0.0.0.2 +# filter: +# address: 10.1.1.0/24 +# - area_id: 0.0.0.50 +# range: +# address: 172.20.0.0/16 +# cost: 34 +# default_information: +# metric: 100 +# metric_type: 1 +# originate: true +# distance: +# intra_area: 85 +# max_lsa: +# count: 8000 +# ignore_count: 3 +# ignore_time: 6 +# reset_time: 20 +# threshold: 40 +# networks: +# - area: 0.0.0.0 +# prefix: 10.10.2.0/24 +# - area: 0.0.0.0 +# prefix: 10.10.3.0/24 +# process_id: 1 +# redistribute: +# - routes: static +# router_id: 170.21.0.4 +# - max_lsa: +# count: 12000 +# process_id: 2 +# redistribute: +# - isis_level: level-1 +# routes: isis +# vrf: vrf01 +# - max_lsa: +# count: 12000 +# process_id: 3 +# redistribute: +# - routes: connected +# vrf: vrf02 +# +# commands: +# - no router ospf 1 +# - no router ospf 3 +# - router ospf 2 vrf vrf01 +# - no max-lsa 12000 +# - no redistribute isis level-1 +# - redistribute connected # -# "after": [ -# { -# "processes": [ -# { -# "max_lsa": { -# "count": 12000 -# }, -# "process_id": 2, -# "redistribute": [ -# { -# "routes": "connected" -# } -# ], -# "vrf": "vrf01" -# } -# ] -# } -# ] +# after: +# processes: +# - max_lsa: +# count: 12000 +# process_id: 2 +# redistribute: +# - isis_level: level-1 +# routes: isis +# vrf: vrf01 -# Using Deleted: +# After state: +# ------------ +# localhost#show running-config | section ospf +# router ospf 2 vrf vrf01 +# redistribute isis level-1 +# max-lsa 12000 +# ! + +# Using deleted +# Before state: +# ------------- # localhost#show running-config | section ospf # router ospf 1 # router-id 170.21.0.4 @@ -1112,157 +1014,108 @@ EXAMPLES = """ # router ospf 3 vrf vrf02 # redistribute connected # max-lsa 12000 -# localhost# # -# "before": [ -# { -# "processes": [ -# { -# "adjacency": { -# "exchange_start": { -# "threshold": 20045623 -# } -# }, -# "areas": [ -# { -# "filter": { -# "address": "10.1.1.0/24" -# }, -# "id": "0.0.0.2" -# }, -# { -# "id": "0.0.0.50", -# "range": { -# "address": "172.20.0.0/16", -# "cost": 34 -# } -# } -# ], -# "default_information": { -# "metric": 100, -# "metric_type": 1, -# "originate": true -# }, -# "distance": { -# "intra_area": 85 -# }, -# "max_lsa": { -# "count": 8000, -# "ignore_count": 3, -# "ignore_time": 6, -# "reset_time": 20, -# "threshold": 40 -# }, -# "networks": [ -# { -# "area": "0.0.0.0", -# "prefix": "10.10.2.0/24" -# }, -# { -# "area": "0.0.0.0", -# "prefix": "10.10.3.0/24" -# } -# ], -# "process_id": 1, -# "redistribute": [ -# { -# "routes": "static" -# } -# ], -# "router_id": "170.21.0.4" -# }, -# { -# "areas": [ -# { -# "default_cost": 20, -# "id": "0.0.0.9" -# } -# ], -# "max_lsa": { -# "count": 8000, -# "ignore_count": 3, -# "ignore_time": 6, -# "reset_time": 20, -# "threshold": 40 -# }, -# "process_id": 2, -# "redistribute": [ -# { -# "routes": "connected" -# } -# ], -# "vrf": "vrf01" -# }, -# { -# "max_lsa": { -# "count": 12000 -# }, -# "process_id": 3, -# "redistribute": [ -# { -# "routes": "connected" -# } -# ], -# "vrf": "vrf02" -# } -# ] -# } -# ] - - - name: Delete Ospf configs - arista.eos.eos_ospfv2: - config: - - processes: - - process_id: 1 - - state: deleted +- name: Delete OSPF config + arista.eos.eos_ospfv2: + config: + processes: + - process_id: 1 + state: deleted -# After State: -# Commands: -# "no router ospf 1" +# Task output: +# ------------ +# before: +# processes: +# - adjacency: +# exchange_start: +# threshold: 20045623 +# areas: +# - area_id: 0.0.0.2 +# filter: +# address: 10.1.1.0/24 +# - area_id: 0.0.0.50 +# range: +# address: 172.20.0.0/16 +# cost: 34 +# default_information: +# metric: 100 +# metric_type: 1 +# originate: true +# distance: +# intra_area: 85 +# max_lsa: +# count: 8000 +# ignore_count: 3 +# ignore_time: 6 +# reset_time: 20 +# threshold: 40 +# networks: +# - area: 0.0.0.0 +# prefix: 10.10.2.0/24 +# - area: 0.0.0.0 +# prefix: 10.10.3.0/24 +# process_id: 1 +# redistribute: +# - routes: static +# router_id: 170.21.0.4 +# - areas: +# - area_id: 0.0.0.9 +# default_cost: 20 +# max_lsa: +# count: 8000 +# ignore_count: 3 +# ignore_time: 6 +# reset_time: 20 +# threshold: 40 +# process_id: 2 +# redistribute: +# - routes: connected +# vrf: vrf01 +# - max_lsa: +# count: 12000 +# process_id: 3 +# redistribute: +# - routes: connected +# vrf: vrf02 +# +# commands: +# - no router ospf 1 +# +# after: +# processes: +# - areas: +# - area_id: 0.0.0.9 +# default_cost: 20 +# max_lsa: +# count: 8000 +# ignore_count: 3 +# ignore_time: 6 +# reset_time: 20 +# threshold: 40 +# process_id: 2 +# redistribute: +# - routes: connected +# vrf: vrf01 +# - max_lsa: +# count: 12000 +# process_id: 3 +# redistribute: +# - routes: connected +# vrf: vrf02 -# "after": [ -# { -# "processes": [ -# { -# "areas": [ -# { -# "default_cost": 20, -# "id": "0.0.0.9" -# } -# ], -# "max_lsa": { -# "count": 8000, -# "ignore_count": 3, -# "ignore_time": 6, -# "reset_time": 20, -# "threshold": 40 -# }, -# "process_id": 2, -# "redistribute": [ -# { -# "routes": "connected" -# } -# ], -# "vrf": "vrf01" -# }, -# { -# "max_lsa": { -# "count": 12000 -# }, -# "process_id": 3, -# "redistribute": [ -# { -# "routes": "connected" -# } -# ], -# "vrf": "vrf02" -# } -# ] -# } -# ] +# After state: +# ------------ +# localhost#show running-config | section ospf +# router ospf 2 vrf vrf01 +# redistribute connected +# area 0.0.0.9 default-cost 20 +# max-lsa 8000 40 ignore-time 6 ignore-count 3 reset-time 20 +# ! +# router ospf 3 vrf vrf02 +# redistribute connected +# max-lsa 12000 -# Using gathered: +# Using gathered # localhost#show running-config | section ospf # router ospf 2 vrf vrf01 # redistribute connected @@ -1272,54 +1125,36 @@ EXAMPLES = """ # router ospf 3 vrf vrf02 # redistribute connected # max-lsa 12000 -# localhost# - - name: replace Ospf configs - arista.eos.eos_ospfv2: - state: gathered +- name: replace Ospf configs + arista.eos.eos_ospfv2: + state: gathered -# "gathered": [ -# { -# "processes": [ -# { -# "areas": [ -# { -# "default_cost": 20, -# "id": "0.0.0.9" -# } -# ], -# "max_lsa": { -# "count": 8000, -# "ignore_count": 3, -# "ignore_time": 6, -# "reset_time": 20, -# "threshold": 40 -# }, -# "process_id": 2, -# "redistribute": [ -# { -# "routes": "connected" -# } -# ], -# "vrf": "vrf01" -# }, -# { -# "max_lsa": { -# "count": 12000 -# }, -# "process_id": 3, -# "redistribute": [ -# { -# "routes": "connected" -# } -# ], -# "vrf": "vrf02" -# } -# ] -# } -# ] +# Task output: +# ------------ +# gathered: +# processes: +# - areas: +# - area_id: 0.0.0.9 +# default_cost: 20 +# max_lsa: +# count: 8000 +# ignore_count: 3 +# ignore_time: 6 +# reset_time: 20 +# threshold: 40 +# process_id: 2 +# redistribute: +# - routes: connected +# vrf: vrf01 +# - max_lsa: +# count: 12000 +# process_id: 3 +# redistribute: +# - routes: connected +# vrf: vrf02 -# Using parsed: +# Using parsed # ------------ # parsed.cfg @@ -1340,185 +1175,211 @@ EXAMPLES = """ # router ospf 3 vrf vrf02 # redistribute static - - name: Parse Ospf configs - arista.eos.eos_ospfv2: - running_config: "{{ lookup('file', './parsed.cfg') }}" - state: parsed +- name: Parse running config and display structured facts + arista.eos.eos_ospfv2: + running_config: "{{ lookup('file', './parsed.cfg') }}" + state: parsed -# "parsed": [ -# { -# "processes": [ -# { -# "adjacency": { -# "exchange_start": { -# "threshold": 20045623 -# } -# }, -# "areas": [ -# { -# "filter": { -# "address": "10.1.1.0/24" -# }, -# "id": "0.0.0.2" -# }, -# { -# "id": "0.0.0.50", -# "range": { -# "address": "172.20.0.0/16", -# "cost": 34 -# } -# } -# ], -# "default_information": { -# "metric": 100, -# "metric_type": 1, -# "originate": true -# }, -# "distance": { -# "intra_area": 85 -# }, -# "max_lsa": { -# "count": 80000, -# "ignore_count": 3, -# "ignore_time": 6, -# "reset_time": 20, -# "threshold": 40 -# }, -# "networks": [ -# { -# "area": "0.0.0.0", -# "prefix": "10.10.2.0/24" -# }, -# { -# "area": "0.0.0.0", -# "prefix": "10.10.3.0/24" -# } -# ], -# "process_id": 1, -# "redistribute": [ -# { -# "routes": "static" -# } -# ], -# "router_id": "170.21.0.4" -# }, -# { -# "areas": [ -# { -# "default_cost": 20, -# "id": "0.0.0.9" -# } -# ], -# "max_lsa": { -# "count": 80000, -# "ignore_count": 3, -# "ignore_time": 6, -# "reset_time": 20, -# "threshold": 40 -# }, -# "process_id": 2, -# "vrf": "vrf01," -# }, -# { -# "process_id": 3, -# "redistribute": [ -# { -# "routes": "static" -# } -# ], -# "vrf": "vrf02" -# } -# ] -# } -# ] - -# Using rendered: -# -------------- +# Task output: +# ------------ +# parsed: +# processes: +# - adjacency: +# exchange_start: +# threshold: 20045623 +# areas: +# - area_id: 0.0.0.2 +# filter: +# address: 10.1.1.0/24 +# - area_id: 0.0.0.50 +# range: +# address: 172.20.0.0/16 +# cost: 34 +# default_information: +# metric: 100 +# metric_type: 1 +# originate: true +# distance: +# intra_area: 85 +# max_lsa: +# count: 80000 +# ignore_count: 3 +# ignore_time: 6 +# reset_time: 20 +# threshold: 40 +# networks: +# - area: 0.0.0.0 +# prefix: 10.10.2.0/24 +# - area: 0.0.0.0 +# prefix: 10.10.3.0/24 +# process_id: 1 +# redistribute: +# - routes: static +# router_id: 170.21.0.4 +# - areas: +# - area_id: 0.0.0.9 +# default_cost: 20 +# max_lsa: +# count: 80000 +# ignore_count: 3 +# ignore_time: 6 +# reset_time: 20 +# threshold: 40 +# process_id: 2 +# vrf: vrf01, +# - process_id: 3 +# redistribute: +# - routes: static +# vrf: vrf02 - - name: replace Ospf configs - arista.eos.eos_ospfv2: - config: - - processes: - - process_id: 1 - adjacency: - exchange_start: - threshold: 20045623 - areas: - - filter: - address: 10.1.1.0/24 - id: 0.0.0.2 - - id: 0.0.0.50 - range: - address: 172.20.0.0/16 - cost: 34 - default_information: - metric: 100 - metric_type: 1 - originate: true - distance: - intra_area: 85 - max_lsa: - count: 8000 - ignore_count: 3 - ignore_time: 6 - reset_time: 20 - threshold: 40 - networks: - - area: 0.0.0.0 - prefix: 10.10.2.0/24 - - area: 0.0.0.0 - prefix: 10.10.3.0/24 - redistribute: - - routes: static - router_id: 170.21.0.4 - state: rendered +# Using rendered -# "rendered": [ -# "router ospf 1", -# "adjacency exchange-start threshold 20045623", -# "area 0.0.0.2 filter 10.1.1.0/24", -# "area 0.0.0.50 range 172.20.0.0/16 cost 34", -# "default-information originate metric 100 metric-type 1", -# "distance ospf intra-area 85", -# "max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20", -# "network 10.10.2.0/24 area 0.0.0.0", -# "network 10.10.3.0/24 area 0.0.0.0", -# "redistribute static", -# "router-id 170.21.0.4" -# ] -# +- name: replace Ospf configs + arista.eos.eos_ospfv2: + config: + processes: + - process_id: 1 + adjacency: + exchange_start: + threshold: 20045623 + areas: + - filter: + address: "10.1.1.0/24" + area_id: "0.0.0.2" + - area_id: "0.0.0.50" + range: + address: "172.20.0.0/16" + cost: 34 + default_information: + metric: 100 + metric_type: 1 + originate: true + distance: + intra_area: 85 + max_lsa: + count: 8000 + ignore_count: 3 + ignore_time: 6 + reset_time: 20 + threshold: 40 + networks: + - area: "0.0.0.0" + prefix: 10.10.2.0/24 + - area: "0.0.0.0" + prefix: "10.10.3.0/24" + redistribute: + - routes: "static" + router_id: "170.21.0.4" + - process_id: 2 + vrf: "vrf01" + areas: + - area_id: "0.0.0.9" + default_cost: 20 + max_lsa: + count: 8000 + ignore_count: 3 + ignore_time: 6 + reset_time: 20 + threshold: 40 + networks: + - area: "0.0.0.0" + prefix: 10.10.2.0/24 + - area: "0.0.0.0" + prefix: "10.10.3.0/24" + redistribute: + - routes: "static" + router_id: "170.21.0.4" + - process_id: 2 + vrf: "vrf01" + areas: + - area_id: "0.0.0.9" + default_cost: 20 + max_lsa: + count: 8000 + ignore_count: 3 + ignore_time: 6 + reset_time: 20 + threshold: 40 + - process_id: 3 + vrf: "vrf02" + redistribute: + - routes: "connected" + state: rendered +# rendered: +# - router ospf 1 +# - adjacency exchange-start threshold 20045623 +# - area 0.0.0.2 filter 10.1.1.0/24 +# - area 0.0.0.50 range 172.20.0.0/16 cost 34 +# - default-information originate metric 100 metric-type 1 +# - distance ospf intra-area 85 +# - max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20 +# - network 10.10.2.0/24 area 0.0.0.0 +# - network 10.10.3.0/24 area 0.0.0.0 +# - redistribute static +# - router-id 170.21.0.4 +# - exit +# - router ospf 2 vrf vrf01 +# - area 0.0.0.9 default-cost 20 +# - max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20 +# - network 10.10.2.0/24 area 0.0.0.0 +# - network 10.10.3.0/24 area 0.0.0.0 +# - redistribute static +# - router-id 170.21.0.4 +# - exit +# - router ospf 2 vrf vrf01 +# - area 0.0.0.9 default-cost 20 +# - max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20 +# - exit +# - router ospf 3 vrf vrf02 +# - redistribute connected +# - exit """ 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: dict sample: > - The configuration returned will always be in the same format - of the parameters above. - type: list + 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: dict sample: > - The configuration returned will always be in the same format - of the parameters above. - type: list + 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: ["router ospf 1", - "adjacency exchange-start threshold 20045623", - "area 0.0.0.2 filter 10.1.1.0/24", - "area 0.0.0.50 range 172.20.0.0/16 cost 34", - "default-information originate metric 100 metric-type 1", - "distance ospf intra-area 85", - "max-lsa 8000 40 ignore-count 3 ignore-time 6 reset-time 20", - "network 10.10.2.0/24 area 0.0.0.0", - "network 10.10.3.0/24 area 0.0.0.0", - "redistribute static", - "router-id 170.21.0.4"] + sample: + - router ospf 1 + - adjacency exchange-start threshold 20045623 + - area 0.0.0.2 filter 10.1.1.0/24 +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 1 + - adjacency exchange-start threshold 20045623 + - area 0.0.0.2 filter 10.1.1.0/24 +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/arista/eos/plugins/modules/eos_ospfv3.py b/ansible_collections/arista/eos/plugins/modules/eos_ospfv3.py index 8c1845262..c1194f767 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_ospfv3.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_ospfv3.py @@ -97,10 +97,10 @@ options: type: str choices: ['md5', 'sha1'] encrypt_key: - description: If False, key string is not encrypted + description: If false, key string is not encrypted type: bool hidden_key: - description: If True, Specifies that a HIDDEN key will follow. + description: If true, Specifies that a HIDDEN key will follow. type: bool key: description: 128 bit MD5 key or 140 bit SHA1 key. @@ -124,10 +124,10 @@ options: type: str choices: ['sha1', 'md5'] encrypt_key: - description: If False, key string is not encrypted + description: If false, key string is not encrypted type: bool hidden_key: - description: If True, Specifies that a HIDDEN key will follow. + description: If true, Specifies that a HIDDEN key will follow. type: bool key: description: 128 bit MD5 key or 140 bit SHA1 key. @@ -153,7 +153,7 @@ options: description: Limit default advertisement to this NSSA area. type: bool set: - description: True if only default information orignate is set + description: true if only default information orignate is set type: bool no_summary: description: Filter all type-3 LSAs in the nssa area. @@ -165,17 +165,17 @@ options: description: Enable LSA translation. type: bool set: - description: True if only nssa is set + description: true if only nssa is set type: bool stub: description: Stub area. type: dict suboptions: set: - description: True if only stub is set. + description: true if only stub is set. type: bool summary_lsa: - description: If False , Filter all type-3 LSAs in the stub area. + description: If false , Filter all type-3 LSAs in the stub area. type: bool bfd: @@ -200,7 +200,7 @@ options: description: When true sets the grace_fulrestart config alone. type: bool graceful_restart_helper: - description: If True, Enable graceful restart helper. + description: If true, Enable graceful restart helper. type: bool log_adjacency_changes: description: To configure link-state changes and transitions of OSPFv3 @@ -387,10 +387,10 @@ options: type: str choices: ['md5', 'sha1'] encrypt_key: - description: If False, key string is not encrypted + description: If false, key string is not encrypted type: bool hidden_key: - description: If True, Specifies that a HIDDEN key will follow. + description: If true, Specifies that a HIDDEN key will follow. type: bool key: description: 128 bit MD5 key or 140 bit SHA1 key. @@ -414,10 +414,10 @@ options: type: str choices: ['sha1', 'md5'] encrypt_key: - description: If False, key string is not encrypted + description: If false, key string is not encrypted type: bool hidden_key: - description: If True, Specifies that a HIDDEN key will follow. + description: If true, Specifies that a HIDDEN key will follow. type: bool key: description: 128 bit MD5 key or 140 bit SHA1 key. @@ -443,7 +443,7 @@ options: description: Limit default advertisement to this NSSA area. type: bool set: - description: True if only default information orignate is set + description: true if only default information orignate is set type: bool no_summary: description: Filter all type-3 LSAs in the nssa area. @@ -455,7 +455,7 @@ options: description: Enable LSA translation. type: bool set: - description: True if only nssa is set + description: true if only nssa is set type: bool ranges: description: Configure route summarization. @@ -482,10 +482,10 @@ options: type: dict suboptions: set: - description: True if only stub is set + description: true if only stub is set type: bool summary_lsa: - description: If False , Filter all type-3 LSAs in the stub area. + description: If false , Filter all type-3 LSAs in the stub area. type: bool bfd: @@ -534,7 +534,7 @@ options: description: When true sets the grace_fulrestart config alone. type: bool graceful_restart_helper: - description: If True, Enable graceful restart helper. + description: If true, Enable graceful restart helper. type: bool log_adjacency_changes: description: To configure link-state changes and transitions of OSPFv3 @@ -703,30 +703,59 @@ EXAMPLES = """ # Using merged -# Before state - +# Before state: +# ------------- # veos#show running-config | section ospfv3 # veos# +- name: Merge the provided configuration with the existing running configuration + arista.eos.eos_ospfv3: + config: + processes: + - address_family: + - timers: + lsa: 22 + graceful_restart: + grace_period: 35 + afi: "ipv6" + timers: + pacing: 55 + fips_restrictions: true + router_id: "2.2.2.2" + vrf: "vrfmerge" + state: merged - - arista.eos.eos_ospfv3: - config: - processes: - - address_family: - - timers: - lsa: 22 - graceful_restart: - grace_period: 35 - afi: "ipv6" - timers: - pacing: 55 - fips_restrictions: True - router_id: "2.2.2.2" - vrf: "vrfmerge" - - -# After state +# Task output: +# ------------ +# before: {} +# +# commands: +# - router ospfv3 vrf vrfmerge +# - address-family ipv6 +# - graceful-restart grace-period 35 +# - timers lsa arrival 22 +# - exit +# - timers pacing flood 55 +# - fips restrictions +# - router-id 2.2.2.2 +# - exit +# +# after: +# processes: +# - address_family: +# - afi: ipv6 +# fips_restrictions: true +# graceful_restart: +# grace_period: 35 +# fips_restrictions: true +# router_id: 2.2.2.2 +# timers: +# pacing: 55 +# vrf: vrfmerge + +# After state: +# ------------ # veos#show running-config | section ospfv3 # router ospfv3 vrf vrfmerge # router-id 2.2.2.2 @@ -738,52 +767,11 @@ EXAMPLES = """ # fips restrictions # timers lsa arrival 22 # graceful-restart grace-period 35 -# veos# - -# Module Execution -# "after": { -# "processes": [ -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "fips_restrictions": true, -# "graceful_restart": { -# "grace_period": 35 -# }, -# "timers": { -# "lsa": 22 -# } -# } -# ], -# "fips_restrictions": true, -# "router_id": "2.2.2.2", -# "timers": { -# "pacing": 55 -# }, -# "vrf": "vrfmerge" -# } -# ] -# }, -# "before": {}, -# "changed": true, -# "commands": [ -# "router ospfv3 vrf vrfmerge", -# "address-family ipv6", -# "graceful-restart grace-period 35", -# "timers lsa arrival 22", -# "exit", -# "timers pacing flood 55", -# "fips restrictions", -# "router-id 2.2.2.2", -# "exit" -# ], - # using replaced -# before state - +# Before state: +# ------------- # veos#show running-config | section ospfv3 # router ospfv3 # fips restrictions @@ -798,27 +786,89 @@ EXAMPLES = """ # fips restrictions # timers lsa arrival 22 # graceful-restart grace-period 35 -# veos# - - - - arista.eos.eos_ospfv3: - config: - processes: - - areas: - - area_id: "0.0.0.0" - encryption: - spi: 43 - encryption: "null" - algorithm: "md5" - encrypt_key: False - passphrase: "7hl8FV3lZ6H1mAKpjL47hQ==" - vrf: "default" - address_family: - - afi: "ipv4" - router_id: "7.1.1.1" - state: replaced -# After state +- name: Replace a section of running config with provided config + arista.eos.eos_ospfv3: + config: + processes: + - areas: + - area_id: "0.0.0.0" + encryption: + spi: 43 + encryption: "null" + algorithm: "md5" + encrypt_key: false + passphrase: "7hl8FV3lZ6H1mAKpjL47hQ==" + vrf: "default" + address_family: + - afi: "ipv4" + router_id: "7.1.1.1" + state: replaced + +# Task output: +# ------------ +# before: +# processes: +# - areas: +# - area_id: 0.0.0.0 +# encryption: +# algorithm: md5 +# encryption: 'null' +# hidden_key: true +# passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# spi: 43 +# fips_restrictions: true +# vrf: default +# - address_family: +# - afi: ipv6 +# fips_restrictions: true +# graceful_restart: +# grace_period: 35 +# fips_restrictions: true +# router_id: 2.2.2.2 +# timers: +# pacing: 55 +# vrf: vrfmerge +# +# commands: +# - router ospfv3 vrf vrfmerge +# - address-family ipv6 +# - no fips restrictions +# - no graceful-restart +# - no timers lsa arrival 22 +# - area 0.0.0.3 range 10.1.2.2/24 advertise +# - area 0.0.0.3 range 60.1.1.1 255.255.0.0 cost 30 +# - exit +# - passive-interface default +# - no router-id +# - no fips restrictions +# - no timers pacing flood 55 +# - exit +# +# after: +# processes: +# - areas: +# - area_id: 0.0.0.0 +# encryption: +# algorithm: md5 +# encryption: 'null' +# hidden_key: true +# passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# spi: 43 +# vrf: default +# - address_family: +# - afi: ipv6 +# areas: +# - area_id: 0.0.0.3 +# ranges: +# - address: 10.1.2.0/24 +# - address: 60.1.0.0/16 +# cost: 30 +# passive_interface: true +# vrf: vrfmerge + +# After state: +# ------------ # veos#show running-config | section ospfv3 # router ospfv3 # area 0.0.0.0 encryption ipsec spi 43 esp null md5 passphrase 7 h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4= @@ -829,112 +879,11 @@ EXAMPLES = """ # address-family ipv6 # area 0.0.0.3 range 10.1.2.0/24 # area 0.0.0.3 range 60.1.0.0/16 cost 30 -# veos# - -# Module execution - -# "after": { -# "processes": [ -# { -# "areas": [ -# { -# "area_id": "0.0.0.0", -# "encryption": { -# "algorithm": "md5", -# "encryption": "null", -# "hidden_key": true, -# "passphrase": "h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4=" -# } -# } -# ], -# "vrf": "default" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "areas": [ -# { -# "area_id": "0.0.0.3", -# "ranges": [ -# { -# "address": "10.1.2.0/24" -# }, -# { -# "address": "60.1.0.0/16", -# "cost": 30 -# } -# ] -# } -# ] -# } -# ], -# "passive_interface": true, -# "vrf": "vrfmerge" -# } -# ] -# }, -# "before": { -# "processes": [ -# { -# "areas": [ -# { -# "area_id": "0.0.0.0", -# "encryption": { -# "algorithm": "md5", -# "encryption": "null", -# "hidden_key": true, -# "passphrase": "h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4=" -# } -# } -# ], -# "fips_restrictions": true, -# "vrf": "default" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "fips_restrictions": true, -# "graceful_restart": { -# "grace_period": 35 -# }, -# "timers": { -# "lsa": 22 -# } -# } -# ], -# "fips_restrictions": true, -# "router_id": "2.2.2.2", -# "timers": { -# "pacing": 55 -# }, -# "vrf": "vrfmerge" -# } -# ] -# }, -# "changed": true, -# "commands": [ -# "router ospfv3 vrf vrfmerge", -# "address-family ipv6", -# "no fips restrictions", -# "no graceful-restart", -# "no timers lsa arrival 22", -# "area 0.0.0.3 range 10.1.2.2/24 advertise", -# "area 0.0.0.3 range 60.1.1.1 255.255.0.0 cost 30", -# "exit", -# "passive-interface default", -# "no router-id", -# "no fips restrictions", -# "no timers pacing flood 55", -# "exit" -# ], - # using overridden -# before state - +# Before state: +# ------------- # veos#show running-config | section ospfv3 # router ospfv3 # area 0.0.0.0 encryption ipsec spi 43 esp null md5 passphrase 7 h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4= @@ -945,28 +894,75 @@ EXAMPLES = """ # address-family ipv6 # area 0.0.0.3 range 10.1.2.0/24 # area 0.0.0.3 range 60.1.0.0/16 cost 30 -# veos# - - - - arista.eos.eos_ospfv3: - config: - processes: - - address_family: - - areas: - - area_id: "0.0.0.3" - ranges: - - address: 10.1.2.2/24 - advertise: True - - address: 60.1.1.1 - subnet_mask: 255.255.0.0 - cost: 30 - afi: "ipv6" - passive_interface: True - vrf: "vrfmerge" - state: overridden - -# After state +- name: Override running config with provided config + arista.eos.eos_ospfv3: + config: + processes: + - address_family: + - areas: + - area_id: "0.0.0.3" + ranges: + - address: 10.1.2.2/24 + advertise: true + - address: 60.1.1.1 + subnet_mask: 255.255.0.0 + cost: 30 + afi: "ipv6" + passive_interface: true + vrf: "vrfmerge" + state: overridden + +# Task output: +# ------------ +# before: +# processes: +# - areas: +# - area_id: 0.0.0.0 +# encryption: +# algorithm: md5 +# encryption: 'null' +# hidden_key: true +# passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# spi: 43 +# vrf: default +# - address_family: +# - afi: ipv6 +# areas: +# - area_id: 0.0.0.3 +# ranges: +# - address: 10.1.2.0/24 +# - address: 60.1.0.0/16 +# cost: 30 +# passive_interface: true +# vrf: vrfmerge +# +# commands: +# - no router ospfv3 +# - router ospfv3 vrf vrfmerge +# - address-family ipv6 +# - no area 0.0.0.3 range 10.1.2.0/24 +# - no area 0.0.0.3 range 60.1.0.0/16 cost 30 +# - area 0.0.0.3 range 10.1.2.2/24 advertise +# - area 0.0.0.3 range 60.1.1.1 255.255.0.0 cost 30 +# - exit +# - exit +# +# after: +# processes: +# - address_family: +# - afi: ipv6 +# areas: +# - area_id: 0.0.0.3 +# ranges: +# - address: 10.1.2.0/24 +# - address: 60.1.0.0/16 +# cost: 30 +# passive_interface: true +# vrf: vrfmerge + +# After state: +# ------------ # veos#show running-config | section ospfv3 # router ospfv3 vrf vrfmerge # passive-interface default @@ -974,97 +970,11 @@ EXAMPLES = """ # address-family ipv6 # area 0.0.0.3 range 10.1.2.0/24 # area 0.0.0.3 range 60.1.0.0/16 cost 30 -# veos# - - - -# Module execution - -# "after": { -# "processes": [ -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "areas": [ -# { -# "area_id": "0.0.0.3", -# "ranges": [ -# { -# "address": "10.1.2.0/24" -# }, -# { -# "address": "60.1.0.0/16", -# "cost": 30 -# } -# ] -# } -# ] -# } -# ], -# "passive_interface": true, -# "vrf": "vrfmerge" -# } -# ] -# }, -# "before": { -# "processes": [ -# { -# "areas": [ -# { -# "area_id": "0.0.0.0", -# "encryption": { -# "algorithm": "md5", -# "encryption": "null", -# "hidden_key": true, -# "passphrase": "h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4=" -# } -# } -# ], -# "vrf": "default" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "areas": [ -# { -# "area_id": "0.0.0.3", -# "ranges": [ -# { -# "address": "10.1.2.0/24" -# }, -# { -# "address": "60.1.0.0/16", -# "cost": 30 -# } -# ] -# } -# ] -# } -# ], -# "passive_interface": true, -# "vrf": "vrfmerge" -# } -# ] -# }, -# "changed": true, -# "commands": [ -# "no router ospfv3", -# "router ospfv3 vrf vrfmerge", -# "address-family ipv6", -# "no area 0.0.0.3 range 10.1.2.0/24", -# "no area 0.0.0.3 range 60.1.0.0/16 cost 30", -# "area 0.0.0.3 range 10.1.2.2/24 advertise", -# "area 0.0.0.3 range 60.1.1.1 255.255.0.0 cost 30", -# "exit", -# "exit" -# ], # using deleted -# Before state - +# Before state: +# ------------- # veos#show running-config | section ospfv3 # router ospfv3 # area 0.0.0.0 encryption ipsec spi 43 esp null md5 passphrase 7 h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4= @@ -1081,17 +991,56 @@ EXAMPLES = """ # address-family ipv6 # area 0.0.0.3 range 10.1.2.0/24 # area 0.0.0.3 range 60.1.0.0/16 cost 30 -# veos# +- name: Delete OSPFv3 config + arista.eos.eos_ospfv3: + config: + state: deleted + +# Task output: +# ------------ + +# before: +# processes: +# - areas: +# - area_id: 0.0.0.0 +# encryption: +# algorithm: md5 +# encryption: 'null' +# hidden_key: true +# passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# spi: 43 +# vrf: default +# - address_family: +# - afi: ipv4 +# areas: +# - area_id: 0.0.0.3 +# ranges: +# - address: 10.1.2.0/24 +# - address: 60.1.0.0/16 +# cost: 30 +# redistribute: +# - routes: connected +# - route_map: MAP01 +# routes: static +# - afi: ipv6 +# areas: +# - area_id: 0.0.0.3 +# ranges: +# - address: 10.1.2.0/24 +# - address: 60.1.0.0/16 +# cost: 30 +# passive_interface: true +# vrf: vrfmerge +# +# commands: +# +# - no router ospfv3 +# +# after: {} - - arista.eos.eos_ospfv3: - config: - processes: - - vrf: "default" - state: deleted - -# After state - +# After state: +# ------------ # veos#show running-config | section ospfv3 # router ospfv3 vrf vrfmerge # passive-interface default @@ -1105,139 +1054,10 @@ EXAMPLES = """ # address-family ipv6 # area 0.0.0.3 range 10.1.2.0/24 # area 0.0.0.3 range 60.1.0.0/16 cost 30 -# veos# - - -# Module execution -# "after": { -# "processes": [ -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "areas": [ -# { -# "area_id": "0.0.0.3", -# "ranges": [ -# { -# "address": "10.1.2.0/24" -# }, -# { -# "address": "60.1.0.0/16", -# "cost": 30 -# } -# ] -# } -# ], -# "redistribute": [ -# { -# "routes": "connected" -# }, -# { -# "route_map": "MAP01", -# "routes": "static" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "areas": [ -# { -# "area_id": "0.0.0.3", -# "ranges": [ -# { -# "address": "10.1.2.0/24" -# }, -# { -# "address": "60.1.0.0/16", -# "cost": 30 -# } -# ] -# } -# ] -# } -# ], -# "passive_interface": true, -# "vrf": "vrfmerge" -# } -# ] -# }, -# "before": { -# "processes": [ -# { -# "areas": [ -# { -# "area_id": "0.0.0.0", -# "encryption": { -# "algorithm": "md5", -# "encryption": "null", -# "hidden_key": true, -# "passphrase": "h8pZp9eprTYjjoY/NKFFe0Ei7x03Y7dyLotRhI0a5t4=" -# } -# } -# ], -# "vrf": "default" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "areas": [ -# { -# "area_id": "0.0.0.3", -# "ranges": [ -# { -# "address": "10.1.2.0/24" -# }, -# { -# "address": "60.1.0.0/16", -# "cost": 30 -# } -# ] -# } -# ], -# "redistribute": [ -# { -# "routes": "connected" -# }, -# { -# "route_map": "MAP01", -# "routes": "static" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "areas": [ -# { -# "area_id": "0.0.0.3", -# "ranges": [ -# { -# "address": "10.1.2.0/24" -# }, -# { -# "address": "60.1.0.0/16", -# "cost": 30 -# } -# ] -# } -# ] -# } -# ], -# "passive_interface": true, -# "vrf": "vrfmerge" -# } -# ] -# }, -# "changed": true, -# "commands": [ -# "no router ospfv3" -# ], # using parsed # parsed_ospfv3.cfg - # router ospfv3 # fips restrictions # area 0.0.0.20 stub @@ -1284,159 +1104,101 @@ EXAMPLES = """ # timers spf delay initial 56 56 56 # timers out-delay 10 - - - arista.eos.eos_ospfv3: - running_config: "{{ lookup('file', './parsed_ospfv3.cfg') }}" - state: parsed - -# Module execution - -# "parsed": { -# "processes": [ -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "fips_restrictions": true, -# "redistribute": [ -# { -# "routes": "connected" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "fips_restrictions": true, -# "router_id": "10.1.1.1" -# } -# ], -# "adjacency": { -# "exchange_start": { -# "threshold": 11 -# } -# }, -# "areas": [ -# { -# "area_id": "0.0.0.20", -# "authentication": { -# "algorithm": "sha1", -# "hidden_key": true, -# "passphrase": "4O8T3zo4xBdRWXBnsnK934o9SEb+jEhHUN6+xzZgCo2j9EnQBUvtwNxxLEmYmm6w", -# "spi": 33 -# }, -# "stub": { -# "set": true -# } -# }, -# { -# "area_id": "0.0.0.40", -# "default_cost": 45, -# "stub": { -# "set": true -# } -# } -# ], -# "fips_restrictions": true, -# "timers": { -# "pacing": 7 -# }, -# "vrf": "default" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "fips_restrictions": true, -# "maximum_paths": 100, -# "passive_interface": true, -# "redistribute": [ -# { -# "route_map": "MAP01", -# "routes": "connected" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "areas": [ -# { -# "area_id": "0.0.0.10", -# "nssa": { -# "no_summary": true -# } -# } -# ], -# "default_information": { -# "originate": true, -# "route_map": "DefaultRouteFilter" -# }, -# "fips_restrictions": true, -# "max_metric": { -# "router_lsa": { -# "external_lsa": { -# "max_metric_value": 25 -# }, -# "summary_lsa": { -# "set": true -# } -# } -# } -# } -# ], -# "areas": [ -# { -# "area_id": "0.0.0.0", -# "encryption": { -# "algorithm": "sha1", -# "encryption": "null", -# "hidden_key": true, -# "passphrase": "7hl8FV3lZ6H1mAKpjL47hQ==" -# } -# } -# ], -# "bfd": { -# "all_interfaces": true -# }, -# "fips_restrictions": true, -# "log_adjacency_changes": { -# "detail": true -# }, -# "vrf": "vrf01" -# }, -# { -# "address_family": [ -# { -# "afi": "ipv6", -# "areas": [ -# { -# "area_id": "0.0.0.1", -# "stub": { -# "set": true -# } -# } -# ], -# "distance": 200, -# "fips_restrictions": true, -# "router_id": "10.17.0.3", -# "timers": { -# "out_delay": 10, -# "spf": { -# "initial": 56, -# "max": 56, -# "min": 56, -# } -# } -# } -# ], -# "fips_restrictions": true, -# "vrf": "vrf02" -# } -# ] +- name: Parse the provided config + arista.eos.eos_ospfv3: + running_config: "{{ lookup('file', './parsed_ospfv3.cfg') }}" + state: parsed + +# Task output: +# ------------ +# parsed: +# processes: +# - address_family: +# - afi: ipv4 +# fips_restrictions: true +# redistribute: +# - routes: connected +# - afi: ipv6 +# fips_restrictions: true +# router_id: 10.1.1.1 +# adjacency: +# exchange_start: +# threshold: 11 +# areas: +# - area_id: 0.0.0.20 +# authentication: +# algorithm: sha1 +# hidden_key: true +# passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# spi: 33 +# stub: +# set: true +# - area_id: 0.0.0.40 +# default_cost: 45 +# stub: +# set: true +# fips_restrictions: true +# timers: +# pacing: 7 +# vrf: default +# - address_family: +# - afi: ipv4 +# fips_restrictions: true +# maximum_paths: 100 +# passive_interface: true +# redistribute: +# - route_map: MAP01 +# routes: connected +# - afi: ipv6 +# areas: +# - area_id: 0.0.0.10 +# nssa: +# no_summary: true +# default_information: +# originate: true +# route_map: DefaultRouteFilter +# fips_restrictions: true +# max_metric: +# router_lsa: +# external_lsa: +# max_metric_value: 25 +# summary_lsa: +# set: true +# areas: +# - area_id: 0.0.0.0 +# encryption: +# algorithm: sha1 +# encryption: 'null' +# hidden_key: true +# passphrase: VALUE_SPECIFIED_IN_NO_LOG_PARAMETER +# spi: 256 +# bfd: +# all_interfaces: true +# fips_restrictions: true +# log_adjacency_changes: +# detail: true +# vrf: vrf01 +# - address_family: +# - afi: ipv6 +# areas: +# - area_id: 0.0.0.1 +# stub: +# set: true +# distance: 200 +# fips_restrictions: true +# router_id: 10.17.0.3 +# timers: +# out_delay: 10 +# spf: +# initial: 56 +# max: 56 +# min: 56 +# fips_restrictions: true +# vrf: vrf02 # using gathered -# native config - +# native config: # veos#show running-config | section ospfv3 # router ospfv3 vrf vrfmerge # passive-interface default @@ -1450,100 +1212,115 @@ EXAMPLES = """ # address-family ipv6 # area 0.0.0.3 range 10.1.2.0/24 # area 0.0.0.3 range 60.1.0.0/16 cost 30 -# veos# - - - - arista.eos.eos_ospfv3: - state: gathered -# module execution +- name: Gather running configuration + arista.eos.eos_ospfv3: + state: gathered + +# Task output: +# ------------ +# gathered: +# processes: +# - address_family: +# - afi: ipv4 +# areas: +# - area_id: 0.0.0.3 +# ranges: +# - address: 10.1.2.0/24 +# - address: 60.1.0.0/16 +# cost: 30 +# redistribute: +# - routes: connected +# - route_map: MAP01 +# routes: static +# - afi: ipv6 +# areas: +# - area_id: 0.0.0.3 +# ranges: +# - address: 10.1.2.0/24 +# - address: 60.1.0.0/16 +# cost: 30 +# passive_interface: true +# vrf: vrfmerge -# "gathered": { -# "processes": [ -# { -# "address_family": [ -# { -# "afi": "ipv4", -# "areas": [ -# { -# "area_id": "0.0.0.3", -# "ranges": [ -# { -# "address": "10.1.2.0/24" -# }, -# { -# "address": "60.1.0.0/16", -# "cost": 30 -# } -# ] -# } -# ], -# "redistribute": [ -# { -# "routes": "connected" -# }, -# { -# "route_map": "MAP01", -# "routes": "static" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "areas": [ -# { -# "area_id": "0.0.0.3", -# "ranges": [ -# { -# "address": "10.1.2.0/24" -# }, -# { -# "address": "60.1.0.0/16", -# "cost": 30 -# } -# ] -# } -# ] -# } -# ], -# "passive_interface": true, -# "vrf": "vrfmerge" -# } -# ] # using rendered - - arista.eos.eos_ospfv3: - config: - processes: - - address_family: - - timers: - lsa: 22 - graceful_restart: - grace_period: 35 - afi: "ipv6" - timers: - pacing: 55 - fips_restrictions: True - router_id: "2.2.2.2" - vrf: "vrfmerge" - state: rendered - -# module execution - -# "rendered": [ -# "router ospfv3 vrf vrfmerge", -# "address-family ipv6", -# "graceful-restart grace-period 35", -# "timers lsa arrival 22", -# "exit", -# "timers pacing flood 55", -# "fips restrictions", -# "router-id 2.2.2.2", -# "exit" -# ] - - +- name: render CLI commands for provided config + arista.eos.eos_ospfv3: + config: + processes: + - address_family: + - timers: + lsa: 22 + graceful_restart: + grace_period: 35 + afi: "ipv6" + timers: + pacing: 55 + fips_restrictions: true + router_id: "2.2.2.2" + vrf: "vrfmerge" + state: rendered + +# Task output: +# ------------ +# rendered: +# - router ospfv3 vrf vrfmerge +# - address-family ipv6 +# - graceful-restart grace-period 35 +# - timers lsa arrival 22 +# - exit +# - timers pacing flood 55 +# - fips restrictions +# - router-id 2.2.2.2 +# - exit +""" +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 ospfv3 vrf vrfmerge + - address-family ipv6 + - graceful-restart grace-period 35 +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 vrf vrfmerge + - address-family ipv6 + - graceful-restart grace-period 35 +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/arista/eos/plugins/modules/eos_prefix_lists.py b/ansible_collections/arista/eos/plugins/modules/eos_prefix_lists.py index dffd65527..88aa40c5a 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_prefix_lists.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_prefix_lists.py @@ -112,43 +112,88 @@ options: """ EXAMPLES = """ # Using merged + + # Before state # veos#show running-config | section prefix-lists # veos# - - name: Merge provided configuration with device configuration - arista.eos.eos_prefix_lists: - config: - - afi: "ipv4" - prefix_lists: - - name: "v401" - entries: - - sequence: 25 - action: "deny" - address: "45.55.4.0/24" - - sequence: 100 - action: "permit" - address: "11.11.2.0/24" - match: - masklen: 32 - operator: "ge" - - name: "v402" - entries: - - action: "deny" - address: "10.1.1.0/24" - sequence: 10 - match: - masklen: 32 - operator: "ge" - - afi: "ipv6" - prefix_lists: - - name: "v601" - entries: - - sequence: 125 - action: "deny" - address: "5000:1::/64" - -# After State +- name: Merge provided configuration with device configuration + arista.eos.eos_prefix_lists: + config: + - afi: "ipv4" + prefix_lists: + - name: "v401" + entries: + - sequence: 25 + action: "deny" + address: "45.55.4.0/24" + - sequence: 100 + action: "permit" + address: "11.11.2.0/24" + match: + masklen: 32 + operator: "ge" + - name: "v402" + entries: + - action: "deny" + address: "10.1.1.0/24" + sequence: 10 + match: + masklen: 32 + operator: "ge" + - afi: "ipv6" + prefix_lists: + - name: "v601" + entries: + - sequence: 125 + action: "deny" + address: "5000:1::/64" + +# Task Output +# ------------- +# before: {} +# commands: +# - ipv6 prefix-list v601 +# - seq 125 deny 5000:1::/64 +# - ip prefix-list v401 +# - seq 25 deny 45.55.4.0/24 +# - seq 100 permit 11.11.2.0/24 ge 32 +# - ip prefix-list v402 +# - seq 10 deny 10.1.1.0/24 ge 32 +# after: +# - afi: ipv4 +# prefix_lists: +# - entries: +# - action: deny +# address: 45.55.4.0/24 +# sequence: 25 +# - action: permit +# address: 11.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 100 +# name: v401 +# - entries: +# - action: deny +# address: 10.1.1.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 10 +# name: v402 +# - afi: ipv6 +# prefix_lists: +# - entries: +# - action: deny +# address: 5000:1::/64 +# sequence: 125 +# name: v601 + + +# After state: +# ------------ # veos# # veos#show running-config | section prefix-list # ip prefix-list v401 @@ -161,81 +206,13 @@ EXAMPLES = """ # ipv6 prefix-list v601 # seq 125 deny 5000:1::/64 # veos# -# -# Module Execution: -# "after": [ -# { -# "afi": "ipv4", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "45.55.4.0/24", -# "sequence": 25 -# }, -# { -# "action": "permit", -# "address": "11.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 100 -# } -# ], -# "name": "v401" -# }, -# { -# "entries": [ -# { -# "action": "deny", -# "address": "10.1.1.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 10 -# } -# ], -# "name": "v402" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "5000:1::/64", -# "sequence": 125 -# } -# ], -# "name": "v601" -# } -# ] -# } -# ], -# "before": {}, -# "changed": true, -# "commands": [ -# "ipv6 prefix-list v601", -# "seq 125 deny 5000:1::/64", -# "ip prefix-list v401", -# "seq 25 deny 45.55.4.0/24", -# "seq 100 permit 11.11.2.0/24 ge 32", -# "ip prefix-list v402", -# "seq 10 deny 10.1.1.0/24 ge 32" -# ], -# -# using merged: + +# Using merged: # Failure scenario : 'merged' should not be used when an existing prefix-list (sequence number) # is to be modified. -# Before State: + # veos#show running-config | section prefix-list # ip prefix-list v401 # seq 25 deny 45.55.4.0/24 @@ -248,118 +225,89 @@ EXAMPLES = """ # seq 125 deny 5000:1::/64 # veos# - - name: Merge provided configuration with device configuration - arista.eos.eos_prefix_lists: - config: - - afi: "ipv4" - prefix_lists: - - name: "v401" - entries: - - sequence: 25 - action: "deny" - address: "45.55.4.0/24" - match: - masklen: 32 - operator: "ge" - - sequence: 100 - action: "permit" - address: "11.11.2.0/24" - match: - masklen: 32 - operator: "ge" - - name: "v402" - entries: - - action: "deny" - address: "10.1.1.0/24" - sequence: 10 - match: - masklen: 32 - operator: "ge" - - afi: "ipv6" - prefix_lists: - - name: "v601" - entries: - - sequence: 125 - action: "deny" - address: "5000:1::/64" - state: merged - -# Module Execution: -# fatal: [192.168.122.113]: FAILED! => { -# "changed": false, -# "invocation": { -# "module_args": { -# "config": [ -# { -# "afi": "ipv4", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "45.55.4.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "resequence": null, -# "sequence": 25 -# }, -# { -# "action": "permit", -# "address": "11.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "resequence": null, -# "sequence": 100 -# } -# ], -# "name": "v401" -# }, -# { -# "entries": [ -# { -# "action": "deny", -# "address": "10.1.1.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "resequence": null, -# "sequence": 10 -# } -# ], -# "name": "v402" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "5000:1::/64", -# "match": null, -# "resequence": null, -# "sequence": 125 -# } -# ], -# "name": "v601" -# } -# ] -# } -# ], -# "running_config": null, -# "state": "merged" -# } -# }, -# "msg": "Sequence number 25 is already present. Use replaced/overridden operation to change the configuration" -# } -# +- name: Merge provided configuration with device configuration + arista.eos.eos_prefix_lists: + config: + - afi: "ipv4" + prefix_lists: + - name: "v401" + entries: + - sequence: 25 + action: "deny" + address: "45.55.4.0/24" + match: + masklen: 32 + operator: "ge" + - sequence: 100 + action: "permit" + address: "11.11.2.0/24" + match: + masklen: 32 + operator: "ge" + - name: "v402" + entries: + - action: "deny" + address: "10.1.1.0/24" + sequence: 10 + match: + masklen: 32 + operator: "ge" + - afi: "ipv6" + prefix_lists: + - name: "v601" + entries: + - sequence: 125 + action: "deny" + address: "5000:1::/64" + state: merged + +# Task Output +# ------------- +# changed: false +# invocation: +# module_args: +# config: +# - afi: ipv4 +# prefix_lists: +# - entries: +# - action: deny +# address: 45.55.4.0/24 +# match: +# masklen: 32 +# operator: ge +# resequence: +# sequence: 25 +# - action: permit +# address: 11.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# resequence: +# sequence: 100 +# name: v401 +# - entries: +# - action: deny +# address: 10.1.1.0/24 +# match: +# masklen: 32 +# operator: ge +# resequence: +# sequence: 10 +# name: v402 +# - afi: ipv6 +# prefix_lists: +# - entries: +# - action: deny +# address: 5000:1::/64 +# match: +# resequence: +# sequence: 125 +# name: v601 +# running_config: +# state: merged +# msg: Sequence number 25 is already present. Use replaced/overridden operation to change +# the configuration + # Using Replaced: @@ -375,26 +323,94 @@ EXAMPLES = """ # ipv6 prefix-list v601 # seq 125 deny 5000:1::/64 # veos# - - name: Replace - arista.eos.eos_prefix_lists: - config: - - afi: "ipv4" - prefix_lists: - - name: "v401" - entries: - - sequence: 25 - action: "deny" - address: "45.55.4.0/24" - match: - masklen: 32 - operator: "ge" - - sequence: 200 - action: "permit" - address: "200.11.2.0/24" - match: - masklen: 32 - operator: "ge" - state: replaced + + +- name: Replace Provided configuration with given configuration + arista.eos.eos_prefix_lists: + config: + - afi: "ipv4" + prefix_lists: + - name: "v401" + entries: + - sequence: 25 + action: "deny" + address: "45.55.4.0/24" + match: + masklen: 32 + operator: "ge" + - sequence: 200 + action: "permit" + address: "200.11.2.0/24" + match: + masklen: 32 + operator: "ge" + state: replaced + + +# Task Output +# ------------- +# before: +# - afi: ipv4 +# prefix_lists: +# - entries: +# - action: deny +# address: 45.55.4.0/24 +# sequence: 25 +# - action: permit +# address: 11.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 100 +# name: v401 +# - entries: +# - action: deny +# address: 10.1.1.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 10 +# name: v402 +# - afi: ipv6 +# prefix_lists: +# - entries: +# - action: deny +# address: 5000:1::/64 +# sequence: 125 +# name: v601 +# commands: +# - ip prefix-list v401 +# - no seq 25 +# - seq 25 deny 45.55.4.0/24 ge 32 +# - seq 200 permit 200.11.2.0/24 ge 32 +# - no seq 100 +# - no ip prefix-list v402 +# after: +# - afi: ipv4 +# prefix_lists: +# - entries: +# - action: deny +# address: 45.55.4.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 25 +# - action: permit +# address: 200.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 200 +# name: v401 +# - afi: ipv6 +# prefix_lists: +# - entries: +# - action: deny +# address: 5000:1::/64 +# sequence: 125 +# name: v601 + + # After State: # veos#show running-config | section prefix-list # ip prefix-list v401 @@ -406,121 +422,12 @@ EXAMPLES = """ # veos# # # -# Module Execution: -# -# "after": [ -# { -# "afi": "ipv4", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "45.55.4.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 25 -# }, -# { -# "action": "permit", -# "address": "200.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 200 -# } -# ], -# "name": "v401" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "5000:1::/64", -# "sequence": 125 -# } -# ], -# "name": "v601" -# } -# ] -# } -# ], -# "before": [ -# { -# "afi": "ipv4", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "45.55.4.0/24", -# "sequence": 25 -# }, -# { -# "action": "permit", -# "address": "11.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 100 -# } -# ], -# "name": "v401" -# }, -# { -# "entries": [ -# { -# "action": "deny", -# "address": "10.1.1.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 10 -# } -# ], -# "name": "v402" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "5000:1::/64", -# "sequence": 125 -# } -# ], -# "name": "v601" -# } -# ] -# } -# ], -# "changed": true, -# "commands": [ -# "ip prefix-list v401", -# "no seq 25", -# "seq 25 deny 45.55.4.0/24 ge 32", -# "seq 200 permit 200.11.2.0/24 ge 32", -# "no seq 100", -# "no ip prefix-list v402" -# ], + # Using overridden: -# Before State: + +# Before State: # veos#show running-config | section prefix-list # ip prefix-list v401 # seq 25 deny 45.55.4.0/24 ge 32 @@ -534,29 +441,103 @@ EXAMPLES = """ # seq 125 deny 5000:1::/64 # veos# +- name: Override + arista.eos.eos_prefix_lists: + config: + - afi: "ipv4" + prefix_lists: + - name: "v401" + entries: + - sequence: 25 + action: "deny" + address: "45.55.4.0/24" + - sequence: 300 + action: "permit" + address: "30.11.2.0/24" + match: + masklen: 32 + operator: "ge" + - name: "v403" + entries: + - action: "deny" + address: "10.1.1.0/24" + sequence: 10 + state: overridden + + +# Task Output +# ------------- +# before: +# - afi: ipv4 +# prefix_lists: +# - entries: +# - action: deny +# address: 45.55.4.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 25 +# - action: permit +# address: 11.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 100 +# - action: permit +# address: 200.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 200 +# name: v401 +# - entries: +# - action: deny +# address: 10.1.1.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 10 +# name: v402 +# - afi: ipv6 +# prefix_lists: +# - entries: +# - action: deny +# address: 5000:1::/64 +# sequence: 125 +# name: v601 +# commands: +# - no ipv6 prefix-list v601 +# - ip prefix-list v401 +# - seq 25 deny 45.55.4.0/24 +# - seq 300 permit 30.11.2.0/24 ge 32 +# - no seq 100 +# - no seq 200 +# - ip prefix-list v403 +# - seq 10 deny 10.1.1.0/24 +# - no ip prefix-list v402 +# after: +# - afi: ipv4 +# prefix_lists: +# - entries: +# - action: deny +# address: 45.55.4.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 25 +# - action: permit +# address: 30.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 300 +# name: v401 +# - entries: +# - action: deny +# address: 10.1.1.0/24 +# sequence: 10 +# name: v403 - - name: Override - arista.eos.eos_prefix_lists: - config: - - afi: "ipv4" - prefix_lists: - - name: "v401" - entries: - - sequence: 25 - action: "deny" - address: "45.55.4.0/24" - - sequence: 300 - action: "permit" - address: "30.11.2.0/24" - match: - masklen: 32 - operator: "ge" - - name: "v403" - entries: - - action: "deny" - address: "10.1.1.0/24" - sequence: 10 - state: overridden # After State # veos# @@ -568,134 +549,10 @@ EXAMPLES = """ # ip prefix-list v403 # seq 10 deny 10.1.1.0/24 # veos# -# -# -# Module Execution: -# "after": [ -# { -# "afi": "ipv4", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "45.55.4.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 25 -# }, -# { -# "action": "permit", -# "address": "30.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 300 -# } -# ], -# "name": "v401" -# }, -# { -# "entries": [ -# { -# "action": "deny", -# "address": "10.1.1.0/24", -# "sequence": 10 -# } -# ], -# "name": "v403" -# } -# ] -# } -# ], -# "before": [ -# { -# "afi": "ipv4", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "45.55.4.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 25 -# }, -# { -# "action": "permit", -# "address": "11.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 100 -# }, -# { -# "action": "permit", -# "address": "200.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 200 -# } -# ], -# "name": "v401" -# }, -# { -# "entries": [ -# { -# "action": "deny", -# "address": "10.1.1.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 10 -# } -# ], -# "name": "v402" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "5000:1::/64", -# "sequence": 125 -# } -# ], -# "name": "v601" -# } -# ] -# } -# ], -# "changed": true, -# "commands": [ -# "no ipv6 prefix-list v601", -# "ip prefix-list v401", -# "seq 25 deny 45.55.4.0/24", -# "seq 300 permit 30.11.2.0/24 ge 32", -# "no seq 100", -# "no seq 200", -# "ip prefix-list v403", -# "seq 10 deny 10.1.1.0/24", -# "no ip prefix-list v402" -# ], -# # Using deleted: -# Before State: +# Before State: # veos#show running-config | section prefix-list # ip prefix-list v401 # seq 25 deny 45.55.4.0/24 ge 32 @@ -712,12 +569,95 @@ EXAMPLES = """ # seq 125 deny 5000:1::/64 # veos# - - name: Delete device configuration - arista.eos.eos_prefix_lists: - config: - - afi: "ipv6" - state: deleted - +- name: Delete device configuration + arista.eos.eos_prefix_lists: + config: + - afi: "ipv6" + state: deleted + +# Task Output +# ------------- +# before: +# - afi: ipv4 +# prefix_lists: +# - entries: +# - action: deny +# address: 45.55.4.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 25 +# - action: permit +# address: 11.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 100 +# - action: permit +# address: 30.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 300 +# name: v401 +# - entries: +# - action: deny +# address: 10.1.1.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 10 +# name: v402 +# - entries: +# - action: deny +# address: 10.1.1.0/24 +# sequence: 10 +# name: v403 +# - afi: ipv6 +# prefix_lists: +# - entries: +# - action: deny +# address: 5000:1::/64 +# sequence: 125 +# name: v601 +# commands: +# - no ipv6 prefix-list v601 +# after: +# - afi: ipv4 +# prefix_lists: +# - entries: +# - action: deny +# address: 45.55.4.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 25 +# - action: permit +# address: 11.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 100 +# - action: permit +# address: 30.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 300 +# name: v401 +# - entries: +# - action: deny +# address: 10.1.1.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 10 +# name: v402 +# - entries: +# - action: deny +# address: 10.1.1.0/24 +# sequence: 10 +# name: v403 # after State: # veos#show running-config | section prefix-list @@ -732,158 +672,12 @@ EXAMPLES = """ # ip prefix-list v403 # seq 10 deny 10.1.1.0/24 # -# -# Module Execution: -# "after": [ -# { -# "afi": "ipv4", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "45.55.4.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 25 -# }, -# { -# "action": "permit", -# "address": "11.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 100 -# }, -# { -# "action": "permit", -# "address": "30.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 300 -# } -# ], -# "name": "v401" -# }, -# { -# "entries": [ -# { -# "action": "deny", -# "address": "10.1.1.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 10 -# } -# ], -# "name": "v402" -# }, -# { -# "entries": [ -# { -# "action": "deny", -# "address": "10.1.1.0/24", -# "sequence": 10 -# } -# ], -# "name": "v403" -# } -# ] -# } -# ], -# "before": [ -# { -# "afi": "ipv4", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "45.55.4.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 25 -# }, -# { -# "action": "permit", -# "address": "11.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 100 -# }, -# { -# "action": "permit", -# "address": "30.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 300 -# } -# ], -# "name": "v401" -# }, -# { -# "entries": [ -# { -# "action": "deny", -# "address": "10.1.1.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 10 -# } -# ], -# "name": "v402" -# }, -# { -# "entries": [ -# { -# "action": "deny", -# "address": "10.1.1.0/24", -# "sequence": 10 -# } -# ], -# "name": "v403" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "5000:1::/64", -# "sequence": 125 -# } -# ], -# "name": "v601" -# } -# ] -# } -# ], -# "changed": true, -# "commands": [ -# "no ipv6 prefix-list v601" -# ], -# + # Using deleted -# Before state: + +# Before state: # veos#show running-config | section prefix-list # ip prefix-list v401 # seq 25 deny 45.55.4.0/24 ge 32 @@ -897,88 +691,63 @@ EXAMPLES = """ # seq 10 deny 10.1.1.0/24 # veos# - - name: Delete device configuration - arista.eos.eos_prefix_lists: - state: deleted +- name: Delete device configuration + arista.eos.eos_prefix_lists: + state: deleted + + +# Task Output +# ------------- +# before: +# - afi: ipv4 +# prefix_lists: +# - entries: +# - action: deny +# address: 45.55.4.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 25 +# - action: permit +# address: 11.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 100 +# - action: permit +# address: 30.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 300 +# name: v401 +# - entries: +# - action: deny +# address: 10.1.1.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 10 +# name: v402 +# - entries: +# - action: deny +# address: 10.1.1.0/24 +# sequence: 10 +# name: v403 +# commands: +# - no ip prefix-list v401 +# - no ip prefix-list v402 +# - no ip prefix-list v403 +# after: {} # After State: # veos#show running-config | section prefix-list # veos# -# -# Module Execution: -# "after": {}, -# "before": [ -# { -# "afi": "ipv4", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "45.55.4.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 25 -# }, -# { -# "action": "permit", -# "address": "11.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 100 -# }, -# { -# "action": "permit", -# "address": "30.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 300 -# } -# ], -# "name": "v401" -# }, -# { -# "entries": [ -# { -# "action": "deny", -# "address": "10.1.1.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 10 -# } -# ], -# "name": "v402" -# }, -# { -# "entries": [ -# { -# "action": "deny", -# "address": "10.1.1.0/24", -# "sequence": 10 -# } -# ], -# "name": "v403" -# } -# ] -# } -# ], -# "changed": true, -# "commands": [ -# "no ip prefix-list v401", -# "no ip prefix-list v402", -# "no ip prefix-list v403" -# ], -# + # Using parsed: + + # parse_prefix_lists.cfg # ip prefix-list v401 # seq 25 deny 45.55.4.0/24 @@ -990,99 +759,81 @@ EXAMPLES = """ # ipv6 prefix-list v601 # seq 125 deny 5000:1::/64 # - - name: parse configs - arista.eos.eos_prefix_lists: - running_config: "{{ lookup('file', './parsed_prefix_lists.cfg') }}" - state: parsed - -# Module Execution: -# "parsed": [ -# { -# "afi": "ipv4", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "45.55.4.0/24", -# "sequence": 25 -# }, -# { -# "action": "permit", -# "address": "11.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 100 -# } -# ], -# "name": "v401" -# }, -# { -# "entries": [ -# { -# "action": "deny", -# "address": "10.1.1.0/24", -# "sequence": 10 -# } -# ], -# "name": "v402" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "5000:1::/64", -# "sequence": 125 -# } -# ], -# "name": "v601" -# } -# ] -# } -# ] + + +- name: parse configs + arista.eos.eos_prefix_lists: + running_config: "{{ lookup('file', './parsed_prefix_lists.cfg') }}" + state: parsed + + +# Task Output +# ------------- +# parsed: +# - afi: ipv4 +# prefix_lists: +# - entries: +# - action: deny +# address: 45.55.4.0/24 +# sequence: 25 +# - action: permit +# address: 11.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 100 +# name: v401 +# - entries: +# - action: deny +# address: 10.1.1.0/24 +# sequence: 10 +# name: v402 +# - afi: ipv6 +# prefix_lists: +# - entries: +# - action: deny +# address: 5000:1::/64 +# sequence: 125 +# name: v601 + # Using rendered: - - name: Render provided configuration - arista.eos.eos_prefix_lists: - config: - - afi: "ipv4" - prefix_lists: - - name: "v401" - entries: - - sequence: 25 - action: "deny" - address: "45.55.4.0/24" - - sequence: 200 - action: "permit" - address: "200.11.2.0/24" - match: - masklen: 32 - operator: "ge" - - name: "v403" - entries: - - action: "deny" - address: "10.1.1.0/24" - sequence: 10 - state: rendered - -# Module Execution: -# "rendered": [ -# "ip prefix-list v401", -# "seq 25 deny 45.55.4.0/24", -# "seq 200 permit 200.11.2.0/24 ge 32", -# "ip prefix-list v403", -# "seq 10 deny 10.1.1.0/24" -# ] -# + +- name: Render provided configuration + arista.eos.eos_prefix_lists: + config: + - afi: "ipv4" + prefix_lists: + - name: "v401" + entries: + - sequence: 25 + action: "deny" + address: "45.55.4.0/24" + - sequence: 200 + action: "permit" + address: "200.11.2.0/24" + match: + masklen: 32 + operator: "ge" + - name: "v403" + entries: + - action: "deny" + address: "10.1.1.0/24" + sequence: 10 + state: rendered + +# Task Output +# ------------- +# rendered: +# - ip prefix-list v401 +# - seq 25 deny 45.55.4.0/24 +# - seq 200 permit 200.11.2.0/24 ge 32 +# - ip prefix-list v403 +# - seq 10 deny 10.1.1.0/24 # using gathered: + + # Device config: # veos#show running-config | section prefix-list # ip prefix-list v401 @@ -1096,69 +847,95 @@ EXAMPLES = """ # seq 125 deny 5000:1::/64 # veos# - - name: gather configs - arista.eos.eos_prefix_lists: - state: gathered - -# Module Execution: -# -# "gathered": [ -# { -# "afi": "ipv4", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "45.55.4.0/24", -# "sequence": 25 -# }, -# { -# "action": "permit", -# "address": "11.11.2.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 100 -# } -# ], -# "name": "v401" -# }, -# { -# "entries": [ -# { -# "action": "deny", -# "address": "10.1.1.0/24", -# "match": { -# "masklen": 32, -# "operator": "ge" -# }, -# "sequence": 10 -# } -# ], -# "name": "v402" -# } -# ] -# }, -# { -# "afi": "ipv6", -# "prefix_lists": [ -# { -# "entries": [ -# { -# "action": "deny", -# "address": "5000:1::/64", -# "sequence": 125 -# } -# ], -# "name": "v601" -# } -# ] -# } -# ], - +- name: gather configs + arista.eos.eos_prefix_lists: + state: gathered + +# Task Output +# ------------- +# gathered: +# - afi: ipv4 +# prefix_lists: +# - entries: +# - action: deny +# address: 45.55.4.0/24 +# sequence: 25 +# - action: permit +# address: 11.11.2.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 100 +# name: v401 +# - entries: +# - action: deny +# address: 10.1.1.0/24 +# match: +# masklen: 32 +# operator: ge +# sequence: 10 +# name: v402 +# - afi: ipv6 +# prefix_lists: +# - entries: +# - action: deny +# address: 5000:1::/64 +# sequence: 125 +# name: v601 """ +RETURN = """ +before: + description: The configuration prior to the model invocation. + returned: always + type: list + sample: > + The configuration returned will always be in the same format + of the parameters above. +after: + description: The resulting configuration model invocation. + returned: when changed + type: list + sample: > + The configuration returned will always be in the same format + of the parameters above. +commands: + description: The set of commands pushed to the remote device. + returned: always + type: list + sample: + - ip prefix-list v401 + - seq 25 deny 45.55.4.0/24 + - seq 200 permit 200.11.2.0/24 ge 32 + - ip prefix-list v403 + - seq 10 deny 10.1.1.0/24 +rendered: + description: The set of CLI commands generated from the value in C(config) option + returned: When C(state) is I(rendered) + type: list + sample: > + - ip prefix-list v401 + - seq 25 deny 45.55.4.0/24 + - seq 200 permit 200.11.2.0/24 ge 32 + - ip prefix-list v403 + - seq 10 deny 10.1.1.0/24 +gathered: + description: The configuration as structured data transformed for the running configuration + fetched from remote host + returned: When C(state) is I(gathered) + type: list + sample: > + The configuration returned will always be in the same format + of the parameters above. +parsed: + description: The configuration as structured data transformed for the value of + C(running_config) option + returned: When C(state) is I(parsed) + type: list + sample: > + The configuration returned will always be in the same format + of the parameters above. +""" + from ansible.module_utils.basic import AnsibleModule diff --git a/ansible_collections/arista/eos/plugins/modules/eos_route_maps.py b/ansible_collections/arista/eos/plugins/modules/eos_route_maps.py index 3b1869547..76bdc6c37 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_route_maps.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_route_maps.py @@ -70,7 +70,7 @@ options: description: Source route map name. type: str overwrite: - description: if True, overwrite existing config. + description: if true, overwrite existing config. type: bool action: description: Action for matching routes @@ -420,39 +420,39 @@ EXAMPLES = """ # veos#show running-config | section route-map # veos# - - name: Merge provided configuration with device configuration - arista.eos.eos_route_maps: - config: - - route_map: "mapmerge" - entries: - - description: "merged_map" - action: "permit" - sequence: 10 - match: - router_id: 22 - - description: "newmap" - action: "deny" - sequence: 25 - continue_sequence: 45 - match: - interface: "Ethernet1" - - route_map: "mapmerge2" - entries: - - sub_route_map: - name: "mapmerge" - action: "deny" - sequence: 45 - set: - metric: - value: 25 - add: "igp-metric" - as_path: - prepend: - last_as: 2 - match: - ipv6: - resolved_next_hop: "list1" - state: merged +- name: Merge provided configuration with device configuration + arista.eos.eos_route_maps: + config: + - route_map: "mapmerge" + entries: + - description: "merged_map" + action: "permit" + sequence: 10 + match: + router_id: 22 + - description: "newmap" + action: "deny" + sequence: 25 + continue_sequence: 45 + match: + interface: "Ethernet1" + - route_map: "mapmerge2" + entries: + - sub_route_map: + name: "mapmerge" + action: "deny" + sequence: 45 + set: + metric: + value: 25 + add: "igp-metric" + as_path: + prepend: + last_as: 2 + match: + ipv6: + resolved_next_hop: "list1" + state: merged # After State: @@ -475,7 +475,6 @@ EXAMPLES = """ # route-map test permit 10 # veos# - # Module Execution: # "after": [ @@ -570,26 +569,26 @@ EXAMPLES = """ # ! # veos# - - name: Replace - arista.eos.eos_route_maps: - config: - - route_map: "mapmerge" - entries: - - action: "permit" - sequence: 10 - match: - ipv6: - resolved_next_hop: "listr" - - action: "deny" - sequence: 90 - set: - extcommunity: - rt: - vpn: "22:11" - delete: True - ip: - unchanged: True - state: replaced +- name: Replace + arista.eos.eos_route_maps: + config: + - route_map: "mapmerge" + entries: + - action: "permit" + sequence: 10 + match: + ipv6: + resolved_next_hop: "listr" + - action: "deny" + sequence: 90 + set: + extcommunity: + rt: + vpn: "22:11" + delete: true + ip: + unchanged: true + state: replaced # After State: @@ -781,22 +780,22 @@ EXAMPLES = """ # route-map test permit 10 # veos# - - name: Override - arista.eos.eos_route_maps: - config: - - route_map: "mapmerge" - entries: - - action: "permit" - sequence: 10 - match: - ipv6: - resolved_next_hop: "listr" - - action: "deny" - sequence: 90 - set: - metric: - igp_param: "igp-nexthop-cost" - state: overridden +- name: Override + arista.eos.eos_route_maps: + config: + - route_map: "mapmerge" + entries: + - action: "permit" + sequence: 10 + match: + ipv6: + resolved_next_hop: "listr" + - action: "deny" + sequence: 90 + set: + metric: + igp_param: "igp-nexthop-cost" + state: overridden # After State: @@ -946,14 +945,14 @@ EXAMPLES = """ # set as-path prepend last-as 2 # veos# - - name: Delete route-map - arista.eos.eos_route_maps: - config: - - route_map: "mapmerge" - state: deleted - become: yes - tags: - - deleted1 +- name: Delete route-map + arista.eos.eos_route_maps: + config: + - route_map: "mapmerge" + state: deleted + become: true + tags: + - deleted1 # After State: @@ -1087,11 +1086,13 @@ EXAMPLES = """ # set as-path prepend last-as 2 # veos# - - name: Delete all route-maps - arista.eos.eos_route_maps: - state: deleted +- name: Delete all route-maps + arista.eos.eos_route_maps: + state: deleted # After State: +# ------------ + # veos#show running-config | section route-map # veos# # @@ -1177,9 +1178,9 @@ EXAMPLES = """ # set as-path prepend last-as 2 # veos# - - name: gather configs - arista.eos.eos_route_maps: - state: gathered +- name: gather configs + arista.eos.eos_route_maps: + state: gathered # Module Execution: # "gathered": [ @@ -1237,43 +1238,45 @@ EXAMPLES = """ # Using rendered: - - name: Render provided configuration - arista.eos.eos_route_maps: - config: - - route_map: "mapmerge" - entries: - - description: "merged_map" - action: "permit" - sequence: 10 - match: - router_id: 22 - set: - bgp: 20 - - description: "newmap" - action: "deny" - sequence: 25 - continue_sequence: 45 - match: - interface: "Ethernet1" - - route_map: "mapmerge2" - entries: - - sub_route_map: - name: "mapmerge" - action: "deny" - sequence: 45 - set: - metric: - value: 25 - add: "igp-metric" - as_path: - prepend: - last_as: 2 - match: - ipv6: - resolved_next_hop: "list1" - state: rendered +- name: Render provided configuration + arista.eos.eos_route_maps: + config: + - route_map: "mapmerge" + entries: + - description: "merged_map" + action: "permit" + sequence: 10 + match: + router_id: 22 + set: + bgp: 20 + - description: "newmap" + action: "deny" + sequence: 25 + continue_sequence: 45 + match: + interface: "Ethernet1" + - route_map: "mapmerge2" + entries: + - sub_route_map: + name: "mapmerge" + action: "deny" + sequence: 45 + set: + metric: + value: 25 + add: "igp-metric" + as_path: + prepend: + last_as: 2 + match: + ipv6: + resolved_next_hop: "list1" + state: rendered + +# Task output: +# ------------ -# Module Execution: # "rendered": [ # "route-map mapmerge permit 10", # "match router-id prefix-list 22", @@ -1309,10 +1312,10 @@ EXAMPLES = """ # set metric 25 +igp-metric # set as-path prepend last-as 2 - - name: parse configs - arista.eos.eos_route_maps: - running_config: "{{ lookup('file', './parsed.cfg') }}" - state: parsed +- name: parse configs + arista.eos.eos_route_maps: + running_config: "{{ lookup('file', './parsed.cfg') }}" + state: parsed # Module Execution: # "parsed": [ @@ -1370,9 +1373,6 @@ EXAMPLES = """ # "route_map": "mapmerge2" # } # ] - - - """ from ansible.module_utils.basic import AnsibleModule diff --git a/ansible_collections/arista/eos/plugins/modules/eos_snmp_server.py b/ansible_collections/arista/eos/plugins/modules/eos_snmp_server.py index b702c8a46..74162c1c2 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_snmp_server.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_snmp_server.py @@ -434,7 +434,7 @@ options: description: Maximum number of notifications in the log type: int objects: - description: when True Disable implementation of a group of objects + description: when true Disable implementation of a group of objects type: dict suboptions: mac_address_tables: @@ -556,59 +556,61 @@ options: choices: [deleted, merged, overridden, replaced, gathered, rendered, parsed] default: merged """ + EXAMPLES = """ # Using merged: + # Before State # eos#show running-config | section snmp-server # eos# - - name: merge given snmp_server configuration - arista.eos.eos_snmp_server: - config: - communities: - - name: "comm3" - acl_v6: "list1" - view: "view1" - - name: "comm4" - acl_v4: "list3" - view: "view1" - - name: "comm5" - acl_v4: "list4" - ro: True - contact: "admin" - engineid: - remote: - host: 1.1.1.1 - id: "1234567" - groups: - - group: "group1" - version: "v1" - read: "view1" - - group: "group2" - version: "v3" - auth_privacy: "priv" - notify: "view1" - write: "view2" - hosts: - - host: "host02" - user: "user01" - udp_port: 23 - version: "2c" - - host: "host01" - user: "user01" - udp_port: 23 - version: "3 priv" - traps: - capacity: - arista_hardware_utilization_alert: True - bgp: - enabled: True - external_alarm: - arista_external_alarm_deasserted_notif: True - arista_external_alarm_asserted_notif: True - vrfs: - - vrf: "vrf01" - local_interface: "Ethernet1" +- name: merge given snmp_server configuration + arista.eos.eos_snmp_server: + config: + communities: + - name: "comm3" + acl_v6: "list1" + view: "view1" + - name: "comm4" + acl_v4: "list3" + view: "view1" + - name: "comm5" + acl_v4: "list4" + ro: true + contact: "admin" + engineid: + remote: + host: 1.1.1.1 + id: "1234567" + groups: + - group: "group1" + version: "v1" + read: "view1" + - group: "group2" + version: "v3" + auth_privacy: "priv" + notify: "view1" + write: "view2" + hosts: + - host: "host02" + user: "user01" + udp_port: 23 + version: "2c" + - host: "host01" + user: "user01" + udp_port: 23 + version: "3 priv" + traps: + capacity: + arista_hardware_utilization_alert: true + bgp: + enabled: true + external_alarm: + arista_external_alarm_deasserted_notif: true + arista_external_alarm_asserted_notif: true + vrfs: + - vrf: "vrf01" + local_interface: "Ethernet1" # After state # eos#show running-config | section snmp-server @@ -715,6 +717,7 @@ EXAMPLES = """ # # Using replaced: + # Before State: # eos#show running-config | section snmp-server # snmp-server community comm3 view view1 ipv6 list1 @@ -730,29 +733,29 @@ EXAMPLES = """ # snmp-server enable traps capacity arista-hardware-utilization-alert # snmp-server enable traps external-alarm arista-external-alarm-asserted-notif arista-external-alarm-deasserted-notif - - name: Replace given snmp_server configuration - become: true - register: result - arista.eos.eos_snmp_server: &replaced - state: replaced - config: - communities: - - name: "comm3" - acl_v6: "list1" - view: "view1" - - name: "replacecomm" - acl_v4: "list4" - extension: - root_oid: "123456" - script_location: "flash:" - traps: - test: - arista_test_notification: True - bgp: - enabled: True - vrfs: - - vrf: "vrf_replace" - local_interface: "Ethernet1" +- name: Replace given snmp_server configuration + become: true + register: result + arista.eos.eos_snmp_server: &replaced + state: replaced + config: + communities: + - name: "comm3" + acl_v6: "list1" + view: "view1" + - name: "replacecomm" + acl_v4: "list4" + extension: + root_oid: "123456" + script_location: "flash:" + traps: + test: + arista_test_notification: true + bgp: + enabled: true + vrfs: + - vrf: "vrf_replace" + local_interface: "Ethernet1" # After State: @@ -901,27 +904,27 @@ EXAMPLES = """ # snmp-server enable traps capacity arista-hardware-utilization-alert # snmp-server enable traps external-alarm arista-external-alarm-asserted-notif arista-external-alarm-deasserted-notif - - name: Override given snmp_server configuration - arista.eos.eos_snmp_server: - state: overridden - config: - communities: - - name: "comm3" - acl_v6: "list1" - view: "view1" - - name: "replacecomm" - acl_v4: "list4" - extension: - root_oid: "123456" - script_location: "flash:" - traps: - test: - arista_test_notification: True - bgp: - enabled: True - vrfs: - - vrf: "vrf_replace" - local_interface: "Ethernet1" +- name: Override given snmp_server configuration + arista.eos.eos_snmp_server: + state: overridden + config: + communities: + - name: "comm3" + acl_v6: "list1" + view: "view1" + - name: "replacecomm" + acl_v4: "list4" + extension: + root_oid: "123456" + script_location: "flash:" + traps: + test: + arista_test_notification: true + bgp: + enabled: true + vrfs: + - vrf: "vrf_replace" + local_interface: "Ethernet1" # After State: @@ -1070,9 +1073,9 @@ EXAMPLES = """ # snmp-server enable traps capacity arista-hardware-utilization-alert # snmp-server enable traps external-alarm arista-external-alarm-asserted-notif arista-external-alarm-deasserted-notif - - name: Delete given snmp_server configuration - arista.eos.eos_snmp_server: - state: deleted +- name: Delete given snmp_server configuration + arista.eos.eos_snmp_server: + state: deleted # After State: # eos#show running-config | section snmp-server @@ -1182,10 +1185,10 @@ EXAMPLES = """ # snmp-server enable traps external-alarm arista-external-alarm-asserted-notif # snmp-server enable traps external-alarm arista-external-alarm-deasserted-notif - - name: Provide the running configuration for parsing (config to be parsed) - arista.eos.eos_snmp_server: - running_config: "{{ lookup('file', '_parsed.cfg') }}" - state: parsed +- name: Provide the running configuration for parsing (config to be parsed) + arista.eos.eos_snmp_server: + running_config: "{{ lookup('file', '_parsed.cfg') }}" + state: parsed # Module Execution: # "parsed": { @@ -1258,54 +1261,54 @@ EXAMPLES = """ # } # Using rendered: - - name: Render given snmp_server configuration - arista.eos.eos_snmp_server: - state: "rendered" - config: - communities: - - name: "comm3" - acl_v6: "list1" - view: "view1" - - name: "comm4" - acl_v4: "list3" - view: "view1" - - name: "comm5" - acl_v4: "list4" - ro: True - contact: "admin" - engineid: - remote: - host: 1.1.1.1 - id: "1234567" - groups: - - group: "group1" - version: "v1" - read: "view1" - - group: "group2" - version: "v3" - auth_privacy: "priv" - notify: "view1" - write: "view2" - hosts: - - host: "host02" - user: "user01" - udp_port: 23 - version: "2c" - - host: "host01" - user: "user01" - udp_port: 23 - version: "3 priv" - traps: - capacity: - arista_hardware_utilization_alert: True - bgp: - enabled: True - external_alarm: - arista_external_alarm_deasserted_notif: True - arista_external_alarm_asserted_notif: True - vrfs: - - vrf: "vrf01" - local_interface: "Ethernet1" +- name: Render given snmp_server configuration + arista.eos.eos_snmp_server: + state: "rendered" + config: + communities: + - name: "comm3" + acl_v6: "list1" + view: "view1" + - name: "comm4" + acl_v4: "list3" + view: "view1" + - name: "comm5" + acl_v4: "list4" + ro: true + contact: "admin" + engineid: + remote: + host: 1.1.1.1 + id: "1234567" + groups: + - group: "group1" + version: "v1" + read: "view1" + - group: "group2" + version: "v3" + auth_privacy: "priv" + notify: "view1" + write: "view2" + hosts: + - host: "host02" + user: "user01" + udp_port: 23 + version: "2c" + - host: "host01" + user: "user01" + udp_port: 23 + version: "3 priv" + traps: + capacity: + arista_hardware_utilization_alert: true + bgp: + enabled: true + external_alarm: + arista_external_alarm_deasserted_notif: true + arista_external_alarm_asserted_notif: true + vrfs: + - vrf: "vrf01" + local_interface: "Ethernet1" # Module Execution: # "rendered": [ @@ -1340,10 +1343,10 @@ EXAMPLES = """ # snmp-server enable traps capacity arista-hardware-utilization-alert # snmp-server enable traps external-alarm arista-external-alarm-asserted-notif arista-external-alarm-deasserted-notif - - name: Gathered the provided configuration with the exisiting running configuration - arista.eos.eos_snmp_server: - config: - state: gathered +- name: Gathered the provided configuration with the exisiting running configuration + arista.eos.eos_snmp_server: + config: + state: gathered # Module Execution: # "gathered": { @@ -1414,7 +1417,6 @@ EXAMPLES = """ # } # ] # }, - """ RETURN = """ diff --git a/ansible_collections/arista/eos/plugins/modules/eos_static_routes.py b/ansible_collections/arista/eos/plugins/modules/eos_static_routes.py index 5b291b12d..56427b6c5 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_static_routes.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_static_routes.py @@ -161,6 +161,7 @@ options: """ EXAMPLES = """ + # Using deleted # Before State: @@ -174,204 +175,83 @@ EXAMPLES = """ # ipv6 route vrf testvrf 2222:6::/64 Null0 90 name testroute1 # veos(config)# + - name: Delete afi arista.eos.eos_static_routes: config: - - vrf: testvrf - address_families: - - afi: ipv4 + - vrf: testvrf + address_families: + - afi: ipv4 state: deleted -# "after": [ -# { -# "address_families": [ -# { -# "afi": "ipv6", -# "routes": [ -# { -# "dest": "5222:5::/64", -# "next_hops": [ -# { -# "forward_router_address": "4312:100::1", -# "interface": "Management1" -# } -# ] -# } -# ] -# } -# ] -# }, -# { -# "address_families": [ -# { -# "afi": "ipv6", -# "routes": [ -# { -# "dest": "2222:6::/64", -# "next_hops": [ -# { -# "forward_router_address": "4312:100::1", -# "interface": "Management1" -# }, -# { -# "admin_distance": 55, -# "interface": "Ethernet1" -# }, -# { -# "admin_distance": 90, -# "description": "testroute1", -# "interface": "Null0" -# } -# ] -# } -# ] -# } -# ], -# "vrf": "testvrf" -# } -# ], -# "before": [ -# { -# "address_families": [ -# { -# "afi": "ipv6", -# "routes": [ -# { -# "dest": "5222:5::/64", -# "next_hops": [ -# { -# "forward_router_address": "4312:100::1", -# "interface": "Management1" -# } -# ] -# } -# ] -# } -# ] -# }, -# { -# "address_families": [ -# { -# "afi": "ipv4", -# "routes": [ -# { -# "dest": "22.65.1.0/24", -# "next_hops": [ -# { -# "admin_distance": 90, -# "description": "testroute", -# "interface": "Null0" -# } -# ] -# } -# ] -# }, -# { -# "afi": "ipv6", -# "routes": [ -# { -# "dest": "2222:6::/64", -# "next_hops": [ -# { -# "forward_router_address": "4312:100::1", -# "interface": "Management1" -# }, -# { -# "admin_distance": 55, -# "interface": "Ethernet1" -# }, -# { -# "admin_distance": 90, -# "description": "testroute1", -# "interface": "Null0" -# } -# ] -# } -# ] -# } -# ], -# "vrf": "testvrf" -# } -# ], -# "changed": true, -# "commands": [ -# "no ip route vrf testvrf 22.65.1.0/24 Null0 90 name testroute" -# ], + +# Task Output +# ------------- +# before: +# - address_families: +# - afi: ipv6 +# routes: +# - dest: 5222:5::/64 +# next_hops: +# - forward_router_address: 4312:100::1 +# interface: Management1 +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 22.65.1.0/24 +# next_hops: +# - admin_distance: 90 +# description: testroute +# interface: Null0 +# - afi: ipv6 +# routes: +# - dest: 2222:6::/64 +# next_hops: +# - forward_router_address: 4312:100::1 +# interface: Management1 +# - admin_distance: 55 +# interface: Ethernet1 +# - admin_distance: 90 +# description: testroute1 +# interface: Null0 +# vrf: testvrf +# commands: +# - no ip route vrf testvrf 22.65.1.0/24 Null0 90 name testroute +# after: +# - address_families: +# - afi: ipv6 +# routes: +# - dest: 5222:5::/64 +# next_hops: +# - forward_router_address: 4312:100::1 +# interface: Management1 +# - address_families: +# - afi: ipv6 +# routes: +# - dest: 2222:6::/64 +# next_hops: +# - forward_router_address: 4312:100::1 +# interface: Management1 +# - admin_distance: 55 +# interface: Ethernet1 +# - admin_distance: 90 +# description: testroute1 +# interface: Null0 +# vrf: testvrf + # After State # ___________ - # veos(config)#show running-config | grep route # ipv6 route 5222:5::/64 Management1 4312:100::1 # ipv6 route vrf testvrf 2222:6::/64 Management1 4312:100::1 # ipv6 route vrf testvrf 2222:6::/64 Ethernet1 55 # ipv6 route vrf testvrf 2222:6::/64 Null0 90 name testroute1 -# + # Using merged -# Before : [ -# { -# "address_families": [ -# { -# "afi": "ipv4", -# "routes": [ -# { -# "dest": "165.10.1.0/24", -# "next_hops": [ -# { -# "admin_distance": 100, -# "interface": "Ethernet1" -# } -# ] -# }, -# { -# "dest": "172.17.252.0/24", -# "next_hops": [ -# { -# "nexthop_grp": "testgroup" -# } -# ] -# } -# ] -# }, -# { -# "afi": "ipv6", -# "routes": [ -# { -# "dest": "5001::/64", -# "next_hops": [ -# { -# "admin_distance": 50, -# "interface": "Ethernet1" -# } -# ] -# } -# ] -# } -# ] -# }, -# { -# "address_families": [ -# { -# "afi": "ipv4", -# "routes": [ -# { -# "dest": "130.1.122.0/24", -# "next_hops": [ -# { -# "interface": "Ethernet1", -# "tag": 50 -# } -# ] -# } -# ] -# } -# ], -# "vrf": "testvrf" -# } -# ] -# + # Before State # ------------- # veos(config)#show running-config | grep "route" @@ -381,99 +261,84 @@ EXAMPLES = """ # ipv6 route 5001::/64 Ethernet1 50 # veos(config)# + - name: Merge new static route configuration arista.eos.eos_static_routes: config: - - vrf: testvrf - address_families: - - afi: ipv6 - routes: - - dest: 2211::0/64 - next_hop: - - forward_router_address: 100:1::2 - interface: Ethernet1 + - vrf: testvrf + address_families: + - afi: ipv6 + routes: + - dest: 2211::0/64 + next_hop: + - forward_router_address: 100:1::2 + interface: Ethernet1 state: merged + +# Task Output +# ------------- +# before: +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 165.10.1.0/24 +# next_hops: +# - admin_distance: 100 +# interface: Ethernet1 +# - dest: 172.17.252.0/24 +# next_hops: +# - nexthop_grp: testgroup +# - afi: ipv6 +# routes: +# - dest: 5001::/64 +# next_hops: +# - admin_distance: 50 +# interface: Ethernet1 +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 130.1.122.0/24 +# next_hops: +# - interface: Ethernet1 +# tag: 50 +# vrf: testvrf +# commands: +# - ipv6 route 2211::/64 Ethernet1 100:1::2 +# after: +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 165.10.1.0/24 +# next_hops: +# - admin_distance: 100 +# interface: Ethernet1 +# - dest: 172.17.252.0/24 +# next_hops: +# - nexthop_grp: testgroup +# - afi: ipv6 +# routes: +# - dest: 5001::/64 +# next_hops: +# - admin_distance: 50 +# interface: Ethernet1 +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 130.1.122.0/24 +# next_hops: +# - interface: Ethernet1 +# tag: 50 +# - afi: ipv6 +# routes: +# - dest: 2211::0/64 +# next_hops: +# - aforward_router_address: "100:1::2" +# interface: Ethernet1 +# vrf: testvrf + # After State # ----------- - -#After [ -# { -# "address_families": [ -# { -# "afi": "ipv4", -# "routes": [ -# { -# "dest": "165.10.1.0/24", -# "next_hops": [ -# { -# "admin_distance": 100, -# "interface": "Ethernet1" -# } -# ] -# }, -# { -# "dest": "172.17.252.0/24", -# "next_hops": [ -# { -# "nexthop_grp": "testgroup" -# } -# ] -# } -# ] -# }, -# { -# "afi": "ipv6", -# "routes": [ -# { -# "dest": "5001::/64", -# "next_hops": [ -# { -# "admin_distance": 50, -# "interface": "Ethernet1" -# } -# ] -# } -# ] -# } -# ] -# }, -# { -# "address_families": [ -# { -# "afi": "ipv4", -# "routes": [ -# { -# "dest": "130.1.122.0/24", -# "next_hops": [ -# { -# "interface": "Ethernet1", -# "tag": 50 -# } -# ] -# } -# ] -# }, -# { -# "afi": "ipv6", -# "routes": [ -# { -# "dest": "2211::0/64", -# "next_hops": [ -# { -# "aforward_router_address": 100:1::2 -# "interface": "Ethernet1" -# } -# ] -# } -# ] -# } - -# ], -# "vrf": "testvrf" -# } -# ] -# # veos(config)#show running-config | grep "route" # ip route 165.10.1.0/24 Ethernet1 100 # ip route 172.17.252.0/24 Nexthop-Group testgroup @@ -488,68 +353,6 @@ EXAMPLES = """ # Before State # ------------- - -# "before": [ -# { -# "address_families": [ -# { -# "afi": "ipv4", -# "routes": [ -# { -# "dest": "165.10.1.0/24", -# "next_hops": [ -# { -# "admin_distance": 100, -# "interface": "Ethernet1" -# } -# ] -# }, -# { -# "dest": "172.17.252.0/24", -# "next_hops": [ -# { -# "nexthop_grp": "testgroup" -# } -# ] -# } -# ] -# }, -# { -# "afi": "ipv6", -# "routes": [ -# { -# "dest": "5001::/64", -# "next_hops": [ -# { -# "admin_distance": 50, -# "interface": "Ethernet1" -# } -# ] -# } -# ] -# } -# ] -# }, -# { -# "address_families": [ -# { -# "afi": "ipv4", -# "routes": [ -# { -# "dest": "130.1.122.0/24", -# "next_hops": [ -# { -# "interface": "Ethernet1", -# "tag": 50 -# } -# ] -# } -# ] -# } -# ], -# "vrf": "testvrf" -# } -# ] # veos(config)#show running-config | grep "route" # ip route 165.10.1.0/24 Ethernet1 100 # ip route 172.17.252.0/24 Nexthop-Group testgroup @@ -557,39 +360,63 @@ EXAMPLES = """ # ipv6 route 5001::/64 Ethernet1 50 # veos(config)# + - name: Overridden static route configuration arista.eos.eos_static_routes: config: - - address_families: - - afi: ipv4 - routes: - - dest: 10.2.2.0/24 - next_hop: - - interface: Ethernet1 + - address_families: + - afi: ipv4 + routes: + - dest: 10.2.2.0/24 + next_hop: + - interface: Ethernet1 state: replaced + +# Task Output +# ------------- +# before: +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 165.10.1.0/24 +# next_hops: +# - admin_distance: 100 +# interface: Ethernet1 +# - dest: 172.17.252.0/24 +# next_hops: +# - nexthop_grp: testgroup +# - afi: ipv6 +# routes: +# - dest: 5001::/64 +# next_hops: +# - admin_distance: 50 +# interface: Ethernet1 +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 130.1.122.0/24 +# next_hops: +# - interface: Ethernet1 +# tag: 50 +# vrf: testvrf +# commands: +# - no ip route 165.10.1.0/24 Ethernet1 100 +# - no ip route 172.17.252.0/24 Nexthop-Group testgroup +# - no ip route vrf testvrf 130.1.122.0/24 Ethernet1 tag 50 +# - no ipv6 route 5001::/64 Ethernet1 50 +# - ip route 10.2.2.0/24 Ethernet1 +# after: +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 10.2.2.0/24 +# next_hops: +# - interface: Ethernet1 + + # After State # ----------- - -# "after": [ -# { -# "address_families": [ -# { -# "afi": "ipv4", -# "routes": [ -# { -# "dest": "10.2.2.0/24", -# "next_hops": [ -# { -# "interface": "Ethernet1" -# } -# ] -# } -# ] -# } -# ] -# } -# ] # veos(config)#show running-config | grep "route" # ip route 10.2.2.0/24 Ethernet1 # veos(config)# @@ -599,7 +426,6 @@ EXAMPLES = """ # Before State # ------------- - # ip route 10.2.2.0/24 Ethernet1 # ip route 10.2.2.0/24 64.1.1.1 label 17 33 # ip route 33.33.33.0/24 Nexthop-Group testgrp @@ -609,108 +435,102 @@ EXAMPLES = """ # ipv6 route vrf testvrf 2222:6::/64 Ethernet1 55 # ipv6 route vrf testvrf 2222:6::/64 Null0 90 name testroute1 -# [ -# { -# "address_families": [ -# { -# "afi": "ipv4", -# "routes": [ -# { -# "dest": "10.2.2.0/24", -# "next_hops": [ -# { -# "interface": "Ethernet1" -# }, -# { -# "admin_distance": 33, -# "interface": "64.1.1.1", -# "mpls_label": 17 -# } -# ] -# }, -# { -# "dest": "33.33.33.0/24", -# "next_hops": [ -# { -# "nexthop_grp": "testgrp" -# } -# ] -# } -# ] -# }, -# { -# "afi": "ipv6", -# "routes": [ -# { -# "dest": "5222:5::/64", -# "next_hops": [ -# { -# "forward_router_address": "4312:100::1", -# "interface": "Management1" -# } -# ] -# } -# ] -# } -# ] -# }, -# { -# "address_families": [ -# { -# "afi": "ipv4", -# "routes": [ -# { -# "dest": "22.65.1.0/24", -# "next_hops": [ -# { -# "admin_distance": 90, -# "description": "testroute", -# "interface": "Null0" -# } -# ] -# } -# ] -# }, -# { -# "afi": "ipv6", -# "routes": [ -# { -# "dest": "2222:6::/64", -# "next_hops": [ -# { -# "forward_router_address": "4312:100::1", -# "interface": "Management1" -# }, -# { -# "admin_distance": 90, -# "description": "testroute1", -# "interface": "Null0" -# } -# ] -# } -# ] -# } -# ], -# "vrf": "testvrf" -# } -# ] - name: Replace nexthop arista.eos.eos_static_routes: config: - - vrf: testvrf - address_families: - - afi: ipv6 - routes: - - dest: 2222:6::/64 - next_hops: - - admin_distance: 55 - interface: Ethernet1 + - vrf: testvrf + address_families: + - afi: ipv6 + routes: + - dest: 2222:6::/64 + next_hops: + - admin_distance: 56 + interface: Ethernet1 state: replaced + +# Task Output +# ------------- +# before: +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 10.2.2.0/24 +# next_hops: +# - interface: Ethernet1 +# - admin_distance: 33 +# interface: 64.1.1.1 +# mpls_label: 17 +# - dest: 33.33.33.0/24 +# next_hops: +# - nexthop_grp: testgrp +# - afi: ipv6 +# routes: +# - dest: 5222:5::/64 +# next_hops: +# - forward_router_address: 4312:100::1 +# interface: Management1 +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 22.65.1.0/24 +# next_hops: +# - admin_distance: 90 +# description: testroute +# interface: Null0 +# - afi: ipv6 +# routes: +# - dest: 2222:6::/64 +# next_hops: +# - forward_router_address: 4312:100::1 +# interface: Management1 +# - admin_distance: 90 +# description: testroute1 +# interface: Null0 +# vrf: testvrf +# commands: +# - no ipv6 route vrf testvrf 2222:6::/64 Management1 4312:100::1 +# - no ipv6 route vrf testvrf 2222:6::/64 Ethernet1 55 +# - no ipv6 route vrf testvrf 2222:6::/64 Null0 90 name testroute1 +# - ipv6 route vrf testvrf 2222:6::/64 Ethernet1 56 +# after: +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 10.2.2.0/24 +# next_hops: +# - interface: Ethernet1 +# - admin_distance: 33 +# interface: 64.1.1.1 +# mpls_label: 17 +# - dest: 33.33.33.0/24 +# next_hops: +# - nexthop_grp: testgrp +# - afi: ipv6 +# routes: +# - dest: 5222:5::/64 +# next_hops: +# - forward_router_address: 4312:100::1 +# interface: Management1 +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 22.65.1.0/24 +# next_hops: +# - admin_distance: 90 +# description: testroute +# interface: Null0 +# - afi: ipv6 +# routes: +# - dest: 2222:6::/64 +# next_hops: +# - admin_distance: 56 +# interface: Ethernet1 +# vrf: testvrf + # After State # ----------- - # veos(config)#show running-config | grep route # ip route 10.2.2.0/24 Ethernet1 # ip route 10.2.2.0/24 64.1.1.1 label 17 33 @@ -719,86 +539,9 @@ EXAMPLES = """ # ipv6 route 5222:5::/64 Management1 4312:100::1 # ipv6 route vrf testvrf 2222:6::/64 Ethernet1 55 -# "after": [ -# { -# "address_families": [ -# { -# "afi": "ipv4", -# "routes": [ -# { -# "dest": "10.2.2.0/24", -# "next_hops": [ -# { -# "interface": "Ethernet1" -# }, -# { -# "admin_distance": 33, -# "interface": "64.1.1.1", -# "mpls_label": 17 -# } -# ] -# }, -# { -# "dest": "33.33.33.0/24", -# "next_hops": [ -# { -# "nexthop_grp": "testgrp" -# } -# ] -# } -# ] -# }, -# { -# "afi": "ipv6", -# "routes": [ -# { -# "dest": "5222:5::/64", -# "next_hops": [ -# { -# "forward_router_address": "4312:100::1", -# "interface": "Management1" -# } -# ] -# } -# ] -# } -# ] -# }, -# { -# "address_families": [ -# { -# "afi": "ipv4", -# "routes": [ -# { -# "dest": "22.65.1.0/24", -# "next_hops": [ -# { -# "admin_distance": 90, -# "description": "testroute", -# "interface": "Null0" -# } -# ] -# } -# ] -# }, -# { -# "afi": "ipv6", -# "routes": [ -# { -# "dest": "2222:6::/64", -# "next_hops": [ -# { -# "admin_distance": 55, -# "interface": "Ethernet1" -# } -# ] -# } -# ] -# } -# ], -# "vrf": "testvrf" -# } -# ] + +# Using Gathered + # Before State # ------------- @@ -812,22 +555,22 @@ EXAMPLES = """ arista.eos.eos_static_routes: state: gathered -# returns : -# arista.eos.eos_static_routes: -# config: -# - address_families: -# - afi: ipv4 -# routes: -# - dest: 165.10.1.0/24 -# next_hop: -# - forward_router_address: 10.1.1.2 -# interface: "Ethernet1" -# admin_distance: 100 -# - afi: ipv6 -# routes: -# - dest: 5001::/64 -# next_hop: -# - interface: "Ethernet1" +# Task Output +# ------------- +# gathered: +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 165.10.1.0/24 +# next_hop: +# - forward_router_address: 10.1.1.2 +# interface: Ethernet1 +# admin_distance: 100 +# - afi: ipv6 +# routes: +# - dest: 5001::/64 +# next_hop: +# - interface: Ethernet1 # Using rendered @@ -848,12 +591,45 @@ EXAMPLES = """ # next_hop: # - interface: "Ethernet1" -# returns: +# Task Output +# ------------- +# rendered: +# - ip route 165.10.1.0/24 Ethernet1 10.1.1.2 100 +# - ipv6 route 5001::/64 Ethernet1 + + +# Using parsed: + + +# parse_static_routes.cfg # ip route 165.10.1.0/24 Ethernet1 10.1.1.2 100 # ipv6 route 5001::/64 Ethernet1 +# +- name: parse configs + arista.eos.eos_static_routes: + running_config: "{{ lookup('file', './parse_static_routes.cfg') }}" + state: parsed + + +# Task Output +# ------------- +# parsed: +# - address_families: +# - afi: ipv4 +# routes: +# - dest: 165.10.1.0/24 +# next_hop: +# - forward_router_address: 10.1.1.2 +# interface: Ethernet1 +# admin_distance: 100 +# - afi: ipv6 +# routes: +# - dest: 5001::/64 +# next_hop: +# - interface: Ethernet1 """ RETURN = """ before: @@ -876,40 +652,14 @@ commands: type: list sample: - ip route vrf vrf1 192.2.2.0/24 125.2.3.1 93 + - ipv6 route 5001::/64 Ethernet1 rendered: description: The set of CLI commands generated from the value in C(config) option returned: When C(state) is I(rendered) type: list sample: > - "address_families": [ - { - "afi": "ipv4", - "routes": [ - { - "dest": "192.2.2.0/24", - "next_hops": [ - { - "admin_distance": 93, - "description": null, - "forward_router_address": null, - "interface": "125.2.3.1", - "mpls_label": null, - "nexthop_grp": null, - "tag": null, - "track": null, - "vrf": null - } - ] - } - ] - } - ], - "vrf": "vrf1" - } - ], - "running_config": null, - "state": "rendered" - } + - ip route 165.10.1.0/24 Ethernet1 10.1.1.2 100 + - ipv6 route 5001::/64 Ethernet1 gathered: description: The configuration as structured data transformed for the running configuration fetched from remote host diff --git a/ansible_collections/arista/eos/plugins/modules/eos_system.py b/ansible_collections/arista/eos/plugins/modules/eos_system.py index 9fb1aca9f..b38d9772d 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_system.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_system.py @@ -96,22 +96,22 @@ EXAMPLES = """ - name: configure DNS lookup sources with VRF support arista.eos.eos_system: lookup_source: - - interface: Management1 - vrf: mgmt - - interface: Ethernet1 - vrf: myvrf + - interface: Management1 + vrf: mgmt + - interface: Ethernet1 + vrf: myvrf - name: configure name servers arista.eos.eos_system: name_servers: - - 8.8.8.8 - - 8.8.4.4 + - 8.8.8.8 + - 8.8.4.4 - name: configure name servers with VRF support arista.eos.eos_system: name_servers: - - {server: 8.8.8.8, vrf: mgmt} - - {server: 8.8.4.4, vrf: mgmt} + - {server: 8.8.8.8, vrf: mgmt} + - {server: 8.8.4.4, vrf: mgmt} """ RETURN = """ @@ -199,13 +199,11 @@ def map_obj_to_commands(want, have, module): ) values = (item["vrf"], item["interface"]) commands.append( - "no ip domain lookup vrf %s source-interface %s" - % values, + "no ip domain lookup vrf %s source-interface %s" % values, ) else: commands.append( - "no ip domain lookup source-interface %s" - % item["interface"], + "no ip domain lookup source-interface %s" % item["interface"], ) # handle lookup_source items to be added @@ -218,13 +216,11 @@ def map_obj_to_commands(want, have, module): ) values = (item["vrf"], item["interface"]) commands.append( - "ip domain lookup vrf %s source-interface %s" - % values, + "ip domain lookup vrf %s source-interface %s" % values, ) else: commands.append( - "ip domain lookup source-interface %s" - % item["interface"], + "ip domain lookup source-interface %s" % item["interface"], ) if want["name_servers"]: diff --git a/ansible_collections/arista/eos/plugins/modules/eos_user.py b/ansible_collections/arista/eos/plugins/modules/eos_user.py index 519892daf..464b8ec75 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_user.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_user.py @@ -169,13 +169,13 @@ EXAMPLES = """ - name: remove all users except admin arista.eos.eos_user: - purge: yes + purge: true - name: set multiple users to privilege level 15 arista.eos.eos_user: aggregate: - - name: netop - - name: netend + - name: netop + - name: netend privilege: 15 state: present diff --git a/ansible_collections/arista/eos/plugins/modules/eos_vlans.py b/ansible_collections/arista/eos/plugins/modules/eos_vlans.py index 7c834a3ac..a038722ba 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_vlans.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_vlans.py @@ -104,7 +104,7 @@ EXAMPLES = """ - name: Delete attributes of the given VLANs. arista.eos.eos_vlans: config: - - vlan_id: 20 + - vlan_id: 20 state: deleted # After state: @@ -130,8 +130,8 @@ EXAMPLES = """ - name: Merge given VLAN attributes with device configuration arista.eos.eos_vlans: config: - - vlan_id: 20 - state: suspend + - vlan_id: 20 + state: suspend state: merged # After state: @@ -161,8 +161,8 @@ EXAMPLES = """ - name: Override device configuration of all VLANs with provided configuration arista.eos.eos_vlans: config: - - vlan_id: 20 - state: suspend + - vlan_id: 20 + state: suspend state: overridden # After state: @@ -188,8 +188,8 @@ EXAMPLES = """ - name: Replace all attributes of specified VLANs with provided configuration arista.eos.eos_vlans: config: - - vlan_id: 20 - state: suspend + - vlan_id: 20 + state: suspend state: replaced # After state: @@ -230,10 +230,10 @@ EXAMPLES = """ - name: Use Rendered to convert the structured data to native config arista.eos.eos_vlans: config: - - vlan_id: 10 - name: ten - - vlan_id: 20 - state: suspend + - vlan_id: 10 + name: ten + - vlan_id: 20 + state: suspend state: rendered # Output: @@ -265,7 +265,6 @@ EXAMPLES = """ # name: ten # - vlan_id: 20 # state: suspend - """ RETURN = """ before: @@ -295,9 +294,7 @@ from ansible.module_utils.basic import AnsibleModule from ansible_collections.arista.eos.plugins.module_utils.network.eos.argspec.vlans.vlans import ( VlansArgs, ) -from ansible_collections.arista.eos.plugins.module_utils.network.eos.config.vlans.vlans import ( - Vlans, -) +from ansible_collections.arista.eos.plugins.module_utils.network.eos.config.vlans.vlans import Vlans def main(): diff --git a/ansible_collections/arista/eos/plugins/modules/eos_vrf.py b/ansible_collections/arista/eos/plugins/modules/eos_vrf.py index 705796512..556ef3233 100644 --- a/ansible_collections/arista/eos/plugins/modules/eos_vrf.py +++ b/ansible_collections/arista/eos/plugins/modules/eos_vrf.py @@ -127,7 +127,7 @@ EXAMPLES = """ name: test rd: 1:200 interfaces: - - Ethernet2 + - Ethernet2 state: present - name: Delete VRFs @@ -138,20 +138,20 @@ EXAMPLES = """ - name: Create aggregate of VRFs with purge arista.eos.eos_vrf: aggregate: - - name: test4 - rd: 1:204 - - name: test5 - rd: 1:205 + - name: test4 + rd: 1:204 + - name: test5 + rd: 1:205 state: present - purge: yes + purge: true - name: Delete aggregate of VRFs arista.eos.eos_vrf: aggregate: - - name: test2 - - name: test3 - - name: test4 - - name: test5 + - name: test2 + - name: test3 + - name: test4 + - name: test5 state: absent """ @@ -226,8 +226,7 @@ def map_obj_to_commands(updates, module): commands.append("vrf %s" % w["name"]) elif set(w["interfaces"]) != obj_in_have["interfaces"]: missing_interfaces = list( - set(w["interfaces"]) - - set(obj_in_have["interfaces"]), + set(w["interfaces"]) - set(obj_in_have["interfaces"]), ) for i in missing_interfaces: @@ -298,9 +297,7 @@ def map_params_to_obj(module): if item.get("interfaces"): item["interfaces"] = [ - intf.replace(" ", "").lower() - for intf in item.get("interfaces") - if intf + intf.replace(" ", "").lower() for intf in item.get("interfaces") if intf ] if item.get("associated_interfaces"): @@ -318,14 +315,12 @@ def map_params_to_obj(module): "state": module.params["state"], "rd": module.params["rd"], "interfaces": [ - intf.replace(" ", "").lower() - for intf in module.params["interfaces"] + intf.replace(" ", "").lower() for intf in module.params["interfaces"] ] if module.params["interfaces"] else [], "associated_interfaces": [ - intf.replace(" ", "").lower() - for intf in module.params["associated_interfaces"] + intf.replace(" ", "").lower() for intf in module.params["associated_interfaces"] ] if module.params["associated_interfaces"] else [], @@ -357,8 +352,7 @@ def check_declarative_intent_params(want, module, result): interfaces = obj_in_have.get("interfaces") if interfaces is not None and i not in interfaces: module.fail_json( - msg="Interface %s not configured on vrf %s" - % (i, w["name"]), + msg="Interface %s not configured on vrf %s" % (i, w["name"]), ) diff --git a/ansible_collections/arista/eos/plugins/terminal/eos.py b/ansible_collections/arista/eos/plugins/terminal/eos.py index 8ea27e296..e6ceb5762 100644 --- a/ansible_collections/arista/eos/plugins/terminal/eos.py +++ b/ansible_collections/arista/eos/plugins/terminal/eos.py @@ -27,9 +27,7 @@ import re from ansible.errors import AnsibleConnectionFailure from ansible.module_utils._text import to_bytes, to_text -from ansible_collections.ansible.netcommon.plugins.plugin_utils.terminal_base import ( - TerminalBase, -) +from ansible_collections.ansible.netcommon.plugins.plugin_utils.terminal_base import TerminalBase class TerminalModule(TerminalBase): @@ -89,8 +87,7 @@ class TerminalModule(TerminalBase): prompt = self._get_prompt() if prompt is None or not prompt.endswith(b"#"): raise AnsibleConnectionFailure( - "failed to elevate privilege to enable mode still at prompt [%s]" - % prompt, + "failed to elevate privilege to enable mode still at prompt [%s]" % prompt, ) except AnsibleConnectionFailure as e: prompt = self._get_prompt() diff --git a/ansible_collections/arista/eos/pyproject.toml b/ansible_collections/arista/eos/pyproject.toml index 4b00287ea..fa4225f3e 100644 --- a/ansible_collections/arista/eos/pyproject.toml +++ b/ansible_collections/arista/eos/pyproject.toml @@ -1,5 +1,5 @@ [tool.black] -line-length = 79 +line-length = 100 [tool.pytest.ini_options] addopts = ["-vvv", "-n", "2", "--log-level", "WARNING", "--color", "yes"] diff --git a/ansible_collections/arista/eos/test-requirements.txt b/ansible_collections/arista/eos/test-requirements.txt index cf5a3336a..0ff1eda81 100644 --- a/ansible_collections/arista/eos/test-requirements.txt +++ b/ansible_collections/arista/eos/test-requirements.txt @@ -1,4 +1,4 @@ -black==22.3.0 ; python_version > '3.5' +black==23.3.0 ; python_version >= '3.7' coverage==4.5.4 cffi==1.14.5 flake8 diff --git a/ansible_collections/arista/eos/tests/config.yml b/ansible_collections/arista/eos/tests/config.yml new file mode 100644 index 000000000..41f529264 --- /dev/null +++ b/ansible_collections/arista/eos/tests/config.yml @@ -0,0 +1,3 @@ +--- +modules: + python_requires: ">=3.6" diff --git a/ansible_collections/arista/eos/tests/integration/targets/eos_acls/tests/common/_parsed.cfg b/ansible_collections/arista/eos/tests/integration/targets/eos_acls/tests/common/_parsed.cfg index 346535809..63315d2fc 100644 --- a/ansible_collections/arista/eos/tests/integration/targets/eos_acls/tests/common/_parsed.cfg +++ b/ansible_collections/arista/eos/tests/integration/targets/eos_acls/tests/common/_parsed.cfg @@ -1,3 +1,6 @@ +ipv6 access-list test2 + 10 deny icmpv6 any any reject-route hop-limit eq 20 +! ip access-list test1 35 deny tcp 20.0.0.0/8 any log 45 remark Run by ansible diff --git a/ansible_collections/arista/eos/tests/integration/targets/eos_acls/tests/common/_parsed_cfg.yaml b/ansible_collections/arista/eos/tests/integration/targets/eos_acls/tests/common/_parsed_cfg.yaml index 4380ec233..9e10f1ca4 100644 --- a/ansible_collections/arista/eos/tests/integration/targets/eos_acls/tests/common/_parsed_cfg.yaml +++ b/ansible_collections/arista/eos/tests/integration/targets/eos_acls/tests/common/_parsed_cfg.yaml @@ -8,3 +8,5 @@ - "35 deny tcp 20.0.0.0/8 any log" - "45 remark Run by ansible" - "55 permit tcp any any" + - "ipv6 access-list test2" + - "10 deny icmpv6 any any reject-route hop-limit eq 20" diff --git a/ansible_collections/arista/eos/tests/integration/targets/eos_bgp_global/tests/common/overridden.yaml b/ansible_collections/arista/eos/tests/integration/targets/eos_bgp_global/tests/common/overridden.yaml new file mode 100644 index 000000000..289af59c5 --- /dev/null +++ b/ansible_collections/arista/eos/tests/integration/targets/eos_bgp_global/tests/common/overridden.yaml @@ -0,0 +1,68 @@ +--- +- ansible.builtin.debug: + msg: Start eos_bgp_global overridden integration tests ansible_connection={{ + ansible_connection }} + +- ansible.builtin.include_tasks: _remove_config.yaml + +- ansible.builtin.include_tasks: _populate.yaml + +- block: + - name: Override given bgp_global configuration + become: true + register: result + arista.eos.eos_bgp_global: &overridden + state: "overridden" + config: + as_number: "65536" + vrfs: + - vrf: "vrf02" + redistribute: + - protocol: "isis" + isis_level: "level-2" + timers: + holdtime: 100 + keepalive: 44 + network: + - address: "6.6.6.0/24" + route_map: "netmap1" + - address: "10.1.0.0/16" + redistribute: + - protocol: "isis" + isis_level: "level-2" + + - ansible.builtin.assert: + that: + - result.commands|length == 22 + - result.changed == true + - result.commands|symmetric_difference(replaced.commands) == [] + - result.after == replaced.after + - result.before == populate.global + + - name: Idempotency check + become: true + register: result + arista.eos.eos_bgp_global: *overridden + + - ansible.builtin.assert: + that: + - result.commands|length == 0 + - result.changed == false + + - name: Configure address_family under vrf + become: true + arista.eos.eos_config: + src: populate_af.cfg + + - name: Override in presence of address_family + become: true + ignore_errors: true + register: result + arista.eos.eos_bgp_global: *overridden + + - ansible.builtin.assert: + that: + - result.msg == 'Use the _bgp_address_family module to delete the address_family under vrf, before replacing/deleting the vrf.' + + always: + - ansible.builtin.include_tasks: _remove_config.yaml diff --git a/ansible_collections/arista/eos/tests/integration/targets/eos_config/templates/basic/interface_config.j2 b/ansible_collections/arista/eos/tests/integration/targets/eos_config/templates/basic/interface_config.j2 new file mode 100644 index 000000000..cba0b3939 --- /dev/null +++ b/ansible_collections/arista/eos/tests/integration/targets/eos_config/templates/basic/interface_config.j2 @@ -0,0 +1,3 @@ +interface Ethernet2 + description this is a test + shutdown diff --git a/ansible_collections/arista/eos/tests/integration/targets/eos_config/tests/cli/replace_block.yaml b/ansible_collections/arista/eos/tests/integration/targets/eos_config/tests/cli/replace_block.yaml new file mode 100644 index 000000000..009d377e6 --- /dev/null +++ b/ansible_collections/arista/eos/tests/integration/targets/eos_config/tests/cli/replace_block.yaml @@ -0,0 +1,44 @@ +--- +- ansible.builtin.debug: msg="START cli/replace_block.yaml on connection={{ ansible_connection }}" + +- name: setup + become: true + arista.eos.eos_config: + commands: + - no description + - no shutdown + parents: + - interface Ethernet2 + match: none + +- name: configure device with config + become: true + register: result1 + arista.eos.eos_config: + lines: "{{ lookup('template', 'basic/interface_config.j2') }}" + replace: block + +- ansible.builtin.assert: + that: + - result1.changed == true + +- name: setup + become: true + arista.eos.eos_config: + commands: + - no description + - no shutdown + parents: + - interface Ethernet2 + match: none + +- name: "Populate acl configuration with replace block and src options" + become: true + register: result2 + arista.eos.eos_config: + src: basic/interface_config.j2 + +- ansible.builtin.assert: + that: + - result2.changed == true + - result1.commands == result2.commands diff --git a/ansible_collections/arista/eos/tests/integration/targets/eos_ntp_global/tests/common/update.yaml b/ansible_collections/arista/eos/tests/integration/targets/eos_ntp_global/tests/common/update.yaml new file mode 100644 index 000000000..84cc59d22 --- /dev/null +++ b/ansible_collections/arista/eos/tests/integration/targets/eos_ntp_global/tests/common/update.yaml @@ -0,0 +1,72 @@ +--- +- ansible.builtin.debug: + msg: Start eos_ntp_global update integration tests ansible_connection={{ + ansible_connection }} + +- block: + - name: merge given ntp_global configuration + become: true + register: result + arista.eos.eos_ntp_global: &update + config: + authenticate: + enable: true + authentication_keys: + - algorithm: "sha1" + encryption: 7 + id: 2 + key: "123456" + - algorithm: "md5" + encryption: 7 + id: 23 + key: "123456" + local_interface: "Ethernet1" + qos_dscp: 10 + serve: + access_lists: + - acls: + - acl_name: "acl01" + direction: "in" + afi: "ip" + - acls: + - acl_name: "acl02" + direction: "in" + afi: "ipv6" + servers: + - burst: true + prefer: true + server: "10.1.1.1" + vrf: "vrf01" + - burst: true + minpoll: 13 + prefer: true + server: "11.21.1.1" + vrf: "vrf01" + - key_id: 2 + maxpoll: 15 + server: "25.1.1.1" + vrf: "vrf01" + - server: "1.1.1.1" + vrf: "vrf01" + local_interface: "Management1" + trusted_key: "23" + + - ansible.builtin.assert: + that: + - result.commands|length == 12 + - result.changed == true + - result.commands|symmetric_difference(updated.commands) == [] + - result.after == updated.after + - result.before == {} + + - name: Idempotency check + become: true + register: result + arista.eos.eos_ntp_global: *update + + - ansible.builtin.assert: + that: + - result.commands|length == 0 + - result.changed == false + always: + - ansible.builtin.include_tasks: _remove_config.yaml diff --git a/ansible_collections/arista/eos/tests/integration/targets/eos_ntp_global/vars/main.yaml b/ansible_collections/arista/eos/tests/integration/targets/eos_ntp_global/vars/main.yaml index 1ad174f74..d08d7e9cd 100644 --- a/ansible_collections/arista/eos/tests/integration/targets/eos_ntp_global/vars/main.yaml +++ b/ansible_collections/arista/eos/tests/integration/targets/eos_ntp_global/vars/main.yaml @@ -26,6 +26,63 @@ deleted: - "no ntp qos dscp 10" - "no ntp trusted-key 23" +updated: + commands: + - "ntp serve ip access-group acl01 in" + - "ntp serve ipv6 access-group acl02 in" + - "ntp authentication-key 2 sha1 7 ********" + - "ntp authentication-key 23 md5 7 ********" + - "ntp server vrf vrf01 10.1.1.1 burst prefer" + - "ntp server vrf vrf01 11.21.1.1 burst minpoll 13 prefer" + - "ntp server vrf vrf01 25.1.1.1 key 2 maxpoll 15" + - "ntp server vrf vrf01 1.1.1.1 local-interface Management1" + - "ntp authenticate" + - "ntp local-interface Ethernet1" + - "ntp qos dscp 10" + - "ntp trusted-key 23" + after: + authenticate: + enable: true + authentication_keys: + - algorithm: "sha1" + encryption: 7 + id: 2 + key: "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + - algorithm: "md5" + encryption: 7 + id: 23 + key: "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER" + local_interface: "Ethernet1" + qos_dscp: 10 + serve: + access_lists: + - acls: + - acl_name: "acl01" + direction: "in" + afi: "ip" + - acls: + - acl_name: "acl02" + direction: "in" + afi: "ipv6" + servers: + - local_interface: "Management1" + server: "1.1.1.1" + vrf: "vrf01" + - burst: true + prefer: true + server: "10.1.1.1" + vrf: "vrf01" + - burst: true + minpoll: 13 + prefer: true + server: "11.21.1.1" + vrf: "vrf01" + - key_id: 2 + maxpoll: 15 + server: "25.1.1.1" + vrf: "vrf01" + trusted_key: "23" + replaced: before: authenticate: diff --git a/ansible_collections/arista/eos/tests/integration/targets/eos_smoke/tasks/cli.yaml b/ansible_collections/arista/eos/tests/integration/targets/eos_smoke/tasks/cli.yaml index ed1277e4e..44f5b7ffd 100644 --- a/ansible_collections/arista/eos/tests/integration/targets/eos_smoke/tasks/cli.yaml +++ b/ansible_collections/arista/eos/tests/integration/targets/eos_smoke/tasks/cli.yaml @@ -23,4 +23,3 @@ vars: ansible_connection: ansible.netcommon.network_cli ansible_network_single_user_mode: true - connection: "{{ cli }}" diff --git a/ansible_collections/arista/eos/tests/sanity/ignore-2.17.txt b/ansible_collections/arista/eos/tests/sanity/ignore-2.17.txt new file mode 100644 index 000000000..4acb4eaa2 --- /dev/null +++ b/ansible_collections/arista/eos/tests/sanity/ignore-2.17.txt @@ -0,0 +1 @@ +plugins/action/eos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` diff --git a/ansible_collections/arista/eos/tests/unit/mock/loader.py b/ansible_collections/arista/eos/tests/unit/mock/loader.py index 736fa4167..67b84c62e 100644 --- a/ansible_collections/arista/eos/tests/unit/mock/loader.py +++ b/ansible_collections/arista/eos/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/arista/eos/tests/unit/mock/yaml_helper.py b/ansible_collections/arista/eos/tests/unit/mock/yaml_helper.py index c915b9194..d7d759b52 100644 --- a/ansible_collections/arista/eos/tests/unit/mock/yaml_helper.py +++ b/ansible_collections/arista/eos/tests/unit/mock/yaml_helper.py @@ -149,11 +149,7 @@ class YamlTestUtils(object): ) assert yaml_string == yaml_string_obj_from_stream - assert ( - yaml_string - == yaml_string_obj_from_stream - == yaml_string_obj_from_string - ) + assert yaml_string == yaml_string_obj_from_stream == yaml_string_obj_from_string assert ( yaml_string == yaml_string_obj_from_stream diff --git a/ansible_collections/arista/eos/tests/unit/modules/conftest.py b/ansible_collections/arista/eos/tests/unit/modules/conftest.py index e8273e579..349e71ada 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/conftest.py +++ b/ansible_collections/arista/eos/tests/unit/modules/conftest.py @@ -22,16 +22,9 @@ def patch_ansible_module(request, mocker): if "ANSIBLE_MODULE_ARGS" not in request.param: request.param = {"ANSIBLE_MODULE_ARGS": request.param} if "_ansible_remote_tmp" not in request.param["ANSIBLE_MODULE_ARGS"]: - request.param["ANSIBLE_MODULE_ARGS"][ - "_ansible_remote_tmp" - ] = "/tmp" - if ( - "_ansible_keep_remote_files" - not in request.param["ANSIBLE_MODULE_ARGS"] - ): - request.param["ANSIBLE_MODULE_ARGS"][ - "_ansible_keep_remote_files" - ] = False + request.param["ANSIBLE_MODULE_ARGS"]["_ansible_remote_tmp"] = "/tmp" + if "_ansible_keep_remote_files" not in request.param["ANSIBLE_MODULE_ARGS"]: + request.param["ANSIBLE_MODULE_ARGS"]["_ansible_keep_remote_files"] = False args = json.dumps(request.param) else: raise Exception( diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_acl_interfaces.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_acl_interfaces.py index fa1ec6dbe..f7904bd40 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_acl_interfaces.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_acl_interfaces.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_acl_interfaces from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -36,16 +34,12 @@ class TestEosAclInterfacesModule(TestEosModule): 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.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.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() self.mock_edit_config = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.providers.CliProvider.edit_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_acls.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_acls.py index a57638199..4896d28b9 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_acls.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_acls.py @@ -15,9 +15,7 @@ from ansible_collections.arista.eos.plugins.module_utils.network.eos.config.acls ) from ansible_collections.arista.eos.plugins.modules import eos_acls from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -41,16 +39,12 @@ class TestEosAclsModule(TestEosModule): 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.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.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() self.mock_edit_config = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.providers.CliProvider.edit_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_banner.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_banner.py index 414e49806..31cf2668d 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_banner.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_banner.py @@ -21,9 +21,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_banner from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_bgp_address_family.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_bgp_address_family.py index 042d2c96d..c6a4c673f 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_bgp_address_family.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_bgp_address_family.py @@ -8,13 +8,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type -from ansible_collections.arista.eos.plugins.modules import ( - eos_bgp_address_family, -) +from ansible_collections.arista.eos.plugins.modules import eos_bgp_address_family from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -28,9 +24,7 @@ class TestEosBgpafModule(TestEosModule): self.mock_get_resource_connection_config = patch( "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base.get_resource_connection", ) - self.get_resource_connection_config = ( - self.mock_get_resource_connection_config.start() - ) + self.get_resource_connection_config = self.mock_get_resource_connection_config.start() self.mock_execute_show_command = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.bgp_address_family.bgp_address_family.Bgp_afFacts.get_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_bgp_global.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_bgp_global.py index bb3cd7090..154814ed9 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_bgp_global.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_bgp_global.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_bgp_global from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -26,9 +24,7 @@ class TestEosBgpglobalModule(TestEosModule): self.mock_get_resource_connection_config = patch( "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base.get_resource_connection", ) - self.get_resource_connection_config = ( - self.mock_get_resource_connection_config.start() - ) + self.get_resource_connection_config = self.mock_get_resource_connection_config.start() self.mock_execute_show_command = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.bgp_global.bgp_global.Bgp_globalFacts.get_config", @@ -38,9 +34,7 @@ class TestEosBgpglobalModule(TestEosModule): self.mock_execute_show_command_config = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.config.bgp_global.bgp_global.Bgp_global._get_config", ) - self.execute_show_command_config = ( - self.mock_execute_show_command_config.start() - ) + self.execute_show_command_config = self.mock_execute_show_command_config.start() def tearDown(self): super(TestEosBgpglobalModule, self).tearDown() diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_command.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_command.py index 7b58296da..7d3043dd8 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_command.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_command.py @@ -25,9 +25,7 @@ import json from ansible_collections.arista.eos.plugins.modules import eos_command from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_config.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_config.py index 247057280..3a28710ee 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_config.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_config.py @@ -23,13 +23,8 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.cliconf.eos import Cliconf from ansible_collections.arista.eos.plugins.modules import eos_config -from ansible_collections.arista.eos.tests.unit.compat.mock import ( - MagicMock, - patch, -) -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.compat.mock import MagicMock, patch +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -282,3 +277,43 @@ class TestEosConfigModule(TestEosModule): self.assertEqual(self.load_config.call_count, 0) args = self.run_commands.call_args[0][1][0]["command"] self.assertIn("copy running-config startup-config", args) + + def test_eos_config_src_replace(self): + src = load_fixture("eos_config_candidate.cfg") + args = dict(src=src, replace="block") + set_module_args(args) + self.conn.get_diff = MagicMock( + return_value=self.cliconf_obj.get_diff(src, self.running_config), + ) + 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_eos_config_lines_block(self): + lines = ["hostname switch01", "ip domain-name eng.ansible.com"] + args = dict(lines=lines, replace="block") + set_module_args(args) + self.conn.get_diff = MagicMock( + return_value=self.cliconf_obj.get_diff( + "\n".join(lines), + self.running_config, + ), + ) + result = self.execute_module(changed=True) + config = ["hostname switch01"] + + self.assertEqual( + sorted(config), + sorted(result["commands"]), + result["commands"], + ) diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_eapi.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_eapi.py index ad7a9028e..c25582704 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_eapi.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_eapi.py @@ -23,9 +23,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_eapi from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_hostname.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_hostname.py index 0d6b3929d..b586a83c3 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_hostname.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_hostname.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_hostname from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -26,9 +24,7 @@ class TestEosHostnameModule(TestEosModule): self.mock_get_resource_connection_config = patch( "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base.get_resource_connection", ) - self.get_resource_connection_config = ( - self.mock_get_resource_connection_config.start() - ) + self.get_resource_connection_config = self.mock_get_resource_connection_config.start() self.mock_execute_show_command = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.hostname.hostname.HostnameFacts.get_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_interfaces.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_interfaces.py index 0498c0c4e..ce53f2470 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_interfaces.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_interfaces.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_interfaces from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -36,16 +34,12 @@ class TestEosInterfacesModule(TestEosModule): 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.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.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() self.mock_edit_config = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.providers.CliProvider.edit_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_l2_interfaces.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_l2_interfaces.py index 947023934..53828688f 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_l2_interfaces.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_l2_interfaces.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_l2_interfaces from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -36,16 +34,12 @@ class TestEosL2InterfacesModule(TestEosModule): 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.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.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() self.mock_edit_config = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.providers.CliProvider.edit_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_l3_interfaces.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_l3_interfaces.py index dab8aa2c2..a7970455e 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_l3_interfaces.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_l3_interfaces.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_l3_interfaces from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -36,16 +34,12 @@ class TestEosL3InterfacesModule(TestEosModule): 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.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.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() self.mock_edit_config = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.providers.CliProvider.edit_config", @@ -300,6 +294,8 @@ class TestEosL3InterfacesModule(TestEosModule): "ip address 198.51.100.14/24", "interface Ethernet2", "ip address 203.0.113.27/24", + "interface Vlan100", + "ip address virtual 192.13.45.13/24 secondary", ] parsed_str = "\n".join(commands) set_module_args(dict(running_config=parsed_str, state="parsed")) @@ -307,6 +303,10 @@ class TestEosL3InterfacesModule(TestEosModule): parsed_list = [ {"name": "Ethernet1", "ipv4": [{"address": "198.51.100.14/24"}]}, {"name": "Ethernet2", "ipv4": [{"address": "203.0.113.27/24"}]}, + { + "name": "Vlan100", + "ipv4": [{"address": "192.13.45.13/24", "secondary": True, "virtual": True}], + }, ] self.assertEqual(parsed_list, result["parsed"]) diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lacp.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lacp.py index 1f63c3a6b..7f8ed6071 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lacp.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lacp.py @@ -9,9 +9,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_lacp from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -35,16 +33,12 @@ class TestEosLacpInterfacesModule(TestEosModule): 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.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.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() self.mock_edit_config = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.providers.CliProvider.edit_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lacp_interfaces.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lacp_interfaces.py index 9576c02b5..4fded7026 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lacp_interfaces.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lacp_interfaces.py @@ -9,9 +9,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_lacp_interfaces from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -35,16 +33,12 @@ class TestEosLacpInterfacesModule(TestEosModule): 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.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.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() self.mock_edit_config = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.providers.CliProvider.edit_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lag_interfaces.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lag_interfaces.py index b5a3b31b0..0c4c9a8f8 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lag_interfaces.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lag_interfaces.py @@ -9,9 +9,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_lag_interfaces from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -35,16 +33,12 @@ class TestEosLagInterfacesModule(TestEosModule): 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.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.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() self.mock_edit_config = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.providers.CliProvider.edit_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lldp_global.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lldp_global.py index eba9cae62..c87f27ad8 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lldp_global.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_lldp_global.py @@ -9,9 +9,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_lldp_global from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -35,16 +33,12 @@ class TestEosLldpGlobalModule(TestEosModule): 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.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.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() self.mock_edit_config = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.providers.CliProvider.edit_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_logging.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_logging.py index 222709f1e..1e166008f 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_logging.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_logging.py @@ -23,9 +23,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_logging from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_logging_global.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_logging_global.py index 91c289012..2bf476395 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_logging_global.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_logging_global.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_logging_global from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -26,9 +24,7 @@ class TestEosLogging_GlobalModule(TestEosModule): self.mock_get_resource_connection_config = patch( "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base.get_resource_connection", ) - self.get_resource_connection_config = ( - self.mock_get_resource_connection_config.start() - ) + self.get_resource_connection_config = self.mock_get_resource_connection_config.start() self.mock_execute_show_command = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.logging_global.logging_global.Logging_globalFacts.get_config", @@ -166,6 +162,7 @@ class TestEosLogging_GlobalModule(TestEosModule): config=dict( synchronous=dict(set=True), trap=dict(severity="critical"), + source_interface="Loopback6", hosts=[dict(name="host02", protocol="tcp")], vrfs=[ dict(name="vrf03", source_interface="vlan100"), @@ -195,6 +192,7 @@ class TestEosLogging_GlobalModule(TestEosModule): "logging vrf vrf03 source-interface vlan100", "logging synchronous", "logging trap critical", + "logging source-interface Loopback6", ] self.execute_module(changed=True, commands=sorted(commands)) diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ntp_global.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ntp_global.py index 7c5e482a6..0296a1500 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ntp_global.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ntp_global.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_ntp_global from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -26,9 +24,7 @@ class TestEosNtp_GlobalModule(TestEosModule): self.mock_get_resource_connection_config = patch( "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base.get_resource_connection", ) - self.get_resource_connection_config = ( - self.mock_get_resource_connection_config.start() - ) + self.get_resource_connection_config = self.mock_get_resource_connection_config.start() self.mock_execute_show_command = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.ntp_global.ntp_global.Ntp_globalFacts.get_config", @@ -234,6 +230,10 @@ class TestEosNtp_GlobalModule(TestEosModule): iburst=True, source="vlan500", ), + dict( + server="110.22.2.2", + local_interface="Management1", + ), ], serve=dict( access_lists=[ @@ -250,6 +250,7 @@ class TestEosNtp_GlobalModule(TestEosModule): "ntp serve ip access-group acl03 in", "ntp authentication-key 4 sha1 0 123456", "ntp server 110.21.1.1 iburst source Vlan500 version 3", + "ntp server 110.22.2.2 local-interface Management1", "ntp qos dscp 15", ] self.execute_module(changed=True, commands=sorted(commands)) diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ospf_interfaces.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ospf_interfaces.py index cc57d2e29..65ec34c2f 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ospf_interfaces.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ospf_interfaces.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_ospf_interfaces from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -26,9 +24,7 @@ class TestEosOspf_InterfacesModule(TestEosModule): self.mock_get_resource_connection_config = patch( "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base.get_resource_connection", ) - self.get_resource_connection_config = ( - self.mock_get_resource_connection_config.start() - ) + self.get_resource_connection_config = self.mock_get_resource_connection_config.start() self.mock_execute_show_command = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.ospf_interfaces.ospf_interfaces.Ospf_interfacesFacts.get_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ospfv2.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ospfv2.py index a63ed575a..8d3f3f746 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ospfv2.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ospfv2.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_ospfv2 from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -36,16 +34,12 @@ class TestEosOspfv2Module(TestEosModule): 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.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.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() self.mock_edit_config = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.providers.CliProvider.edit_config", @@ -600,6 +594,9 @@ class TestEosOspfv2Module(TestEosModule): ), ), ], + auto_cost=dict( + reference_bandwidth=1000000, + ), default_information=dict( metric=100, metric_type=1, @@ -647,6 +644,7 @@ class TestEosOspfv2Module(TestEosModule): "adjacency exchange-start threshold 20045623", "area 0.0.0.2 filter 10.1.1.0/24", "area 0.0.0.50 range 172.20.0.0/16 cost 34", + "auto-cost reference-bandwidth 1000000", "default-information originate metric 100 metric-type 1", "distance ospf intra-area 85", "max-lsa 80000 40 ignore-count 3 ignore-time 6 reset-time 20", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ospfv3.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ospfv3.py index 64bbbe48f..eaa44f725 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ospfv3.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_ospfv3.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_ospfv3 from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -25,9 +23,7 @@ class TestEosOspfv3Module(TestEosModule): self.mock_get_resource_connection_config = patch( "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base.get_resource_connection", ) - self.get_resource_connection_config = ( - self.mock_get_resource_connection_config.start() - ) + self.get_resource_connection_config = self.mock_get_resource_connection_config.start() self.mock_execute_show_command = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.ospfv3.ospfv3.Ospfv3Facts.get_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_prefix_lists.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_prefix_lists.py index 7f657b74a..c130b313f 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_prefix_lists.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_prefix_lists.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_prefix_lists from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -26,9 +24,7 @@ class TestEosPrefix_ListsModule(TestEosModule): self.mock_get_resource_connection_config = patch( "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base.get_resource_connection", ) - self.get_resource_connection_config = ( - self.mock_get_resource_connection_config.start() - ) + self.get_resource_connection_config = self.mock_get_resource_connection_config.start() self.mock_execute_show_command = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.prefix_lists.prefix_lists.Prefix_listsFacts.get_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_route_maps.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_route_maps.py index f57834fa4..7ee0915b3 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_route_maps.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_route_maps.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_route_maps from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -26,9 +24,7 @@ class TestEosRoute_MapsModule(TestEosModule): self.mock_get_resource_connection_config = patch( "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base.get_resource_connection", ) - self.get_resource_connection_config = ( - self.mock_get_resource_connection_config.start() - ) + self.get_resource_connection_config = self.mock_get_resource_connection_config.start() self.mock_execute_show_command = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.route_maps.route_maps.Route_mapsFacts.get_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_snmp_server.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_snmp_server.py index d6ce3ef4c..6475b666f 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_snmp_server.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_snmp_server.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_snmp_server from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -26,9 +24,7 @@ class TestEosSnmp_ServerModule(TestEosModule): self.mock_get_resource_connection_config = patch( "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.rm_base.resource_module_base.get_resource_connection", ) - self.get_resource_connection_config = ( - self.mock_get_resource_connection_config.start() - ) + self.get_resource_connection_config = self.mock_get_resource_connection_config.start() self.mock_execute_show_command = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.facts.snmp_server.snmp_server.Snmp_serverFacts.get_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_static_routes.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_static_routes.py index 0e1ca0d68..9150ee77b 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_static_routes.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_static_routes.py @@ -15,9 +15,7 @@ from ansible_collections.arista.eos.plugins.module_utils.network.eos.config.stat ) from ansible_collections.arista.eos.plugins.modules import eos_static_routes from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -41,16 +39,12 @@ class TestEosStaticRoutesModule(TestEosModule): 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.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.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() self.mock_edit_config = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.providers.CliProvider.edit_config", diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_system.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_system.py index 059de948d..14334bb48 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_system.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_system.py @@ -23,9 +23,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_system from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_user.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_user.py index 2fbb5d1bd..fa4ccac0a 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_user.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_user.py @@ -21,9 +21,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_user from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture diff --git a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_vlans.py b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_vlans.py index 2beabd9b8..f707c88c4 100644 --- a/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_vlans.py +++ b/ansible_collections/arista/eos/tests/unit/modules/network/eos/test_eos_vlans.py @@ -10,9 +10,7 @@ __metaclass__ = type from ansible_collections.arista.eos.plugins.modules import eos_vlans from ansible_collections.arista.eos.tests.unit.compat.mock import patch -from ansible_collections.arista.eos.tests.unit.modules.utils import ( - set_module_args, -) +from ansible_collections.arista.eos.tests.unit.modules.utils import set_module_args from .eos_module import TestEosModule, load_fixture @@ -36,16 +34,12 @@ class TestEosVlansModule(TestEosModule): 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.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.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() self.mock_edit_config = patch( "ansible_collections.arista.eos.plugins.module_utils.network.eos.providers.providers.CliProvider.edit_config", diff --git a/ansible_collections/arista/eos/tox.ini b/ansible_collections/arista/eos/tox.ini index 49e9b1d67..41fd127f7 100644 --- a/ansible_collections/arista/eos/tox.ini +++ b/ansible_collections/arista/eos/tox.ini @@ -10,12 +10,12 @@ deps = -r{toxinidir}/requirements.txt [testenv:black] install_command = pip install {opts} {packages} commands = - black -v -l79 {toxinidir} + black -v {toxinidir} [testenv:linters] install_command = pip install {opts} {packages} commands = - black -v -l79 --diff --check {toxinidir} + black -v --diff --check {toxinidir} flake8 {posargs} yamllint -s . @@ -26,7 +26,7 @@ commands = {posargs} # E123, E125 skipped as they are invalid PEP-8. show-source = True -ignore = E123,E125,E402,W503,W504 +ignore = E123,E125,E203,E402,E501,E741,F401,F811,F841,W503, W504 max-line-length = 160 builtins = _ exclude = .git,.tox,tests/unit/compat/ |