From 3b0807ad7b283c46c21862eb826dcbb4ad04e5e2 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 18 Apr 2024 07:52:27 +0200 Subject: Merging upstream version 9.4.0+dfsg. Signed-off-by: Daniel Baumann --- ansible_collections/arista/eos/.ansible-lint | 5 + .../arista/eos/.github/dependabot.yml | 9 + .../arista/eos/.github/release-drafter.yml | 3 + .../arista/eos/.github/workflows/ack.yml | 15 + .../arista/eos/.github/workflows/codecoverage.yml | 15 + .../arista/eos/.github/workflows/push.yml | 27 + .../arista/eos/.github/workflows/release.yml | 14 + .../arista/eos/.github/workflows/tests.yml | 13 +- .../arista/eos/.pre-commit-config.yaml | 34 +- .../arista/eos/.vscode/settings.json | 3 + ansible_collections/arista/eos/CHANGELOG.rst | 76 + ansible_collections/arista/eos/FILES.json | 6237 ++++++++++---------- ansible_collections/arista/eos/MANIFEST.json | 4 +- ansible_collections/arista/eos/README.md | 2 + .../arista/eos/changelogs/changelog.yaml | 79 + .../arista/eos/changelogs/config.yaml | 2 + .../docs/arista.eos.eos_acl_interfaces_module.rst | 76 +- .../arista/eos/docs/arista.eos.eos_acls_module.rst | 191 +- .../arista.eos.eos_bgp_address_family_module.rst | 1509 +++-- .../eos/docs/arista.eos.eos_bgp_global_module.rst | 1925 +++--- .../arista/eos/docs/arista.eos.eos_bgp_module.rst | 82 +- .../eos/docs/arista.eos.eos_command_module.rst | 28 +- .../eos/docs/arista.eos.eos_config_module.rst | 28 +- .../arista/eos/docs/arista.eos.eos_eapi_module.rst | 4 +- .../eos/docs/arista.eos.eos_facts_module.rst | 10 +- .../eos/docs/arista.eos.eos_hostname_module.rst | 2 +- .../eos/docs/arista.eos.eos_interfaces_module.rst | 365 +- .../docs/arista.eos.eos_l2_interfaces_module.rst | 393 +- .../docs/arista.eos.eos_l3_interfaces_module.rst | 378 +- .../docs/arista.eos.eos_lacp_interfaces_module.rst | 25 +- .../arista/eos/docs/arista.eos.eos_lacp_module.rst | 2 +- .../docs/arista.eos.eos_lag_interfaces_module.rst | 42 +- .../docs/arista.eos.eos_lldp_interfaces_module.rst | 24 +- .../docs/arista.eos.eos_logging_global_module.rst | 195 +- .../eos/docs/arista.eos.eos_logging_module.rst | 4 +- .../eos/docs/arista.eos.eos_ntp_global_module.rst | 272 +- .../docs/arista.eos.eos_ospf_interfaces_module.rst | 1292 ++-- .../eos/docs/arista.eos.eos_ospfv2_module.rst | 1592 +++-- .../eos/docs/arista.eos.eos_ospfv3_module.rst | 1230 ++-- .../docs/arista.eos.eos_prefix_lists_module.rst | 1590 +++-- .../eos/docs/arista.eos.eos_route_maps_module.rst | 253 +- .../eos/docs/arista.eos.eos_snmp_server_module.rst | 304 +- .../docs/arista.eos.eos_static_routes_module.rst | 905 +-- .../eos/docs/arista.eos.eos_system_module.rst | 16 +- .../arista/eos/docs/arista.eos.eos_user_module.rst | 6 +- .../eos/docs/arista.eos.eos_vlans_module.rst | 22 +- .../arista/eos/docs/arista.eos.eos_vrf_module.rst | 20 +- .../arista/eos/plugins/action/acl_interfaces.py | 4 +- .../arista/eos/plugins/action/acls.py | 4 +- .../arista/eos/plugins/action/banner.py | 4 +- .../arista/eos/plugins/action/bgp.py | 4 +- .../eos/plugins/action/bgp_address_family.py | 4 +- .../arista/eos/plugins/action/bgp_global.py | 4 +- .../arista/eos/plugins/action/command.py | 4 +- .../arista/eos/plugins/action/config.py | 4 +- .../arista/eos/plugins/action/eapi.py | 4 +- .../arista/eos/plugins/action/eos.py | 4 +- .../arista/eos/plugins/action/facts.py | 4 +- .../arista/eos/plugins/action/hostname.py | 4 +- .../arista/eos/plugins/action/interface.py | 4 +- .../arista/eos/plugins/action/interfaces.py | 4 +- .../arista/eos/plugins/action/l2_interface.py | 4 +- .../arista/eos/plugins/action/l2_interfaces.py | 4 +- .../arista/eos/plugins/action/l3_interface.py | 4 +- .../arista/eos/plugins/action/l3_interfaces.py | 4 +- .../arista/eos/plugins/action/lacp.py | 4 +- .../arista/eos/plugins/action/lacp_interfaces.py | 4 +- .../arista/eos/plugins/action/lag_interfaces.py | 4 +- .../arista/eos/plugins/action/linkagg.py | 4 +- .../arista/eos/plugins/action/lldp.py | 4 +- .../arista/eos/plugins/action/lldp_global.py | 4 +- .../arista/eos/plugins/action/lldp_interfaces.py | 4 +- .../arista/eos/plugins/action/logging.py | 4 +- .../arista/eos/plugins/action/logging_global.py | 4 +- .../arista/eos/plugins/action/ntp_global.py | 4 +- .../arista/eos/plugins/action/ospf_interfaces.py | 4 +- .../arista/eos/plugins/action/ospfv2.py | 4 +- .../arista/eos/plugins/action/ospfv3.py | 4 +- .../arista/eos/plugins/action/prefix_lists.py | 4 +- .../arista/eos/plugins/action/route_maps.py | 4 +- .../arista/eos/plugins/action/snmp_server.py | 4 +- .../arista/eos/plugins/action/static_route.py | 4 +- .../arista/eos/plugins/action/static_routes.py | 4 +- .../arista/eos/plugins/action/system.py | 4 +- .../arista/eos/plugins/action/user.py | 4 +- .../arista/eos/plugins/action/vlan.py | 4 +- .../arista/eos/plugins/action/vlans.py | 4 +- .../arista/eos/plugins/action/vrf.py | 4 +- .../arista/eos/plugins/cliconf/eos.py | 12 +- .../arista/eos/plugins/httpapi/eos.py | 14 +- .../network/eos/argspec/bgp_global/bgp_global.py | 1 + .../eos/config/acl_interfaces/acl_interfaces.py | 21 +- .../module_utils/network/eos/config/acls/acls.py | 39 +- .../bgp_address_family/bgp_address_family.py | 4 +- .../network/eos/config/bgp_global/bgp_global.py | 9 +- .../network/eos/config/hostname/hostname.py | 4 +- .../network/eos/config/interfaces/interfaces.py | 24 +- .../eos/config/l2_interfaces/l2_interfaces.py | 25 +- .../eos/config/l3_interfaces/l3_interfaces.py | 41 +- .../module_utils/network/eos/config/lacp/lacp.py | 4 +- .../eos/config/lacp_interfaces/lacp_interfaces.py | 9 +- .../eos/config/lag_interfaces/lag_interfaces.py | 9 +- .../network/eos/config/lldp_global/lldp_global.py | 9 +- .../eos/config/lldp_interfaces/lldp_interfaces.py | 9 +- .../eos/config/logging_global/logging_global.py | 4 +- .../network/eos/config/ntp_global/ntp_global.py | 4 +- .../eos/config/ospf_interfaces/ospf_interfaces.py | 4 +- .../network/eos/config/ospfv2/ospfv2.py | 104 +- .../network/eos/config/ospfv3/ospfv3.py | 10 +- .../eos/config/prefix_lists/prefix_lists.py | 4 +- .../network/eos/config/route_maps/route_maps.py | 16 +- .../network/eos/config/snmp_server/snmp_server.py | 8 +- .../eos/config/static_routes/static_routes.py | 16 +- .../module_utils/network/eos/config/vlans/vlans.py | 9 +- .../eos/plugins/module_utils/network/eos/eos.py | 14 +- .../eos/facts/acl_interfaces/acl_interfaces.py | 12 +- .../module_utils/network/eos/facts/acls/acls.py | 90 +- .../facts/bgp_address_family/bgp_address_family.py | 4 +- .../network/eos/facts/bgp_global/bgp_global.py | 4 +- .../network/eos/facts/hostname/hostname.py | 4 +- .../network/eos/facts/interfaces/interfaces.py | 4 +- .../eos/facts/l2_interfaces/l2_interfaces.py | 8 +- .../eos/facts/l3_interfaces/l3_interfaces.py | 16 +- .../module_utils/network/eos/facts/lacp/lacp.py | 8 +- .../eos/facts/lacp_interfaces/lacp_interfaces.py | 12 +- .../eos/facts/lag_interfaces/lag_interfaces.py | 12 +- .../network/eos/facts/lldp_global/lldp_global.py | 4 +- .../eos/facts/lldp_interfaces/lldp_interfaces.py | 12 +- .../eos/facts/logging_global/logging_global.py | 4 +- .../network/eos/facts/ntp_global/ntp_global.py | 4 +- .../eos/facts/ospf_interfaces/ospf_interfaces.py | 8 +- .../network/eos/facts/ospfv2/ospfv2.py | 26 +- .../network/eos/facts/ospfv3/ospfv3.py | 8 +- .../network/eos/facts/prefix_lists/prefix_lists.py | 4 +- .../network/eos/facts/route_maps/route_maps.py | 8 +- .../network/eos/facts/snmp_server/snmp_server.py | 4 +- .../eos/facts/static_routes/static_routes.py | 4 +- .../module_utils/network/eos/facts/vlans/vlans.py | 12 +- .../eos/providers/cli/config/bgp/address_family.py | 4 +- .../eos/providers/cli/config/bgp/neighbors.py | 4 +- .../eos/providers/cli/config/bgp/process.py | 4 +- .../module_utils/network/eos/providers/module.py | 9 +- .../network/eos/providers/providers.py | 4 +- .../network/eos/rm_templates/bgp_address_family.py | 32 +- .../network/eos/rm_templates/bgp_global.py | 203 +- .../network/eos/rm_templates/logging_global.py | 5 +- .../network/eos/rm_templates/ntp_global.py | 7 +- .../network/eos/rm_templates/ospf_interfaces.py | 79 +- .../network/eos/rm_templates/ospfv3.py | 80 +- .../network/eos/rm_templates/route_maps.py | 18 +- .../network/eos/rm_templates/snmp_server.py | 15 +- .../eos/plugins/modules/eos_acl_interfaces.py | 78 +- .../arista/eos/plugins/modules/eos_acls.py | 196 +- .../arista/eos/plugins/modules/eos_bgp.py | 83 +- .../eos/plugins/modules/eos_bgp_address_family.py | 1406 ++--- .../arista/eos/plugins/modules/eos_bgp_global.py | 1843 +++--- .../arista/eos/plugins/modules/eos_command.py | 32 +- .../arista/eos/plugins/modules/eos_config.py | 42 +- .../arista/eos/plugins/modules/eos_eapi.py | 4 +- .../arista/eos/plugins/modules/eos_facts.py | 10 +- .../arista/eos/plugins/modules/eos_hostname.py | 2 +- .../arista/eos/plugins/modules/eos_interfaces.py | 408 +- .../eos/plugins/modules/eos_l2_interfaces.py | 434 +- .../eos/plugins/modules/eos_l3_interfaces.py | 420 +- .../arista/eos/plugins/modules/eos_lacp.py | 7 +- .../eos/plugins/modules/eos_lacp_interfaces.py | 26 +- .../eos/plugins/modules/eos_lag_interfaces.py | 43 +- .../arista/eos/plugins/modules/eos_lldp_global.py | 1 - .../eos/plugins/modules/eos_lldp_interfaces.py | 25 +- .../arista/eos/plugins/modules/eos_logging.py | 4 +- .../eos/plugins/modules/eos_logging_global.py | 197 +- .../arista/eos/plugins/modules/eos_ntp_global.py | 276 +- .../eos/plugins/modules/eos_ospf_interfaces.py | 1228 ++-- .../arista/eos/plugins/modules/eos_ospfv2.py | 1553 +++-- .../arista/eos/plugins/modules/eos_ospfv3.py | 1155 ++-- .../arista/eos/plugins/modules/eos_prefix_lists.py | 1531 ++--- .../arista/eos/plugins/modules/eos_route_maps.py | 256 +- .../arista/eos/plugins/modules/eos_snmp_server.py | 306 +- .../eos/plugins/modules/eos_static_routes.py | 904 +-- .../arista/eos/plugins/modules/eos_system.py | 28 +- .../arista/eos/plugins/modules/eos_user.py | 6 +- .../arista/eos/plugins/modules/eos_vlans.py | 27 +- .../arista/eos/plugins/modules/eos_vrf.py | 36 +- .../arista/eos/plugins/terminal/eos.py | 7 +- ansible_collections/arista/eos/pyproject.toml | 2 +- .../arista/eos/test-requirements.txt | 2 +- ansible_collections/arista/eos/tests/config.yml | 3 + .../targets/eos_acls/tests/common/_parsed.cfg | 3 + .../targets/eos_acls/tests/common/_parsed_cfg.yaml | 2 + .../eos_bgp_global/tests/common/overridden.yaml | 68 + .../eos_config/templates/basic/interface_config.j2 | 3 + .../eos_config/tests/cli/replace_block.yaml | 44 + .../eos_ntp_global/tests/common/update.yaml | 72 + .../targets/eos_ntp_global/vars/main.yaml | 57 + .../integration/targets/eos_smoke/tasks/cli.yaml | 1 - .../arista/eos/tests/sanity/ignore-2.17.txt | 1 + .../arista/eos/tests/unit/mock/loader.py | 2 +- .../arista/eos/tests/unit/mock/yaml_helper.py | 6 +- .../arista/eos/tests/unit/modules/conftest.py | 13 +- .../modules/network/eos/test_eos_acl_interfaces.py | 12 +- .../unit/modules/network/eos/test_eos_acls.py | 12 +- .../unit/modules/network/eos/test_eos_banner.py | 4 +- .../network/eos/test_eos_bgp_address_family.py | 12 +- .../modules/network/eos/test_eos_bgp_global.py | 12 +- .../unit/modules/network/eos/test_eos_command.py | 4 +- .../unit/modules/network/eos/test_eos_config.py | 49 +- .../unit/modules/network/eos/test_eos_eapi.py | 4 +- .../unit/modules/network/eos/test_eos_hostname.py | 8 +- .../modules/network/eos/test_eos_interfaces.py | 12 +- .../modules/network/eos/test_eos_l2_interfaces.py | 12 +- .../modules/network/eos/test_eos_l3_interfaces.py | 18 +- .../unit/modules/network/eos/test_eos_lacp.py | 12 +- .../network/eos/test_eos_lacp_interfaces.py | 12 +- .../modules/network/eos/test_eos_lag_interfaces.py | 12 +- .../modules/network/eos/test_eos_lldp_global.py | 12 +- .../unit/modules/network/eos/test_eos_logging.py | 4 +- .../modules/network/eos/test_eos_logging_global.py | 10 +- .../modules/network/eos/test_eos_ntp_global.py | 13 +- .../network/eos/test_eos_ospf_interfaces.py | 8 +- .../unit/modules/network/eos/test_eos_ospfv2.py | 16 +- .../unit/modules/network/eos/test_eos_ospfv3.py | 8 +- .../modules/network/eos/test_eos_prefix_lists.py | 8 +- .../modules/network/eos/test_eos_route_maps.py | 8 +- .../modules/network/eos/test_eos_snmp_server.py | 8 +- .../modules/network/eos/test_eos_static_routes.py | 12 +- .../unit/modules/network/eos/test_eos_system.py | 4 +- .../unit/modules/network/eos/test_eos_user.py | 4 +- .../unit/modules/network/eos/test_eos_vlans.py | 12 +- ansible_collections/arista/eos/tox.ini | 6 +- 229 files changed, 16536 insertions(+), 17295 deletions(-) create mode 100644 ansible_collections/arista/eos/.ansible-lint create mode 100644 ansible_collections/arista/eos/.github/dependabot.yml create mode 100644 ansible_collections/arista/eos/.github/release-drafter.yml create mode 100644 ansible_collections/arista/eos/.github/workflows/ack.yml create mode 100644 ansible_collections/arista/eos/.github/workflows/codecoverage.yml create mode 100644 ansible_collections/arista/eos/.github/workflows/push.yml create mode 100644 ansible_collections/arista/eos/.github/workflows/release.yml create mode 100644 ansible_collections/arista/eos/.vscode/settings.json create mode 100644 ansible_collections/arista/eos/tests/config.yml create mode 100644 ansible_collections/arista/eos/tests/integration/targets/eos_bgp_global/tests/common/overridden.yaml create mode 100644 ansible_collections/arista/eos/tests/integration/targets/eos_config/templates/basic/interface_config.j2 create mode 100644 ansible_collections/arista/eos/tests/integration/targets/eos_config/tests/cli/replace_block.yaml create mode 100644 ansible_collections/arista/eos/tests/integration/targets/eos_ntp_global/tests/common/update.yaml create mode 100644 ansible_collections/arista/eos/tests/sanity/ignore-2.17.txt (limited to 'ansible_collections/arista') 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,1137 +8,1193 @@ "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", + "name": "LICENSE", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986", + "format": 1 + }, + { + "name": ".yamllint", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "827ef9e031ecdcaf137be239d33ef93fcbbc3611cbb6b30b0e507d0e03373d0e", + "format": 1 + }, + { + "name": "requirements.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "883b106f13b0c6536f55619685ddca25968b4167dedb12e08fa37c93f4c63b25", + "format": 1 + }, + { + "name": "meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": ".github/workflows/tests.yml", + "name": "meta/runtime.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fb6838827012c333b7aa2b445987ce5aef5727b640e7647846d09e30d32b54b6", + "chksum_sha256": "69670a3bc346361e18ee69fe1db6b47c18a20cd436bb72086e4b5e95d9ac3f36", "format": 1 }, { - "name": "changelogs", + "name": "README.md", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "acdc105c02de4ccd8d44e0dae9894189c936d9993ae6853a99caa80a40e9d10f", + "format": 1 + }, + { + "name": "plugins", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "changelogs/fragments", + "name": "plugins/terminal", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "changelogs/fragments/.keep", + "name": "plugins/terminal/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "changelogs/changelog.yaml", + "name": "plugins/terminal/eos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7e071dc377ff2a9d39db51e997485a5230aa549fc490bd4b810586f06a529631", + "chksum_sha256": "6966d43cd1b18aa12c7abdd37278000985b69d3ffe827ed250146825246c40d3", "format": 1 }, { - "name": "changelogs/config.yaml", + "name": "plugins/inventory", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/inventory/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aa1b22e6fd4e93f7afc36ed9fef6112537f017671068f99daa9380fb425771c4", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs", + "name": "plugins/httpapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "docs/arista.eos.eos_acl_interfaces_module.rst", + "name": "plugins/httpapi/__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/httpapi/eos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a94aed8beaca958713ec7b94bb9de2abe85fbfc669d12bed57f2f3b7277d0df6", + "chksum_sha256": "a72e79bffe3d82ed6d78180b5814bd72b55ef15c57123411aef573dc18081a0b", "format": 1 }, { - "name": "docs/arista.eos.eos_banner_module.rst", + "name": "plugins/cliconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/cliconf/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b128807c32c6a491aa78a1b56512e2982f5d6811641d0b14e8e347d4cf8a5b06", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs/arista.eos.eos_bgp_address_family_module.rst", + "name": "plugins/cliconf/eos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2848f5bc77219b5ed28aee87d0c1aeff0067e87b48ff9dbfcf6855b6d4d7dc21", + "chksum_sha256": "87d6fa9386ee1db637cad55e955984a5ace088ded304828294d217688891a4a7", "format": 1 }, { - "name": "docs/arista.eos.eos_bgp_global_module.rst", + "name": "plugins/modules", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/modules/eos_bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b3d9af5872ae5b1c5492e7c5c26f0df771560723f1bedf086f912d66ad605dc9", + "chksum_sha256": "9d785bf8b326b2abba6c6742b427cca2938d6dac15b6dd2c8fe26033fb8032e6", "format": 1 }, { - "name": "docs/arista.eos.eos_bgp_module.rst", + "name": "plugins/modules/eos_lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0a96d9a14d3cb8f07df3690093bc1c12c007d74ee7283ecd9892ba087a26ff6f", + "chksum_sha256": "90ab8557eb680e0abea6fd8cdb5d463f0ef1fd73d0073ef47981a74bff0c84e7", "format": 1 }, { - "name": "docs/arista.eos.eos_cliconf.rst", + "name": "plugins/modules/eos_vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "52b6530cf3a4711a1b8e40dcff5063e73fc3e868e6cba0b91976e8ba53af8a14", + "chksum_sha256": "ecd8f836dc780f467c049242138c48b1dd0d65469dab247ec66816aa36b19a30", "format": 1 }, { - "name": "docs/arista.eos.eos_command_module.rst", + "name": "plugins/modules/eos_eapi.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "581face7d73549d455f07613d7665a37b275137694b557bb5d87aad639adf49d", + "chksum_sha256": "38c5950430f09e4eb10546aa674b41c0b9ae5c85957108433008c260282cc2b0", "format": 1 }, { - "name": "docs/arista.eos.eos_config_module.rst", + "name": "plugins/modules/eos_ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eecae5ca3c0920b8dd021788000b1bb7c00bd5a95acdc45c04a3594327051938", + "chksum_sha256": "929edf4a24cf11021732e8e530f293f5802343e7930b6de8d629e98c005a3683", "format": 1 }, { - "name": "docs/arista.eos.eos_eapi_module.rst", + "name": "plugins/modules/eos_command.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d44d2a02822ef6bd44f951423cb9a970852522076260713e79a439eec19c5ea", + "chksum_sha256": "355cb38f9dfa902d56c0563dfcca9c4579221f341df5b64ff3c9e22086b70016", "format": 1 }, { - "name": "docs/arista.eos.eos_facts_module.rst", + "name": "plugins/modules/eos_snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3fd5b5627623b7c6b972c872e2e7e535fd9fb1c4c05aef6bbaba19c9aafc2122", + "chksum_sha256": "b259b2d2a4ba741df2f35a8d52ef4e6a1507e840891328d2b8748ecaaffd8afb", "format": 1 }, { - "name": "docs/arista.eos.eos_hostname_module.rst", + "name": "plugins/modules/eos_banner.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "248961e051dc070a9b283a64d5cc426a87e71efa3d5d985bb4e041b1781f0eb5", + "chksum_sha256": "c9a40fe93e2835e8e2ef138f63de065a737fee2710b108b7ac7c3fdbba5002a8", "format": 1 }, { - "name": "docs/arista.eos.eos_httpapi.rst", + "name": "plugins/modules/eos_facts.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74c0cc2f16ee0793613c76713e192749dcd24f3e73ecd49cca4599ed62c22f9e", + "chksum_sha256": "4c7b074df78792a848f53b5fb6994a2673249e659dfc74cc181fb1569812425c", "format": 1 }, { - "name": "docs/arista.eos.eos_interfaces_module.rst", + "name": "plugins/modules/eos_logging.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74bcccf9763f905a928d9b864d04861e4f6918c930948ff1316d1c54fb7cf2f0", + "chksum_sha256": "e6d59a3e4e6ba1459ca5cd94d378daf7f9bdfb84ba076929aa4a747e6c1242c9", "format": 1 }, { - "name": "docs/arista.eos.eos_l2_interfaces_module.rst", + "name": "plugins/modules/eos_l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "611fd42eff9681cc2de52b3289f9ab84f0e06674d173d255d00f87dac2488d7b", + "chksum_sha256": "9d426533a5e9c6918115e53437bc078ff85eccefbafda1d7d4dadb796a8006f3", "format": 1 }, { - "name": "docs/arista.eos.eos_l3_interfaces_module.rst", + "name": "plugins/modules/eos_ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e123839227429be6dd08bd60bd6ee7cf9c2fd421eb065a262497186f975302d1", + "chksum_sha256": "0aa39b82eae1a84fbbcdb9b19ff2ca409799f31d72a4ddc7371540ddb360ef57", "format": 1 }, { - "name": "docs/arista.eos.eos_lacp_interfaces_module.rst", + "name": "plugins/modules/eos_bgp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "14d1f3306a902caaec60817227a2b9b41267044a5a54bc1670dd6a55fbccd428", + "chksum_sha256": "d933005afd3c8db70638164e7f010d00531861cbed4b03d21f5438894a6250b8", "format": 1 }, { - "name": "docs/arista.eos.eos_lacp_module.rst", + "name": "plugins/modules/eos_ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c1a6520e52c8882167cf2f30562949045d463c4e40e4b4adf301eeb9b5e9e58d", + "chksum_sha256": "a0eaa5f6b3d3704c84d8dbadb6e35cbc3810598bfc9a341a4df42e68847af0e0", "format": 1 }, { - "name": "docs/arista.eos.eos_lag_interfaces_module.rst", + "name": "plugins/modules/eos_lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96627e7f51c810369bbd73584ec0351affefb9f1007390e840fde6f1eb23d3ca", + "chksum_sha256": "32172bac4360cbd4c9aba0bc4776294eca0dda71a97f472a71c9424a5260fc78", "format": 1 }, { - "name": "docs/arista.eos.eos_lldp_global_module.rst", + "name": "plugins/modules/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f0fea31fef727f45440a5363e764f99345b4f7e3d079fe5e36388f0ac2b20948", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs/arista.eos.eos_lldp_interfaces_module.rst", + "name": "plugins/modules/eos_static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c2b1858b141cce138e5a2f562c6a6c6e66c74acb8bad7f391e3b3acffdc40be5", + "chksum_sha256": "1b30f6f27a471fabda82eaf6ab7d9f310c5e1b39f64ad7effd01e2d5d0dae9fc", "format": 1 }, { - "name": "docs/arista.eos.eos_lldp_module.rst", + "name": "plugins/modules/eos_hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7aa54a176f3d95e20db2127d8b7428ff5ccd511016b007f80d469c7e64922ee2", + "chksum_sha256": "6973fb2c1d99bcd964c8c2e5124fea3acb52432c4859ca9f9911b22429e7eff3", "format": 1 }, { - "name": "docs/arista.eos.eos_logging_global_module.rst", + "name": "plugins/modules/eos_bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "14c2e844470c657812c29e4ccf55c1c215f91d31cc7990ea195a82c0b118e00b", + "chksum_sha256": "8fb638856c7852953717ffd65e1e2b4a6dec7ec0a005fd4ef9506be5f2d09694", "format": 1 }, { - "name": "docs/arista.eos.eos_logging_module.rst", + "name": "plugins/modules/eos_lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "939eefceedc0fe72bdc08cc3d7051ab08ab629d113aab2ea02974e75cd04988c", + "chksum_sha256": "2417aa86814f86ae45fa1b4bbe5f8ad7262032467ecef305a74b0a69e04ee7ba", "format": 1 }, { - "name": "docs/arista.eos.eos_ntp_global_module.rst", + "name": "plugins/modules/eos_prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b3e63ba5ddae4166099f537c44ffcd7cfccdff7c319ccd90d4f226150ef1b325", + "chksum_sha256": "47bacc85ac1895d0be80898303dd039edfdf63370cf60e54efc3d9716332983e", "format": 1 }, { - "name": "docs/arista.eos.eos_ospf_interfaces_module.rst", + "name": "plugins/modules/eos_system.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5b47d5816400ef01b0d573e0d5046114edc7722de466e4f653c51667c6170acb", + "chksum_sha256": "a47be5a23d7bd09a965ed06f020ce990db0a9401257c49978c248ca832d71804", "format": 1 }, { - "name": "docs/arista.eos.eos_ospfv2_module.rst", + "name": "plugins/modules/eos_lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "38b6163ea43ab4f88040dfec4cd283a4eea0e35b92ae87463c0888adde78bcb5", + "chksum_sha256": "21e703a7728c2601313b810413ac0143ad7d0d70340ab7a7be7794c164f154b3", "format": 1 }, { - "name": "docs/arista.eos.eos_ospfv3_module.rst", + "name": "plugins/modules/eos_acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2a0dc26c17e8e7feba299ad66dc014533cf2c2a4630984dc8d7eb6eb38da26cb", + "chksum_sha256": "01f152c6892474ad74fa3fe4d5f3828099f7d0db1eaf56d0d05f818ab6cfaf81", "format": 1 }, { - "name": "docs/arista.eos.eos_prefix_lists_module.rst", + "name": "plugins/modules/eos_lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d9895c47e0facb5ff6b2938b6620041a8f95602471f0d27ce54f6071c4d8ae6f", + "chksum_sha256": "33e27255d8f4e09d9d5ec270b99a6095596fd0d633db610b92aaa3a85f415738", "format": 1 }, { - "name": "docs/arista.eos.eos_route_maps_module.rst", + "name": "plugins/modules/eos_route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c39b1252e385d95b1d443720aeccd3ac6fd2ad597ddf5e76ea5ea347b05d7613", + "chksum_sha256": "b2dc1be3caa9efc8e1f36a1bcfa6a7a0cfd5d780a5ebfce3273c19dd6354b997", "format": 1 }, { - "name": "docs/arista.eos.eos_snmp_server_module.rst", + "name": "plugins/modules/eos_logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "994c5c7c70fdb828ccdd69f9bba074b7411647d5437f59f5a5d5a3f4ee3d578f", + "chksum_sha256": "a067a17142a631b1a972707e598306677df4061e190847ad07d517d577c4640e", "format": 1 }, { - "name": "docs/arista.eos.eos_static_routes_module.rst", + "name": "plugins/modules/eos_config.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "30e9194e6dde435a6413bdc1a752133aca0c356ad26b0c942f6f83702d9d6211", + "chksum_sha256": "75240b4868941e59b523617b9e01cadd64fd82061014a65183c20a2453d43d07", "format": 1 }, { - "name": "docs/arista.eos.eos_system_module.rst", + "name": "plugins/modules/eos_acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b2bf42cdbef6a283cb6306b2f83bb9229d65a5ea6e744f67fa8818c39b2dbce7", + "chksum_sha256": "dcea489708bed333c4d29737c4e57db3eaea6e0d19a3b9d0c77e21054ca5d68a", "format": 1 }, { - "name": "docs/arista.eos.eos_user_module.rst", + "name": "plugins/modules/eos_l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4b73fcd07e28314cc7b3ecbdf643c847015b95637d3f3c1d3a76b831032c9a5c", + "chksum_sha256": "aa387fe06abd306df299f1303069a805fad22466a56ce59d0854de6e4ed6212f", "format": 1 }, { - "name": "docs/arista.eos.eos_vlans_module.rst", + "name": "plugins/modules/eos_ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6a1142b82a9c76a29ecaef4cced6e5ec3936eeb97c54601ef1458c9343a1b8f9", + "chksum_sha256": "d500948a6b1208e705ef00ab881c41e227d4104ecdd83f513ba8b041068cad7f", "format": 1 }, { - "name": "docs/arista.eos.eos_vrf_module.rst", + "name": "plugins/modules/eos_user.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96f8cafc164b8d6431ef4c1d3f56c9e3ff712fe695db94af875d90cc1fcc92e6", + "chksum_sha256": "0ae4d5492d26aa27ee9b8d9937258914af7b4cbfe77064847e141d294652d925", "format": 1 }, { - "name": "meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/eos_vrf.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "17d794bb9eedeb41ff57d22fdc295db27315ebd274e5d1463d8463868511b704", "format": 1 }, { - "name": "meta/runtime.yml", + "name": "plugins/modules/eos_lldp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "69670a3bc346361e18ee69fe1db6b47c18a20cd436bb72086e4b5e95d9ac3f36", + "chksum_sha256": "2f477f9e4ececee706fcc9de764dd76fabfbc958b608034bbb6c556e92af836d", "format": 1 }, { - "name": "plugins", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/eos_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6cbcf37f8e0d3a441c5923b65168ba380c1e78dd0d0081019ccc38b3209de2be", "format": 1 }, { - "name": "plugins/action", + "name": "plugins/filter", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/acl_interfaces.py", + "name": "plugins/filter/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/acls.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/banner.py", + "name": "plugins/module_utils/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/bgp.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/bgp_address_family.py", + "name": "plugins/module_utils/network/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/bgp_global.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/command.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/config.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/eapi.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/facts.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/hostname.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/interface.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/interfaces.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/l2_interface.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/l2_interfaces.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/l3_interface.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/l3_interfaces.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/lacp.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/lacp_interfaces.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/lag_interfaces.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/linkagg.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/lldp.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/lldp_global.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/lldp_interfaces.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/logging.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/logging_global.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/ntp_global.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/ospf_interfaces.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/ospfv2.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/ospfv3.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/prefix_lists.py", + "name": "plugins/module_utils/network/eos/providers/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/route_maps.py", + "name": "plugins/module_utils/network/eos/__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/facts", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/static_route.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "name": "plugins/module_utils/network/eos/facts/bgp_address_family", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/static_routes.py", + "name": "plugins/module_utils/network/eos/facts/bgp_address_family/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "c4cb44586c09aa01ade548e7fd768cc5acdb6184657cc69f4b7e19ef3810cdbb", "format": 1 }, { - "name": "plugins/action/system.py", + "name": "plugins/module_utils/network/eos/facts/bgp_address_family/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/user.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "name": "plugins/module_utils/network/eos/facts/static_routes", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/vlan.py", + "name": "plugins/module_utils/network/eos/facts/static_routes/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "d3bc5db1d739a23b0c993f770d3cca4af6ee7ab514e3c7222d1ebc7985546033", "format": 1 }, { - "name": "plugins/action/vlans.py", + "name": "plugins/module_utils/network/eos/facts/static_routes/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/vrf.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "name": "plugins/module_utils/network/eos/facts/prefix_lists", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/__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/action/eos.py", + "name": "plugins/module_utils/network/eos/facts/prefix_lists/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2cd721d7a0021e590a0d0cae8547c7329c6a7195e368e85cf8b4b04ba584d54", + "chksum_sha256": "fcc290aaba4af1b68805d1d0f47147352c09109f364e113a9766e1af4500cb1f", "format": 1 }, { - "name": "plugins/cliconf", + "name": "plugins/module_utils/network/eos/facts/hostname", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/cliconf/__init__.py", + "name": "plugins/module_utils/network/eos/facts/hostname/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "0c91edb1d5112e43527a1eb7bcc9de697035a388267a2636b23546709b119aa3", "format": 1 }, { - "name": "plugins/cliconf/eos.py", + "name": "plugins/module_utils/network/eos/facts/hostname/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b543defd38a41e5e3ec1d6fc7baaf75d76da4db695be2f44b071ab653d54ea65", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/filter", + "name": "plugins/module_utils/network/eos/facts/lldp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/filter/__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/httpapi", + "name": "plugins/module_utils/network/eos/facts/lldp_interfaces/lldp_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "000d63e8514cc27c9f1bfaaeb16c5e689544b2c0062d5a05d7c62f010b35c982", + "format": 1 + }, + { + "name": "plugins/module_utils/network/eos/facts/lacp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/httpapi/__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/httpapi/eos.py", + "name": "plugins/module_utils/network/eos/facts/lacp/__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/ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/inventory/__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", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/module_utils/network/eos/facts/ospfv2/ospfv2.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4c026c178eb5e79d3c4f721b90bf6a81a497563700b7bdaa0e275cbab1095689", "format": 1 }, { - "name": "plugins/module_utils/network", + "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", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "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", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/module_utils/network/eos/facts/logging_global/logging_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "347a952bb18e664542416104c269d623d0d74f4095e975e29bd38ffa6a8b9471", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/acl_interfaces", + "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/acl_interfaces/__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/acl_interfaces/acl_interfaces.py", + "name": "plugins/module_utils/network/eos/facts/ospfv3/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6c0046bf6afab4a996e33f24201ed519569eb08acbf16761b5b11a314533c0d3", + "chksum_sha256": "3decdeb768d4beac99f8dac300d0dd3fc39a35e94d4b9eebf5796c4566eb6df8", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/acls", + "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/acls/__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/acls/acls.py", + "name": "plugins/module_utils/network/eos/facts/legacy/__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/l2_interfaces", "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/l2_interfaces/__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/l2_interfaces/l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e219a1d388d9e62d9e5e8752ac2a6762bf30de1fe20367d9ec9e0a88c978b87d", + "chksum_sha256": "c19ff2a5d085a131ceec0742c38a9eae468962d91f3250e7427d4caf432ce56d", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/bgp_global", + "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/bgp_global/__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/bgp_global/bgp_global.py", + "name": "plugins/module_utils/network/eos/facts/ospf_interfaces/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6e3fe8902238d6352ed046fbc36527e5b814277123a53e2b5da37bcca2eb4550", + "chksum_sha256": "276c32be6cf47273f43a594743a08f0caefcc569821891a9ba26a6b5e688dc65", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/facts", + "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/facts/__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/facts/facts.py", + "name": "plugins/module_utils/network/eos/facts/route_maps/route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f2c14a6c7b2ee25446a1d7eeda2dd5dc7acfb694719ffa90d8be271146291266", + "chksum_sha256": "85cf372cc7a142671feee4678aca01c08f756a97dd036e080fc71e14d16e237c", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/hostname", + "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/hostname/__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/hostname/hostname.py", + "name": "plugins/module_utils/network/eos/facts/acl_interfaces/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "efb917c5d1ae4dda5fab13fad9f6132c614f22f1ea51046338715e8f5bdd2fa2", + "chksum_sha256": "8223e431fab62ffe96492525da21806ce3dcc683b0bfad6535bacdbe20a5ec19", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/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/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/interfaces/interfaces.py", + "name": "plugins/module_utils/network/eos/facts/lldp_global/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "612279d76fe8e822c0b94fd23af3766e62811e27b2564bcfeedeb1eb5c94cb5c", + "chksum_sha256": "9070fe8b2f5532a17160617ef9396da4e9c60439f912065895d1115ab43b4845", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/l2_interfaces", + "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/facts/snmp_server", "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/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/l2_interfaces/l2_interfaces.py", + "name": "plugins/module_utils/network/eos/facts/snmp_server/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "65c41dc95f80ca90d8833a275cdb9e480a10b9a196dbe87f7f60fc52aec24cdb", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/l3_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/l3_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/l3_interfaces/l3_interfaces.py", + "name": "plugins/module_utils/network/eos/facts/lacp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0afcc24d23d35e458492c17efac75178b89d730a902907310aad2a2385c03d74", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lacp", + "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/lacp/__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/lacp/lacp.py", + "name": "plugins/module_utils/network/eos/facts/acls/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b3f0f3894afa99a36f3ef7e6970a7ca4f5ddf1ee0f78e617f43467534fc76435", + "chksum_sha256": "4281e9c092fcf8592b3f4edc4652f84c2fc2f234ca12b49878d38ee7ee39302a", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lacp_interfaces", + "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/lacp_interfaces/__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/lacp_interfaces/lacp_interfaces.py", + "name": "plugins/module_utils/network/eos/facts/ntp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "af428e8eafdfd3e0dd804f01995bb19ba139200c29d115f943bdea29f03cb9ba", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lag_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/lag_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/lag_interfaces/lag_interfaces.py", + "name": "plugins/module_utils/network/eos/facts/lag_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "47ba1c980be914d8442a770d7e3f8d853ddd0b2f16cdf09e49626540a6b5ea54", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lldp_global", + "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/lldp_global/__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/lldp_global/lldp_global.py", + "name": "plugins/module_utils/network/eos/facts/vlans/__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/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/interfaces/interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "d77de5b9f125a7a3718689e11f951e3ccea22fc2a326ff403a51cbff5b95d850", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/lldp_interfaces/lldp_interfaces.py", + "name": "plugins/module_utils/network/eos/facts/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/l3_interfaces", "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/l3_interfaces/__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/l3_interfaces/l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2622ca645838091e8437dd720f2ed7574015fb51171e2f1b2414baf13b16a04c", + "chksum_sha256": "81a152c689e6101b61ec6094742e4048bac91e192e4ce580b29ab9ca6958a9d0", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ntp_global", + "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/ntp_global/__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/ntp_global/ntp_global.py", + "name": "plugins/module_utils/network/eos/facts/bgp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "56e9a6a4aa20da957e209497d8a486de5778d6566b9b59d01d8a753163b5455f", - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/argspec/ospf_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ospf_interfaces/__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/ospf_interfaces/ospf_interfaces.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "dfa1590c0c70ddef240ef5fb993014c24214e6fa4ea42a08c52b1a9144049ba1", + "name": "plugins/module_utils/network/eos/argspec", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ospfv2", + "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/ospfv2/__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/ospfv2/ospfv2.py", + "name": "plugins/module_utils/network/eos/argspec/bgp_address_family/__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/argspec/static_routes", "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/argspec/static_routes/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "ba889e4244aec9094d7db701cac2eb5b815f8ed0046f8a3e9c04fe6aa2fa217b", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/ospfv3/ospfv3.py", + "name": "plugins/module_utils/network/eos/argspec/static_routes/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8c05a7e649ddc285459fd9e69eb1b5f60988ce60c115d29961439b90cdd5fae8", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { @@ -1163,479 +1219,500 @@ "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/route_maps", + "name": "plugins/module_utils/network/eos/argspec/hostname", "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/argspec/hostname/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "efb917c5d1ae4dda5fab13fad9f6132c614f22f1ea51046338715e8f5bdd2fa2", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/route_maps/route_maps.py", + "name": "plugins/module_utils/network/eos/argspec/hostname/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e56bf6c5fcac1647331f79af77bc2c75c80809ef6c2ff2323393094c320ff781", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/snmp_server", + "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/argspec/snmp_server/__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/argspec/snmp_server/snmp_server.py", + "name": "plugins/module_utils/network/eos/argspec/lldp_interfaces/lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1cfd87d2929d294b4921ef21b6db0d3e5f9eeb86ae1e997f7ed6ccb0d49d6104", + "chksum_sha256": "19867782c170d8d43dba9d1f18eaca89971df1a153528ff64ed5e0aca3251e97", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/static_routes", + "name": "plugins/module_utils/network/eos/argspec/lacp", "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/lacp/lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "b3f0f3894afa99a36f3ef7e6970a7ca4f5ddf1ee0f78e617f43467534fc76435", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/static_routes/static_routes.py", + "name": "plugins/module_utils/network/eos/argspec/lacp/__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/ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/vlans/__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/argspec/vlans/vlans.py", + "name": "plugins/module_utils/network/eos/argspec/ospfv2/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7559652223d1ec6112b628ebb5ec5575ac0df8a7861c1d34e8e4383af157e972", + "chksum_sha256": "5cac76000d64eae4f6a3dfaf9c1bc001637f7e31e4b92cdd04df8c3b544dd2f7", "format": 1 }, { - "name": "plugins/module_utils/network/eos/argspec/__init__.py", + "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/argspec/logging_global/__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, + "name": "plugins/module_utils/network/eos/argspec/logging_global/logging_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2622ca645838091e8437dd720f2ed7574015fb51171e2f1b2414baf13b16a04c", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/acl_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/acl_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/acl_interfaces/acl_interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/ospfv3/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bcc84c7148d3f02b2d3b8d9cb3e50bdd1139abe5143bff27e5c9b20868e4ae9", + "chksum_sha256": "8c05a7e649ddc285459fd9e69eb1b5f60988ce60c115d29961439b90cdd5fae8", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/acls", + "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/acls/__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/acls/acls.py", + "name": "plugins/module_utils/network/eos/argspec/l2_interfaces/l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0a61d9abda1eb471864b0b9f20f50a89c496659c6a02916e566fe1ba0b2380d1", + "chksum_sha256": "65c41dc95f80ca90d8833a275cdb9e480a10b9a196dbe87f7f60fc52aec24cdb", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/bgp_address_family", + "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/bgp_address_family/__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/bgp_address_family/bgp_address_family.py", + "name": "plugins/module_utils/network/eos/argspec/ospf_interfaces/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "449bf1ed8975b0c2c5d8f0406f87561d8c475a869ea4b36b703a53f33e485963", + "chksum_sha256": "dfa1590c0c70ddef240ef5fb993014c24214e6fa4ea42a08c52b1a9144049ba1", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/bgp_global", + "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/bgp_global/__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/bgp_global/bgp_global.py", + "name": "plugins/module_utils/network/eos/argspec/route_maps/route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "008cb853b542ce4e4a4ff28f2252855018af535568dea1af428cda6b57634319", + "chksum_sha256": "e56bf6c5fcac1647331f79af77bc2c75c80809ef6c2ff2323393094c320ff781", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/hostname", + "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/hostname/__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/hostname/hostname.py", + "name": "plugins/module_utils/network/eos/argspec/acl_interfaces/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a0e020d8c1148be859bb789ef8a2d868916e3a9ac32f9954e6a878e6fcc1343c", + "chksum_sha256": "6c0046bf6afab4a996e33f24201ed519569eb08acbf16761b5b11a314533c0d3", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/interfaces", + "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/interfaces/__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/interfaces/interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/lldp_global/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b048d2445ad4f82022ea8e3ef02711fd22392324f154663a9c15b3a4181bdf12", + "chksum_sha256": "a7f1026b736127cb2e7700478502956fd2d82a3ae060d56843c34eeb59ed1cc3", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/l2_interfaces", + "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/argspec/snmp_server", "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/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/l2_interfaces/l2_interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/snmp_server/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cafa38ba33cd92ceaa9757fdf4853562b6a05585e2eafcde72e8a153a3bfb811", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/l3_interfaces", + "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/l3_interfaces/__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/l3_interfaces/l3_interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/facts/facts.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "671d24ae1302fa2ffc93a7410db998da06e2e3ca35335b85fbefed0dca634eaa", + "chksum_sha256": "f2c14a6c7b2ee25446a1d7eeda2dd5dc7acfb694719ffa90d8be271146291266", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lacp", + "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/lacp/__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/lacp/lacp.py", + "name": "plugins/module_utils/network/eos/argspec/lacp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "66fe47ba0b24b135e9e9d926236f6fea3e1900c02c2cb05b7704ab922f446fde", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lacp_interfaces", + "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/lacp_interfaces/__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/lacp_interfaces/lacp_interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/acls/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "09cc3fbfc6ddbd926c1425a4b62e43abc8a9393bfb1b14c49cf3b4ab58c5f987", + "chksum_sha256": "7edb5254efbad96919b6344dced7ca2825fea82ed161894fb32947c9230b5d6d", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lag_interfaces", + "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/lag_interfaces/__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/lag_interfaces/lag_interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/ntp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "86f2636c8a44b864c8b53bc799c0f7ec6166c55a435860ad413dc0c097ceac49", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lldp_global", + "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/lldp_global/__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/lldp_global/lldp_global.py", + "name": "plugins/module_utils/network/eos/argspec/lag_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "69ad272fdf21f4e0cedaf1cc0507238ccee6ad917211a5c0dd04e027ee5fbaa8", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/lldp_interfaces", + "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/lldp_interfaces/__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/lldp_interfaces/lldp_interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/vlans/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cc4707fdf204c32f781c07f7b7824f3bb39f7c04924cf75918afd9f35c00e2d5", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/logging_global", + "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/logging_global/__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/logging_global/logging_global.py", + "name": "plugins/module_utils/network/eos/argspec/interfaces/__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/l3_interfaces", "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/l3_interfaces/__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/l3_interfaces/l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "61ea3465ab0ff85439a847d968c8c00d1d966c839e08e0f4db95951f942adfc0", + "chksum_sha256": "0afcc24d23d35e458492c17efac75178b89d730a902907310aad2a2385c03d74", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ospf_interfaces", + "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/ospf_interfaces/__init__.py", + "name": "plugins/module_utils/network/eos/argspec/bgp_global/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "9cad63a8bae8aa7461c019d8cff5529b7a3453cdd5d37eb59050a53b94d68b3e", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ospf_interfaces/ospf_interfaces.py", + "name": "plugins/module_utils/network/eos/argspec/bgp_global/__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/config", "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/config/bgp_address_family", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "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/config/ospfv2/ospfv2.py", + "name": "plugins/module_utils/network/eos/config/bgp_address_family/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1a3717ac6166b33973e551c554a67d4f3b5a52b8e215061823ac52e9b66c4313", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/ospfv3", + "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/config/ospfv3/__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/config/ospfv3/ospfv3.py", + "name": "plugins/module_utils/network/eos/config/static_routes/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cbba118ca02097c8f101fa8163dd4533687aa654c47af5f384361c15bbf18f6e", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { @@ -1656,7854 +1733,7882 @@ "name": "plugins/module_utils/network/eos/config/prefix_lists/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3f8ca442e36c6e9eac52baeb69bae9252872bb4dd433da3dfd85e437274391d", + "chksum_sha256": "3d05e91016ebf5f6b8256a5118c25653c400cb61bad450fe5e046c36932ea656", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/route_maps", + "name": "plugins/module_utils/network/eos/config/hostname", "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/config/hostname/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "ef3523fd8423c7145629ab9976979aec5e03bee95e211d5898e488300fe25328", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/route_maps/route_maps.py", + "name": "plugins/module_utils/network/eos/config/hostname/__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/config/lldp_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/config/lldp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/snmp_server/snmp_server.py", + "name": "plugins/module_utils/network/eos/config/lldp_interfaces/lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b8577aa776165a61ca16d1bd7b8f82dd951a853beb2cc10fdddf4d3ff2386e60", + "chksum_sha256": "adf36c086148185987dcdd19a201be6b090568800b814719800526329303728f", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/static_routes", + "name": "plugins/module_utils/network/eos/config/lacp", "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/config/lacp/lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "31ed665eb142d97e3c896b6f85ce63caeb7e25aed708ec32da60f9c67a14303d", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/static_routes/static_routes.py", + "name": "plugins/module_utils/network/eos/config/lacp/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b9c311e50db4ce0154df789c5661f0e2dcba38ead5b9427d9d07096ed41aaee2", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/vlans", + "name": "plugins/module_utils/network/eos/config/ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/config/vlans/__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/config/vlans/vlans.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8a28a0e8ece189d0c244dbcd8f65277b8012178cac3553df6bf213162dff688e", - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/config/__init__.py", + "name": "plugins/module_utils/network/eos/config/ospfv2/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "plugins/module_utils/network/eos/facts", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "4d3bed93486d3875f85938ecbe63e45db9f4b9a1504bcd9b7b5fc36b65614d7d", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/acl_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/acl_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/acl_interfaces/acl_interfaces.py", + "name": "plugins/module_utils/network/eos/config/logging_global/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e9dab98bc5b7651ffb351e6f455907a14d6f9edce78793bb2abc50793a526696", + "chksum_sha256": "707dc8dc34c94d1fb23ab69132240b92f96ec167938309189c1a7abb38179df2", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/acls", + "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/acls/__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/acls/acls.py", + "name": "plugins/module_utils/network/eos/config/ospfv3/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1e9d06a56d37ea1cc38f4bc3e975a38110eccfb02bd4d02f9b1c5c5987ab697d", + "chksum_sha256": "37dbf6d9294a56a3493931f12f6c963d086eac79aba42ca3ec34dd2f174ff7ce", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/bgp_address_family", + "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/bgp_address_family/__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/bgp_address_family/bgp_address_family.py", + "name": "plugins/module_utils/network/eos/config/l2_interfaces/l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "713c3dc0eee935154f158427bae98116584c593f9ef2a02cc2183a0aa1a073f4", + "chksum_sha256": "2a6862117f6bd1e9bf1672f8b9064d46ee1591fb666f451dd35aa5efe6e27400", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/bgp_global", + "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/bgp_global/__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/bgp_global/bgp_global.py", + "name": "plugins/module_utils/network/eos/config/ospf_interfaces/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7b037e31f1ba32c4d39d42d7b63164e4ad982fee2d23a681489ad947d222be1f", + "chksum_sha256": "ae0e49ac0a39b42b7e884e2f299b9ca9ac41cd7fab9477a0fcd67dbc662c5078", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/hostname", + "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/hostname/__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/hostname/hostname.py", + "name": "plugins/module_utils/network/eos/config/route_maps/route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7f0aa4b6dd78573bafa4984b8cc441ab1e5e5b1f5ce81b9c7d5012e631cbe54d", + "chksum_sha256": "5aec84f3a36201ff7967cfb2213033e78601517c9d9e9950271e2c9d6b706ae4", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/interfaces", + "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/interfaces/__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/interfaces/interfaces.py", + "name": "plugins/module_utils/network/eos/config/acl_interfaces/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "381dfacbf5de0b7e10e7998c2c9ef6de461f76106e597712f4e1d1f094373866", + "chksum_sha256": "b6d4dde06ac68d4d095efecb55bde60c39d70a82219586d244d2067de19ba81a", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/l2_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/l2_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/l2_interfaces/l2_interfaces.py", + "name": "plugins/module_utils/network/eos/config/lldp_global/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ffc4f7351fe5ea0ac3476b9242c40f56839cb455c8f81844bb8fe8b7abe7dd2", + "chksum_sha256": "27d08d64512225b47da179d0e081fc0608f1f48cd8cccab963e955e08df2c774", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/l3_interfaces", + "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/config/snmp_server", "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/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/l3_interfaces/l3_interfaces.py", + "name": "plugins/module_utils/network/eos/config/snmp_server/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "288c25e6439539b5ab38e4eb24ff13e2383b4997620a04ff9f5151e058865319", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lacp", + "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/lacp/__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/lacp/lacp.py", + "name": "plugins/module_utils/network/eos/config/lacp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "be88b1b00ffd9d2a1053c2e284d81b62753791bf1ae23f3124595991d87eb68b", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lacp_interfaces", + "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/lacp_interfaces/__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/lacp_interfaces/lacp_interfaces.py", + "name": "plugins/module_utils/network/eos/config/acls/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8317aedd2a88b234a2af6ca54bc67d81423cec835cb42c52df7ac2b71132eb32", + "chksum_sha256": "1a6be42cb681d771db7a2ed06959b2f4b5efb781ed41358f11c6f00a576ed7c8", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lag_interfaces", + "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/lag_interfaces/__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/lag_interfaces/lag_interfaces.py", + "name": "plugins/module_utils/network/eos/config/ntp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "296a67cfe58f8450c03fb79f0dbfec348fead8478fe2966cedefd611bfc6b996", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/legacy", + "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/legacy/__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/legacy/base.py", + "name": "plugins/module_utils/network/eos/config/lag_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ae7be9226844a6c41d306bf463c00087631931af57be3242325fe69994a022d7", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lldp_global", + "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/lldp_global/__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/lldp_global/lldp_global.py", + "name": "plugins/module_utils/network/eos/config/vlans/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d4b1359483582657e92c964e22a4250d83f2f5b9cc81c1172cd23ef2b26698b3", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/lldp_interfaces", + "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/lldp_interfaces/__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/lldp_interfaces/lldp_interfaces.py", + "name": "plugins/module_utils/network/eos/config/interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a0fa6baa3560ab08624fb30a79f807e64db902d3f6db24237de6a1685625f0b5", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/logging_global", + "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/logging_global/__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/logging_global/logging_global.py", + "name": "plugins/module_utils/network/eos/config/l3_interfaces/l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "310b7b976792690784c41fab723926c75b0ad79bbee6562d02ee869ea6e2b1bb", + "chksum_sha256": "02bfd7533ef86f4474fb202a0cd6d710ae65bd35c68b2e25f0c4b3410ea93c29", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ntp_global", + "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/ntp_global/__init__.py", + "name": "plugins/module_utils/network/eos/config/bgp_global/bgp_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c81b5c555f1df05264b446bf4697ca1e25ecef7464d10ef217584f34a12ed6ea", + "format": 1 + }, + { + "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/ntp_global/ntp_global.py", + "name": "plugins/module_utils/network/eos/eos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "577216d559173e21134dc506d580d527b150ecb7c450e0a7cc57d5ade06a0632", + "chksum_sha256": "779df2cf7e60b4788a6c84848b7fbf892aa12e793d7f1e325cdafbe2d87ef114", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospf_interfaces", + "name": "plugins/module_utils/network/eos/utils", "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/utils/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospf_interfaces/ospf_interfaces.py", + "name": "plugins/module_utils/network/eos/utils/utils.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ed0e26eb1dcb088e6492841b4ce09c8dee5d5b51e913bb389e155320815b92eb", + "chksum_sha256": "3f7d9467ef57217864bdc55cd3cf38c58744ff24a124b7cb06f6914adcc67196", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospfv2", + "name": "plugins/action", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospfv2/__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/facts/ospfv2/ospfv2.py", + "name": "plugins/action/lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "27328c3a07bd2e986780dc75d7878de801e937191d77650eaffba9907132ae96", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospfv3", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/vlans.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospfv3/__init__.py", + "name": "plugins/action/eapi.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/ospfv3/ospfv3.py", + "name": "plugins/action/lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e6c8aa3f3c4d5c36cff05e44876ff6e4165c3b8e77195a92d276637984a0a39a", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/prefix_lists", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/l2_interface.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/prefix_lists/__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/facts/prefix_lists/prefix_lists.py", + "name": "plugins/action/interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2de6d61f47175a1bad0d38f025e724821d8f3a8abfaa646eb45f5c271741d4b7", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/route_maps", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/linkagg.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/route_maps/__init__.py", + "name": "plugins/action/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/route_maps/route_maps.py", + "name": "plugins/action/system.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3a8e0c6554ba35f7aea6e59ee77998f6743ecc6489a275a06183ba21a7e10ddd", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/snmp_server", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/static_routes.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/snmp_server/__init__.py", + "name": "plugins/action/l3_interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/snmp_server/snmp_server.py", + "name": "plugins/action/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "06d1b755cb083a6cd52d264cd436ff90713c1ffcde2f5ef29e5c195ef0303887", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/static_routes", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/lacp_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/static_routes/__init__.py", + "name": "plugins/action/logging.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/static_routes/static_routes.py", + "name": "plugins/action/ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "92d12a6d64f821005211e378906244327b65079ea3c773615feada839f678b02", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/vlans", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/snmp_server.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/vlans/__init__.py", + "name": "plugins/action/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/vlans/vlans.py", + "name": "plugins/action/interface.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "85e3a117c391b5fd5455588997f9b8c6a6ed586ebb510dee3eadf15b41524fa6", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/__init__.py", + "name": "plugins/action/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/facts/facts.py", + "name": "plugins/action/route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e7331bdec12957b960b8e1951c7acb4fe7e90eb759bc1d77691a3efd97a0afe1", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/bgp.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/cli", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/l2_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/cli/config", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/command.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/cli/config/bgp", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/acl_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/providers/cli/config/bgp/__init__.py", + "name": "plugins/action/ospfv2.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/config.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/eos.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/acls.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/static_route.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/lldp.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/l3_interfaces.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/ospf_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/lldp_interfaces.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/logging_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cde3990650be3770dff01181cd9e3cda93a4b8f06dcd788cdbe2419e84bb3bb6", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/__init__.py", + "name": "plugins/action/prefix_lists.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/vlan.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/banner.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/vrf.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/facts.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/lldp_global.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": ".ansible-lint", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3d4befffd9881adf431f9fd2010568ef349eb1767d4a125952e50932c12a2c1f", + "chksum_sha256": "b47f72e159f93a5ff07ea2534752e0fa977b214e9ac05c667fa83ac13be4e50c", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/ospfv3.py", + "name": "test-requirements.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ac269ead5d9b8dfe779208f65d278bf39cd61fcd91cc2c97dd3ea00bd75064f0", + "chksum_sha256": "e8467be9cdbc47d5456dc3d15b1fb6821f730b7e4ceafac79bddf466a38eb053", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/prefix_lists.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f4602d1d97809c09f7d472207a6b96b7ac058f33618cbcb5ad5b0ae593935a06", + "name": ".vscode", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/route_maps.py", + "name": ".vscode/settings.json", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e5e6c53a56d7346c55caa728299f11f3db706e7be58eeaae274e07788c6ba7c3", + "chksum_sha256": "689cb2b210cace81743b1da8f00db7a4a7027b193dc85b17be2918b6f9977bfe", "format": 1 }, { - "name": "plugins/module_utils/network/eos/rm_templates/snmp_server.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f3173e8c9a9e17aa46121952040721a82b8dd0a14a309cd6a793a3f51f93d9bf", + "name": "tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/utils", + "name": "tests/sanity", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/eos/utils/__init__.py", + "name": "tests/sanity/ignore-2.9.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "8c562d6941e7798adfb9f88ff0791f32d9e867dcd22292a4d8041c32585285a1", "format": 1 }, { - "name": "plugins/module_utils/network/eos/utils/utils.py", + "name": "tests/sanity/ignore-2.13.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3f7d9467ef57217864bdc55cd3cf38c58744ff24a124b7cb06f6914adcc67196", + "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", "format": 1 }, { - "name": "plugins/module_utils/network/eos/__init__.py", + "name": "tests/sanity/ignore-2.11.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "7c9647b2dee513f57df36fee1897a54856aeba3b5fed24f2b7d6612b225ead63", "format": 1 }, { - "name": "plugins/module_utils/network/eos/eos.py", + "name": "tests/sanity/ignore-2.10.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fd730a1fc3bd0c5ef0e604aee79afb799d0d15f0e201252043725bc44435866c", + "chksum_sha256": "7c9647b2dee513f57df36fee1897a54856aeba3b5fed24f2b7d6612b225ead63", "format": 1 }, { - "name": "plugins/module_utils/network/__init__.py", + "name": "tests/sanity/ignore-2.14.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", "format": 1 }, { - "name": "plugins/module_utils/__init__.py", + "name": "tests/sanity/ignore-2.17.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", "format": 1 }, { - "name": "plugins/modules", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/sanity/ignore-2.16.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", "format": 1 }, { - "name": "plugins/modules/__init__.py", + "name": "tests/sanity/ignore-2.12.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "7c9647b2dee513f57df36fee1897a54856aeba3b5fed24f2b7d6612b225ead63", "format": 1 }, { - "name": "plugins/modules/eos_acl_interfaces.py", + "name": "tests/sanity/ignore-2.15.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dffc5b66412ba048c9b4ef4bcc0f27af5fe2f805485450da661963b7980b86bd", + "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", "format": 1 }, { - "name": "plugins/modules/eos_acls.py", + "name": "tests/config.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5e066de071b7fac7aa304dd9051389d29d6d814c8e84ff1518532457a3f49cb", + "chksum_sha256": "de5087316490411841c67aa3307cfdd3acaea09875c9b4dee6852bca7c120764", "format": 1 }, { - "name": "plugins/modules/eos_banner.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": "c9a40fe93e2835e8e2ef138f63de065a737fee2710b108b7ac7c3fdbba5002a8", + "chksum_sha256": "49ba996dc4735c3463e9af561344346dfae14bcc1a68096ce78364b377f0df1f", "format": 1 }, { - "name": "plugins/modules/eos_bgp.py", + "name": "tests/unit/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "81f6df8f4bdbb49dfb362cb4f6f1be725eb58880d0fd130912c064d81392abc0", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/modules/eos_bgp_address_family.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": "0855ab5e39574228ac20e05bde1e0460931a1ec0fbe1fd274fdf0ae567807019", + "chksum_sha256": "55bd0e924dcc22d050612c944bff0ef745e51faac9260dce9b9b2018c4c8a661", "format": 1 }, { - "name": "plugins/modules/eos_bgp_global.py", + "name": "tests/unit/mock/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "335586e03f0a9b8a6bf3329f90639eb32b0b78a4fd5e64bf4b95eaec4642545b", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/modules/eos_command.py", + "name": "tests/unit/mock/procenv.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5e2e3b77e337f259e6d98b46923b363fd56caae339baad75426ab3a299257eb5", + "chksum_sha256": "d0f54fd298f7888bfada6f867ee0f883f776a368916410abe2e5d31b8d17faec", "format": 1 }, { - "name": "plugins/modules/eos_config.py", + "name": "tests/unit/mock/loader.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "928d6defbd9036ea351ee30c67cf290ed4894036068ab5fa5897bfc9c7a00feb", + "chksum_sha256": "bea80cf14afd91d02e652a3a395bed3d74fdf373d12d5af6a41daf5516646663", "format": 1 }, { - "name": "plugins/modules/eos_eapi.py", + "name": "tests/unit/mock/yaml_helper.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "10baf8783de260b3d4987837a488e162374fd5f7ac46a436bdc902f54ada4675", + "chksum_sha256": "4dbe503c0585b634f72b82eef6b9f8d078ae383ed865bb016db31992dac97600", "format": 1 }, { - "name": "plugins/modules/eos_facts.py", + "name": "tests/unit/mock/path.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6d1d2227f9c1a7e65f7a388d06631dc08f45ca6f4f58f44011133f5fd5c8f79e", + "chksum_sha256": "44b6e5b20c52ab9f4f57eaf79948d7ce9b6fa0546ae7d103abaa3bbfa66c5f19", "format": 1 }, { - "name": "plugins/modules/eos_hostname.py", + "name": "tests/unit/modules", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/unit/modules/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cf0e35f2b3765bb25d5950e6c91681ded597c31faaf3eae64afe445d3fbb72ba", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/modules/eos_interfaces.py", + "name": "tests/unit/modules/conftest.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0f7f0c7940992d72766effe9fbe5837351911b7c39c68ac510d2f49202627a60", + "chksum_sha256": "e0ae70fa7c2a5e56d7f02a47c3602398cff60c8eb021772ac59a76df2a234048", "format": 1 }, { - "name": "plugins/modules/eos_l2_interfaces.py", + "name": "tests/unit/modules/utils.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8554efe1c6868e5d68b76e9fecd4835978403942c41b66b46d0ac96f272d4b1e", + "chksum_sha256": "1e9c58b776c4d76cfc671ebfddb1a290a50af7dd0aa1b69b2ad1c5ae1b2545b7", "format": 1 }, { - "name": "plugins/modules/eos_l3_interfaces.py", + "name": "tests/unit/modules/network", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/unit/modules/network/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0484177d5f87109f6890c88a76545832eda63db662a0337fd27366fec66976d8", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/modules/eos_lacp.py", + "name": "tests/unit/modules/network/eos", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/unit/modules/network/eos/test_eos_acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b120e44e4f4dcb6b3b0e0b5323a54acaeeade4d05ff579f08fc30af69550ca87", + "chksum_sha256": "dc656eddee1d1e7d1e19f853e822ddd2e3278e8bbd2d3b3b3dbdb1b92ef881a7", "format": 1 }, { - "name": "plugins/modules/eos_lacp_interfaces.py", + "name": "tests/unit/modules/network/eos/test_eos_ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "35545f0df6e96f1ad2747ad9e6782b100ca571b354a2c17b99d55e378ce9900a", + "chksum_sha256": "1041888b1a9bc1959250af27978e23620b8ed9aa14db113d338643394461e0f5", "format": 1 }, { - "name": "plugins/modules/eos_lag_interfaces.py", + "name": "tests/unit/modules/network/eos/test_eos_static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3fc25733ebca35a7d6ce3eb49255a0af16a3091b86069e955f8faf9fb3158c56", + "chksum_sha256": "9bff61e7421e9ead114f758cedede3e348e783e5b8962a4efc1737926a95a319", "format": 1 }, { - "name": "plugins/modules/eos_lldp.py", + "name": "tests/unit/modules/network/eos/test_eos_user.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2f477f9e4ececee706fcc9de764dd76fabfbc958b608034bbb6c556e92af836d", + "chksum_sha256": "5c25ffa2c6c9151aa2917352cead5c31e710b989f478cbf1b2633414d8267d7c", "format": 1 }, { - "name": "plugins/modules/eos_lldp_global.py", + "name": "tests/unit/modules/network/eos/eos_module.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ec639faf3df0ff7bad3856d6fc62ba7c9540353eebf8739789d6e5a564eb8f6", + "chksum_sha256": "b3f4714ae9af0063ed76f955c15e8492b3f7d69ecc52b3c1e139f49f2a0ea4d4", "format": 1 }, { - "name": "plugins/modules/eos_lldp_interfaces.py", + "name": "tests/unit/modules/network/eos/test_eos_l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "77926d1a7170487fb7a35933005bd3aa6739136d79ede07eb31d4c28041af86e", + "chksum_sha256": "f0cd14e440fa9fde8c41f357b4349ecfb990b3e55079a95ee85c1047adf82bb6", "format": 1 }, { - "name": "plugins/modules/eos_logging.py", + "name": "tests/unit/modules/network/eos/test_eos_bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "06f0cc89d0706a8fbd34eed1f3b549471920309589d197ee5eb813cc94242096", + "chksum_sha256": "82670df14b058649c33891ba1a4c3bfdfda6ef39a1d199244626d9f051bf6675", "format": 1 }, { - "name": "plugins/modules/eos_logging_global.py", + "name": "tests/unit/modules/network/eos/test_eos_command.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "533c33b76192e2e20cb6f68edf1d2faefaff522de72e45b039a6592db7f75a5b", + "chksum_sha256": "e22eb99b373411967bf240388b482c5bdfe4448b00f963a6fbf0081517bca097", "format": 1 }, { - "name": "plugins/modules/eos_ntp_global.py", + "name": "tests/unit/modules/network/eos/test_eos_lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "652d06cea3f84829516fe5b322978e5883602c6efaf597d64aeb32e0308f3451", + "chksum_sha256": "cba4b3add8c9d73648c923686cef9d7f824fdc4e73df92e831265b2e809e1744", "format": 1 }, { - "name": "plugins/modules/eos_ospf_interfaces.py", + "name": "tests/unit/modules/network/eos/test_eos_ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "df6a85528f7ffd00eff97da8786683a980307dba93805e32eb6860f2446f0ace", + "chksum_sha256": "80ac2358e9441421006c95dfa8e0cde4fb72187c00abd27f1e90ffa887663365", "format": 1 }, { - "name": "plugins/modules/eos_ospfv2.py", + "name": "tests/unit/modules/network/eos/test_eos_snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b09a1369332f58f635a167116a34c98c5df0402a648f6c9ac865219ee157a416", + "chksum_sha256": "a8a1c34ad13c8b2fc1094b04fedd2d647e7dc8a5f067988a4739b3d84c076a29", "format": 1 }, { - "name": "plugins/modules/eos_ospfv3.py", + "name": "tests/unit/modules/network/eos/test_eos_lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0daf72a054da083ded9df445dc2c5f2a0afcdc4c158b43db0974e54beb66b239", + "chksum_sha256": "70ae233aea97e698eecf3bd6bea988be6424762c798f685fafb45c23a850b75d", "format": 1 }, { - "name": "plugins/modules/eos_prefix_lists.py", + "name": "tests/unit/modules/network/eos/test_eos_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "777a6b476c1259c21b82f9b4dc2ed44c824274e7150aabe83938731f4654072b", + "chksum_sha256": "6268f4ef47c8ae2582c0a4493cd2dab406ad317073fa51d33db5363714e991b9", "format": 1 }, { - "name": "plugins/modules/eos_route_maps.py", + "name": "tests/unit/modules/network/eos/__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/modules/network/eos/test_eos_bgp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "16385a6a853ef36ac311ec2067ba389ee85a0cef5dcf0662643836a963d9ff70", + "chksum_sha256": "46cf0755d9c960c529dc800d9d05a42491ab167c1a5308c0b7ae11f04e1c8715", "format": 1 }, { - "name": "plugins/modules/eos_static_routes.py", + "name": "tests/unit/modules/network/eos/test_eos_acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e97fdb21e12c56449f2be0df87695c8fef7af503c532499d7642c3bb89cb58ae", + "chksum_sha256": "8c8ec6d225cf7b4fe555df3f8b0496cbc214d8cd7d0eea0077e7b6939abc593c", "format": 1 }, { - "name": "plugins/modules/eos_system.py", + "name": "tests/unit/modules/network/eos/test_eos_l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "613e0159ccaeb41f0df5ead02effe8c4639cf5905d7caae648f031b972fc68c8", + "chksum_sha256": "02074974c27359bbd52ba8d27eda47a1c212abc5bfb2189e1384b34698286f8f", "format": 1 }, { - "name": "plugins/modules/eos_user.py", + "name": "tests/unit/modules/network/eos/test_eos_ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "56320fd94aaa4e7537f5443f99f30b3e27b6c5cfbcde91c721f585df7b3ad04e", + "chksum_sha256": "8815ea63958a8ff0e2be4f247efe981ea816db5668ea2f6fe15cd719a863e875", "format": 1 }, { - "name": "plugins/modules/eos_vlans.py", + "name": "tests/unit/modules/network/eos/test_eos_vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1b4ba58768680a041addb0599fb365c19d2407b8b015d5676ff66aa05ae413c6", + "chksum_sha256": "6867734a8347edfe2b6ec59b80effe6cb821ed8092009502476b9f1bf7dce55c", "format": 1 }, { - "name": "plugins/modules/eos_vrf.py", + "name": "tests/unit/modules/network/eos/test_eos_logging.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "43852a94548a65b760502abe46fb5cc4af0850bc31d250fb8e1aa4411c728e94", + "chksum_sha256": "c2aaac1a0154b77aadf3845c8222783d731cec4595c5b795c9d10654d54449de", "format": 1 }, { - "name": "plugins/terminal", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/test_eos_lldp_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "606176c03a6d9a7e8414b4b432cb09112c00727e2fad9af2a5409a70faa4f040", "format": 1 }, { - "name": "plugins/terminal/__init__.py", + "name": "tests/unit/modules/network/eos/test_eos_bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "95e130c9d56b7b425c88a68932ae20fe75971f08455030fc6597f92d9bf7b666", "format": 1 }, { - "name": "plugins/terminal/eos.py", + "name": "tests/unit/modules/network/eos/test_eos_route_maps.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ea1b198625696b314fb39b4f4db5dccc2ddc22d89fdb75fd0ec58ee3c2bb241", + "chksum_sha256": "64c5e7252ff26e97a830919c94b339097fe2efacfded5072b7c47783deae9bd1", "format": 1 }, { - "name": "tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration", - "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", - "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_acl_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/test_eos_config.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2226be54468edd007e582baa0bb937f2ad19460b0904084500b632388f55bfc4", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/defaults", + "name": "tests/unit/modules/network/eos/fixtures", "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/fixtures/eos_eapi_show_mgmt.json", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a79b77c93a1982c2682c177681bfcef5f3fb3421e3ef10be452fc81dc3ce8871", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_acl_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "963dde77e29e22955f66b6d4a4d880c327419e3c719556219b19cf2d9d515c07", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/meta/main.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "7011ff501cdde31949153491b1f1092e8d8afa6a27510ab594deb1504403c2d0", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_config_config_updated.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "199f6fddff67988e4e15efde118949a06623ac6cda6cc56a43110fab3da655d9", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tasks/cli.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_eapi_show_mgmt_unconfigured.json", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "09f3bdc48ce35e7200a5a5da2f2722dff46de4bd8ebc1d1718fa4ed7a08310df", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tasks/eapi.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_l2_interfaces_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "501ad2cead9d2a90aa7529319befbf62a4f58f7988995788c5206c90fbec5afc", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tasks/main.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_route_maps_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", + "chksum_sha256": "64a5a2e160aff448bb567d8d4fdba4c3231f85ab0b44e2f596fe2784148e8554", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests", - "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_acl_interfaces/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv2_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c4e0126af072bca2ca99eb356d26868e44adae27ffa3622f54fc431122e66ace", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/_parsed.cfg", + "name": "tests/unit/modules/network/eos/fixtures/eos_lag_interfaces_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dad0f95e9549bce843069bc4584803994e2549a64e70c6d844e5d37e41190630", + "chksum_sha256": "996743ab19a23f6fbb30754d1f4beb2911c6b4ffa69a28665dfc79b5ad519b65", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/_populate.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_ospf_interfaces_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4cfbb7d9c017eea2318fb53edf60ff9b83e6dfeccae2d6bc85f16d05d33a7ff0", + "chksum_sha256": "2c664a8713d7ccd543333cca425528c1726d6790b8364bdd6a5e8720ce4183be", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/_remove_config.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv3_config_gather.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b87b082bd1a6efb8a4fcffbc804615955068460aa128235e5bc6833b551be9b2", + "chksum_sha256": "091b340fe2578196b84cd9b133d0cc01e479a27a12caeb2a796355c571a39cb4", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/deleted.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_config_candidate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dfc9f3e78036a19826feccd2fad6679dd22d05d44fdf5226540ce1f29256f261", + "chksum_sha256": "3352c8002ead9454c96fa97e82bc2bf245ac57a69edbf8a934bed4ef809de3de", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/empty_config.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_acl_interfaces_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e304de25e98dfbbd3e8b884f6478d7b841a022b232febe94380f256a50a51557", + "chksum_sha256": "29bdd16b7032ccf6dd42d4c2e78ebe00aaaf155ea7f5d9049c638f742478f312", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/gathered.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_static_routes_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e43043f8a8c88832634fb29c4839abc2be35598c34df4a953d0eda562a90c78e", + "chksum_sha256": "9de7fbc93c152431ec2baf2f7c8ba736ced12148e8bff2e7b54eb7dd39c4b04d", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/merged.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_acls_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1668ec34e8d2f67dc611925ddf3b4f00ae826f0a65c72d939a8b1046d64c873d", + "chksum_sha256": "c58fb25414acf3b04a882b8172c4c048c637b5906670a1c3a5f36e8a3aad0380", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/overridden.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_l3_interfaces_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1f5be632f4525a5de8591f6aa83113ccf37fd9cb62d0f5b6ef4c62dcfb1c6fa7", + "chksum_sha256": "0989f0ad8aea46b6b4b7111aee264687387c44e8cc68154f8d9c054d22581d1d", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/parsed.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_global_af_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "86b04f3482cda3dd386cac6bd225865c4f3637845bc2b38165814e6c89bbaa2a", + "chksum_sha256": "dd5318703b4822b5a27eb24bb0d1898c7e5559e96151114784e5a5e92d07f535", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/rendered.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_vlan_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "876b6b7da3c239e569da81974334a14293ce92683bae9643239bcd4bb083c94b", + "chksum_sha256": "6e71249b2afca7c80191a77d86753e21419042d51d570de0b3c717a204f01400", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/replaced.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_command_show_version.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0d3dca47353e80e36f629fd572a1b64e2c49dd75d82bf4ab28fc53634d33803b", + "chksum_sha256": "cd0ee8985d66e4cff1ebeff617108414d701cdb2acebf9327329f62e093f7062", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/tests/common/rtt.yaml", + "name": "tests/unit/modules/network/eos/fixtures/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f2b15009df3b8b2bd9936379027b7f544a9c81a23e5c33fb9847b25a0b54645c", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_logging_global_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "616869cf79f4faf6f64276e039fbcad728d3e012eba2073b118b0296d9334013", "format": 1 }, { - "name": "tests/integration/targets/eos_acl_interfaces/vars/main.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_lldp_global_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8631d3b93d4bf6c66a2d3f5e5c11f188f364dc3a36a4bfa5614a51a045a1d49f", + "chksum_sha256": "41eb838c679e2fd974f15bd92461a1627b29a0f2b8b1c5a5c3fef8a472efaad3", "format": 1 }, { - "name": "tests/integration/targets/eos_acls", - "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_acls/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_ntp_global_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1c841ab014af5105c26d977cfcac4de50919a8537bf632698f95e5ea5f2b5c0b", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/defaults/main.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_global_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "3cef54b0f53689ccdd9a9de7e3d23fa7fa591582506b438f1b628752b5b0847b", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/eos/fixtures/eos_snmp_server_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "955317964226d2639660f6006be99a9c1d67e3a8dcea25ba7b2c4a569059a4f9", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/meta/main.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_hostname_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "55cfe4746ef24943eac865d5b0fd9b6a6884e0e529983e253d5764175c01c6e9", "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_banner_show_banner.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "dc2e6349862de27bfb1d50da78684b7b6320c6c8626a7ae378ce07852d64f984", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tasks/cli.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_lacp_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "123f47356786e4facd8bf8169639c0286878d1ad6e37b71c283d8729848ee841", + "chksum_sha256": "5a89a5f03e68185c4a50f5410ea4fb04caca756685c8d906c1b4558fa52896aa", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tasks/eapi.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_prefix_lists_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9f3757d49c81f01e6fdc9ed127fe45328fca0d8bb2871cf5277a0af7f27ea533", + "chksum_sha256": "ed6dda06d2158651429f03d9db644514e20f89e6d3c58331fc09e059c76a22ff", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tasks/main.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_eapi_show_vrf.text", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", + "chksum_sha256": "a43e222ce4d0e6aec92afabb2d5ff7f6cc7fd96ce4e055b6ffc02ad1492373d5", "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_logging_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d35c0e1702f10694008ce77f2d405c569d3745738fa4ceab306cdb638f5b465d", "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_lacp_interfaces_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "414cc25eb0be567529b328993c191ea1f282c2620ff5f45b57462ec7e950ddca", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/_parsed.cfg", + "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_af_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "25852caa484a525b76e22e5d7a3b3e342764303140a98f3c1c9f15dde4231776", + "chksum_sha256": "9cfca9294069868122bcad8e9a7bcfdfd6101949fd9959ec32766b682f635a68", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/_parsed_cfg.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_config_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6dcdb52677d56b4ae0290de99c8cd013fb1aae46a1a08e59c84d8f15fffa7205", + "chksum_sha256": "03abdcaedc2f739a12fd1c31f37164f02ed471aff024ad8e654a0d7ec3e611e6", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/_populate.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_user_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "adf72055e9bffeaa9a7d332e77898a2ff6f1748eb02046d0867c907601c72cc7", + "chksum_sha256": "2b11830bd90b2c0e492cba03f0af73a5229a4723e47959812544961bde1ac438", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/_remove_config.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_system_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c567c0a070d35ae7dc0def99be6a57bdf14d0485dd785e72c4c9e192c98d12ec", + "chksum_sha256": "d1cb12a14186402c703d639d484b7ea9829e52f9159afac4f7779bd396f5e43f", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/deleted.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv2_config_gather.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6688f31ad22c98409e9af72340492edcfb288cef4d3c30037ed424b886cf634e", + "chksum_sha256": "6271cc911105743891d46bde906d969ad2ce562d8bfa9364d845da33cb9c3bde", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/gathered.yaml", + "name": "tests/unit/modules/network/eos/fixtures/eos_static_routes_config1.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d9b49e9cd0c20334e2f3ac1aaa7cf75fa51acfe5d2d47b60d35d77260d77b145", + "chksum_sha256": "22d8eb393f411a1034b6d77b5137ca205b1d01b09a6488c5c30199145b99bf7c", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/merged.yaml", + "name": "tests/unit/modules/network/eos/test_eos_hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8ae640e0d6726b443b36e33c066555aab81c0c865d21f92a9218fb449839df17", + "chksum_sha256": "d475c839bd9eec611ad9226f604113e43f3ee337f7ae1fa839a5cd7812c74d99", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/overridden.yaml", + "name": "tests/unit/modules/network/eos/test_eos_ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "161b63801d5e2e1ed876dc6929ab54c7f2f89bef189ab4b7f394679b6561b244", + "chksum_sha256": "f5c329f3a991e1aef099556f1b128a6d31e6bc16c160c8df7ac9c311278c6a3d", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/parsed.yaml", + "name": "tests/unit/modules/network/eos/test_eos_eapi.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8b73e35944c74b107af433bbcc6e7b7c4cf64f928a29dadffa1f8d469c1c6d25", + "chksum_sha256": "55469a55bf8e298dc208f9a8d85fe7a50d4b0e38979b1e8e68601b04455ad5a3", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/rendered.yaml", + "name": "tests/unit/modules/network/eos/test_eos_system.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "50f9aa1e9a9c7e29fc6efd923caa8cfb358bbd69417b539d2ecd978af5e1519c", + "chksum_sha256": "d70923c1e52358c5aca24ec7db07df4fc7f35482f9167494f5239ecd8b835ff9", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/replaced.yaml", + "name": "tests/unit/modules/network/eos/test_eos_logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "02a799009a3c14748b28e1ca595ec784e16f7589e3d08786991775bb73edc628", + "chksum_sha256": "2a4e09637aeb8e41fbadb07cd02b0006f9a5c7ca1404ef912177a383f9e3a614", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/tests/common/rtt.yaml", + "name": "tests/unit/modules/network/eos/test_eos_banner.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0659d10743e2796f81f48bae653e0cdf722e3999e7c2593453290fd0eafaf63e", + "chksum_sha256": "53e44aeafc087453c5a441b201e08dd8b11058cfc88f0b89fa60d9afaa8d2e44", "format": 1 }, { - "name": "tests/integration/targets/eos_acls/vars", + "name": "tests/unit/compat", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_acls/vars/main.yaml", + "name": "tests/unit/compat/unittest.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4ac57542e8c5b785dac916943f46c3166ab7e8ed158541a5f38c8d83ba8247c2", + "chksum_sha256": "727203a3846be41893b78a4b77852a1658925e936fb19539551958a5d8e8fb81", "format": 1 }, { - "name": "tests/integration/targets/eos_banner", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/eos_banner/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/compat/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/defaults/main.yaml", + "name": "tests/unit/compat/mock.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "a4e0ca26e6e2982bc40db782db3a0d4950e8c5a749171c0da22c27c85acd23ea", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/meta", + "name": "tests/integration", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_banner/meta/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "name": "tests/integration/targets", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tasks", + "name": "tests/integration/targets/eos_lldp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "name": "tests/integration/targets/eos_lldp_global/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_lldp_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tasks/main.yaml", + "name": "tests/integration/targets/eos_lldp_global/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "f53f0ae420b815a40999516a0df43dbf6be6478362d4fd00f938647cd31ea997", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_lldp_global/tasks/eapi.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tests/cli", + "name": "tests/integration/targets/eos_lldp_global/meta", "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": "5a6ff4ad57df259c1322d52be030e6bda317af6738e2e3ebf043ca14b5fc9d64", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_banner/tests/cli/basic-motd.yaml", + "name": "tests/integration/targets/eos_lldp_global/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4b2551d785983506768deb63cd2f8ba8ae35c5e6ce5eae18e340fd75291e390a", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_banner/tests/eapi", + "name": "tests/integration/targets/eos_lldp_global/defaults", "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": "d7cd4bec5ba015f96ac020675f8b4a256dcc1e2bdd9f4b59775237acaa8d809c", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_banner/tests/eapi/basic-motd.yaml", + "name": "tests/integration/targets/eos_lldp_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c8e94533c27b7c01e870af443aae37c16cb5180e86658a8de5a2a6b5599efb97", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp", + "name": "tests/integration/targets/eos_lldp_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/defaults", + "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/defaults/main.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_bgp/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "b4cce5198a2d66a44e8775b311ff670c877aed0d7d37c5f7b43d843f0f1e1f08", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/meta/main.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "4ac4431a75c62d1a70050d834f822be901e87b57cf6178b14069bd0dba8a95fe", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_lldp_global/tests/common/empty_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "44cb429ba9a7352289e7ce9c1f1b46965ea1c360510d031c554472b04012c4ae", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/tasks/cli.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "chksum_sha256": "61363b2fbb08af548968fd3bef7e529f5f1a15d59d8c36732c9a430488d4d2ff", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/tasks/main.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8d0f3e120b5e0f83314d06ed429b515b98e122ebdd4111b4e5be0bf09098877c", + "chksum_sha256": "0048d6a4374fade15d938c1d79b79eb8b3d95500fe31a55b8e2509b3fc39cef6", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_lldp_global/tests/common/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "13d7c23ac9137d74bd2614020c8d8c585f3fb9ae30d53d8a120a1abe168d47d0", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/tests/cli", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_lldp_global/tests/common/parsed.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ecfacbd7e8e994b8e1ca0db698eb1226a9f0cdecd0bc4dcaee71466d7fa237b3", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp/tests/cli/basic.yaml", + "name": "tests/integration/targets/eos_lldp_global/tests/common/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bdebd0673be1e39039dcb426a889e569042dad0c5cb7b2bf01ba68d7091b894", + "chksum_sha256": "97c3ee1287e7584f46521ddc1bd32b3f6928c6f0c2f30fb00ded22272649ab1d", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_lldp_global/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cb37329f298bade2c13b44af8e8036f83bdda812f2acca9eead754340be8d829", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/defaults", + "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/defaults/main.yaml", + "name": "tests/integration/targets/eos_lldp_global/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "2e8be33a4b8c4f6ed1238e648834c66b382d5d0c9638b2aaa15d23e5433e181e", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/meta", + "name": "tests/integration/targets/eos_logging_global", "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_logging_global/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tasks/cli.yaml", + "name": "tests/integration/targets/eos_logging_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_logging_global/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tasks/main.yaml", + "name": "tests/integration/targets/eos_logging_global/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e40fe291a7e7d70bd846b4acf8f4a1a465948b9a02b037d9b0fd0a4193055baa", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tasks/redirection.yaml", + "name": "tests/integration/targets/eos_logging_global/meta", + "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": "7b61bd7a713c0b9735361ff90fb07b90d1b4fb97b9c822c2c979bd6eb82b892c", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/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_address_family/templates/populate.cfg", + "name": "tests/integration/targets/eos_logging_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0b889f292c92b4630f9cd7f3ff38826eb0db4f2937fc2f9e5af1f266245cca74", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/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_address_family/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_address_family/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_logging_global/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0b889f292c92b4630f9cd7f3ff38826eb0db4f2937fc2f9e5af1f266245cca74", + "chksum_sha256": "b2770a4c9d78449e45cb039ca95cc66215d4b5fca8aeca52e28280daacb29ee5", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/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_address_family/tests/common/_redirection.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6ed262f5f0ecec25b856f900c3bf6d2b460b8988d495e8b8bd2a94be0e4b136f", + "chksum_sha256": "61de4747e7132e7d8e54ec9eb6443f26e2896927739607b0dc6074d5369beae3", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/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_address_family/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2d367a172a6119e19318a7925d0f93ab844f3285d5e7818894d5754dff1c3879", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1e8015071f7ffcce80ad0ededdef7f16e73a69a32d9f045d358db22e27e0bc37", + "chksum_sha256": "f7ae7444cf6cc04a2541fabd62ec1667d165cb39ce0b7d171f6efac9e4bd7638", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5a72b2cdd640e76fd8cebc5dc40db9e7f021f219a006e0e202f38753e67f3e66", + "chksum_sha256": "a3027ab685c832aec9f4b8cfa8e26cc8589f25f9fc802b246d3935ab7f1206c5", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b2bbbe9bb69931adedbcb614bd349ce9dc7291f38b6dfa81420db786051dac73", + "chksum_sha256": "1340381f48cc0d4caa0403bbab7b72de9484ba5fb9efa952068ef9af8234e596", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "19423e7d29df73b400d5b47fea1fce275bcd2b04d184470aa5659097038915e1", + "chksum_sha256": "04ab08225d0e0b263fb06ebafa021ee73c6117852c370d5266d36a5c13fff449", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e6039629f8dcaf5a5985dde73f3aeadf9a238c6bb09cba2cf52953fd33d75fdf", + "chksum_sha256": "5776e2445ac71c922c12d4f1a1aa667a2c824a3e4e6653bbe6f834a1da2dec19", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_logging_global/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "501991afb657b98d52a6b17858e19fc4def44d6fc1b308af9d9339ed9b1bcbfc", + "chksum_sha256": "108321fdfd99cdb6ff1b98da4741aa931453d409480f06c8c9af67e1aaae93e9", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/replaced.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b772bb07168e677fd6bf5c7cefdb28b4343d2c51f4463422e7b6a0cf9959f327", + "name": "tests/integration/targets/eos_logging_global/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_logging_global/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "768a7c9e05c637f812712a5de2588a2fae4c9296e89f082ef30ce5efefe0939a", + "chksum_sha256": "c2b71c8e8843f1fa24e2f0bafd6c1bd7880c076e0f5ded8086f8ac71f46955d6", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_address_family/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_address_family/vars/main.yaml", + "name": "tests/integration/targets/eos_logging_global/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "80bb6f23199fee8ae2ed4149e4706e9a23f0b0093a9f03c982fc8f3590919fc5", + "chksum_sha256": "0637d1b53afb46a8eec79f5c0763905f7f7c182db42f823402261479d71fae15", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global", + "name": "tests/integration/targets/eos_eapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/defaults", + "name": "tests/integration/targets/eos_eapi/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_eapi/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_bgp_global/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "8d0f3e120b5e0f83314d06ed429b515b98e122ebdd4111b4e5be0bf09098877c", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/meta/main.yaml", + "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_bgp_global/tasks", + "name": "tests/integration/targets/eos_eapi/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_eapi/meta/main.yml", "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_eapi/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_eapi/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a890c9293ff8120b194c107a6f70bdca6d62433ed701398a8214feaecb42bba6", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests", + "name": "tests/integration/targets/eos_eapi/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_eapi/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/_parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cbb352548a62d123453d921de875e2acb84594a405ddafe0c04460de66e62928", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_bgp_global/tests/common/_populate.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_bgp_global/tests/common/_populate_af.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4f02550439ab2971f3dedc3958ee676bf2f3dd53532dca527bc619cf2f1a1d9e", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_bgp_global/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/start.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "36c8fb15c11b0806cf005745d3430a56d953e9f6780a7cef5aafd2a09a0535ad", + "chksum_sha256": "66702395e736d29c01bdfcf6f45a349937108ce757696dde4cef46ca1986ba7c", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/stop.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4d04fc66d72fa6c188227956f100f60c5653c829ef71f493379e1aaaed85fb60", + "chksum_sha256": "70621105e0b6c97e34047f0ce8408da1cb5e03868c8678df2f28bcf817c57527", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/vrf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5d8689ef6e49ccbba62ad1ebc44268ac6d8f82c7f001b21251b5d09c7ec7d32b", + "chksum_sha256": "64545c869099218860beec3678baf8209b39d66a5841128afafc15775a6e9eff", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/configure.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5c0343e2441998a70cccd7a221674cd22a585a30cb660edf3089ac0b090e798f", + "chksum_sha256": "6efb0ff5e69c8eb46e1101343bc93272549578ad68a74fede9781a99bfb5983a", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/off.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6fd9e647d40d57feb5aa630c4ad460edcc0a5053310451f19ede0fd8d741ffe3", + "chksum_sha256": "593ed779304b25cb537ca13fc88e95a91a938109f5d5f9f6722a29f37573c040", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/zzz_reset.1", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "de7a1434091a39ef8cc7b4dd5439d3b37ae5b77a68f90ff04d5a83160cdbfc9b", + "chksum_sha256": "01cd53e28355e0d65ba10accb15c95a17f824555796003f0225d7879a40382e9", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/purged.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/on.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c4383c852e0367d67b96145d03829375611f90a60fa91aebf9ae41e7f8de1d2", + "chksum_sha256": "626f6ef04d9b5eeec3c2633d9517c0c632fe4b758470326278e7df918eec58c1", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "58ef58d4be3aa6e9478afcdb9010c490d331d3523a5d4804a0a68f3d1555d9d9", + "chksum_sha256": "37b279c3fc0c94ed140a3e3890e309424710bcd35856f31b4211d5e7841f4656", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_eapi/tests/cli/badtransport.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c43d6297de44a8d0ff51684af71b0f6837eaaa5d475561572902e6683b194247", + "chksum_sha256": "1620fab5693bd0fb373e2d53372188eb73a2fe5a3d389b11052ea42df490ee26", "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/tests/common/rtt.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f749361ee14f98e79fa6a1f95335d7c2e66d2c28f517b1852b5b7f4cfbb9d429", + "name": "tests/integration/targets/eos_snmp_server", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_bgp_global/vars", + "name": "tests/integration/targets/eos_snmp_server/tasks", "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_snmp_server/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a1c6b658736d10bad13d5b973aa9955f414ef50fa30aa23a890374ab544a2f3b", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_command", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_command/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_snmp_server/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2d8c084f757657a7a323a0fd6c49fef789d8ef373f770fb46f864563bc23c4ef", "format": 1 }, { - "name": "tests/integration/targets/eos_command/defaults/main.yaml", + "name": "tests/integration/targets/eos_snmp_server/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_command/meta", + "name": "tests/integration/targets/eos_snmp_server/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/meta/main.yml", + "name": "tests/integration/targets/eos_snmp_server/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tasks", + "name": "tests/integration/targets/eos_snmp_server/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_command/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_command/tasks/main.yaml", + "name": "tests/integration/targets/eos_snmp_server/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests", + "name": "tests/integration/targets/eos_snmp_server/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli", + "name": "tests/integration/targets/eos_snmp_server/tests/common", "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_snmp_server/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7519d9b6d82234763393ccb21be1c3b1aee3457627c963bddb6db8ddb11df7ea", + "chksum_sha256": "49411b2c85202029944048c9b98c93755510c85f9912a6de5c31987bd5fb199d", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/cli_command.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "da86906ca5b2fd63ecc66e426e89f951058a3c90f0e9fd36accf6001837fda25", + "chksum_sha256": "e15abd88634fd0d4e37994033dbad069c4c6a5a74032fbdcb28054fd2ce24f50", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/contains.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e4e02af125647f0d0812ea8f3d43e8ca78a8ba11e4a572c39a8a061f836aada7", + "chksum_sha256": "92b980a2b2ec6624a2d10d807e8026953ec336d0c8f56ee070d27b0b8cd66ed6", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/equal.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "762cb51b120a123a9af5a8256b45ff6103bf26624e6425e4a8b42c1c34cb70df", + "chksum_sha256": "03a12bd881dbe8be8c2a60638c8f2e564cc0b176ea9764af6a17d015098c8ac0", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/greaterthan.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "84cf8932e41d9e08041c38f84dfb9b1d62680abc42a4b645245ef5fd365b362a", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/greaterthanorequal.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0410c3b348dcd910c449696a7ca05847e90d4e9d0504287ef1ede60d9f526308", + "chksum_sha256": "7de001d983e8873496684af8bbd816f668626f0cb61280f1e0d07326af32bdda", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/invalid.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b5fad1e7df8589dfd24573eb51f93dfb513d5fae99d434fd92edeb5ee1e96945", + "chksum_sha256": "a65a37d14b4764392ea5d9ccfa3debe6b1bfdcb5f4501477a51714f1f38eeefa", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/lessthan.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6829309ca8cf687d623c0c9f497e1f145aea6dc7df99c832174e549c18c83620", + "chksum_sha256": "90b472eb859697c791cb385ea0972ab042ffe3af2afedd902bf780cbd29ceac7", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/lessthanorequal.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "02dac1c05e69cfe6e0db11694305e27d5cf5c18b916c83725145a01c45d151ce", + "chksum_sha256": "5498af2763ccdc85790108ce60fec119ee9ee184694ab4dbb73bcc84411931a2", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/notequal.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3bb2dfd7a6a694105573c6eadaa72f817458acc9dcb0dd0a1a854d319d09cef5", + "chksum_sha256": "fd35e88f8ab1a36691e324cf1c5e98721a41035cc9ef210966b4f744869fbd17", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/output.yaml", + "name": "tests/integration/targets/eos_snmp_server/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c4f066d2e8544080a5cf534d49cac23b6af9380724df99f1ac2ea601fdae230d", + "chksum_sha256": "c058c00472d829b53fb556f986cb2fbf9943b02212719a676530c1ca1ef3864e", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/timeout.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0710688d24996846459569d49568102b47517ceb62da0be0168f8f4cc10744b2", + "name": "tests/integration/targets/eos_snmp_server/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/cli/version.yaml", + "name": "tests/integration/targets/eos_snmp_server/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7e1ca984e5d0cff37df1d4029e0a9044daa287e5b6355387920054695dfd61cc", + "chksum_sha256": "ae7da77e7cf9b6b97d3b5f42e00cb9f2ab4b591724f14421ce31ecaa491a410a", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi", + "name": "tests/integration/targets/eos_snmp_server/templates", "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/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "92b19c1a1597bad3fe8920c6d15810f2df039981b9488dc802e31b599255ca7c", + "chksum_sha256": "955317964226d2639660f6006be99a9c1d67e3a8dcea25ba7b2c4a569059a4f9", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/contains.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "35fa217e836688b2d7399c66f9408109429434afe4e85a78fa57ba9d440e7083", + "name": "tests/integration/targets/eos_lldp", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/equal.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bf0a37bd334e4ac7039fa458189a52163c074d38da24e01b4e31b1a5df564bf5", + "name": "tests/integration/targets/eos_lldp/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/greaterthan.yaml", + "name": "tests/integration/targets/eos_lldp/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c4156873ff938c4126af0092303770286cd3c1829ec579689a0413d85b57a7d6", + "chksum_sha256": "6c58c665f3d46c7e382b12352535b4c300ea576b2c8e2e075b93a6ce18f2031b", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/greaterthanorequal.yaml", + "name": "tests/integration/targets/eos_lldp/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "58247b34643e80aa852c3069ab18673c02c98a30845b2edc808262ccd0e26a37", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/invalid.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e0ff41bbdbf781316e8f8b28ae72d5c6f2dd45d9040e340ed8e089632c62dfb5", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_command/tests/eapi/lessthan.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9cf1473ef81732265c8fab9d4aac0e2412a160b4cd1b8bccf474a6b4b872093a", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_command/tests/eapi/lessthanorequal.yaml", + "name": "tests/integration/targets/eos_lldp/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5762ba9c8c56c10a9473447afc5e4be6f14c8a13f64840fe001e0b1fb1a0cf9a", + "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/notequal.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "fa8076a05fc1d4cfc801e077a2204d20cb1c7eca29ee7efca969fb68bb4969a9", + "name": "tests/integration/targets/eos_lldp/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/output.yaml", + "name": "tests/integration/targets/eos_lldp/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "693de41c9288eff0fecd465d42917945b0304d9ed5e0ac8f0370e25daf21b8c3", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/timeout.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "77c15954650a439dd4fad91b81be94d802c38168a3ab63478d957492874362e5", + "name": "tests/integration/targets/eos_lldp/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_command/tests/eapi/version.yaml", + "name": "tests/integration/targets/eos_lldp/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3a28c24b52f933e2a767f91719be61f48f473d42854b0f2bb17583d1ec9b6d6a", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/eos_config", + "name": "tests/integration/targets/eos_lldp/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/defaults", + "name": "tests/integration/targets/eos_lldp/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/defaults/main.yaml", + "name": "tests/integration/targets/eos_lldp/tests/cli/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "53b18d54488b69edfd167f85e21b91301fdea473379481f5d96be206edd7124f", "format": 1 }, { - "name": "tests/integration/targets/eos_config/meta", + "name": "tests/integration/targets/eos_lldp/tests/eapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/meta/main.yml", + "name": "tests/integration/targets/eos_lldp/tests/eapi/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "f7b48fe0eac8caa3e2d627764dfa3fb2a4d9ccb00db62e4fad31670c2a390671", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tasks", + "name": "tests/integration/targets/eos_lldp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_config/tasks/cli_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cad1c35e72ece6063b7dd0600ae72e4e0f2f29b963d58733833bfb71db1ff1dc", + "name": "tests/integration/targets/eos_lldp_interfaces/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tasks/main.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fbf830cf0b2f6eccbbf21e658888b119977106bee0aa263cc2ac4393ddc19d4f", + "chksum_sha256": "f53f0ae420b815a40999516a0df43dbf6be6478362d4fd00f938647cd31ea997", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tasks/redirection.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b49deae160fc4dfe8307a0ffb0749eedf58bfe63871c77531866e164fe7f955b", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_config/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", "format": 1 }, { - "name": "tests/integration/targets/eos_config/templates/basic", + "name": "tests/integration/targets/eos_lldp_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/templates/basic/cmds.j2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "635043eb1da106cc08711181db0d52331cc4ba2cda07e30466641f4c7497f10f", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_config/templates/basic/config.j2", + "name": "tests/integration/targets/eos_lldp_interfaces/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6d6e2f3a34e61e1912c313154341699bc6398ccd884e4663bbdcefab7e76f6ec", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_config/templates/defaults", + "name": "tests/integration/targets/eos_lldp_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "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_config/templates/defaults/test.j2", + "name": "tests/integration/targets/eos_lldp_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6d6e2f3a34e61e1912c313154341699bc6398ccd884e4663bbdcefab7e76f6ec", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests", + "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", + "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/backup.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6d9bdcefed31e07edf3c37a38a9bdd50b83b235723758b4f4afee6afddb1b9e5", + "chksum_sha256": "e10f178b46e0a654204ab75a7487641c6345c51592481e64d7c7d5d15317ac67", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/check_mode.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8b8ade7952b3bdfbe87a27bef6a6072bf1559fb682ed03477c2c4bbb95add14d", + "chksum_sha256": "7576f665b34ce43ec4245fd5765611aa031ffbf73096d9f8907b7e5a9f537c52", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/config.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9a76cb30e8f9c86209fa61ebfd779b91e9f5996a527b4856ec5d1f91d5bdfb77", + "chksum_sha256": "0e5f55128df4f7326db45dfc8c478e59a39d68053caf563625473079580d6838", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/defaults.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4390d24f8debc9f9a06bd6f75cedac8f6de373193dd6f477329d0479908e66b7", + "chksum_sha256": "61c502d64492d3127c5503a4c6180c49d6bfba16ce0b4db6d37f5547b8bed58c", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/diff_against_config.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1ba680c356fa88e96ed721f29df59097b2aabe32030286f032e3f981db797276", + "chksum_sha256": "8fbe99406870ccff9922c49a2ae193a563edcfb51cd7a4e2797181d1a3edf3ec", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/save.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b576d2db1098db6187c8dabf08b98f2f768c955c0fc76d32f946c50df47d3bc3", + "chksum_sha256": "2a49e3976aa794644e2cb1ed765367a39ad81b39a42c16bca3bf32c8043dc9b1", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/src_basic.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "115d6ac4c64b7d029afd2ddb9588b5eeb323ccf12391cf9bc1ba7db051c0847e", + "chksum_sha256": "73c669fdf692d5f7f3b578f6a4a46f8b0fff6d62da0f62ad903648405e9934dc", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/src_invalid.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "52ca0bec01fc312731dc6e4be0b4439a1ffcbdb24716321987fbea517a5e145a", + "chksum_sha256": "670d9e454375f4479720d7a70e5099afd23319aa52bf2d01ba9b916ffd385d8e", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/src_match_none.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e6f0ba65100459757c0b7dab013d12f4b901e2af19979c49047b6c403e2a1877", + "chksum_sha256": "23e7bceb1fd85748923512e2facfaf4cb2727570be530b30897febd6c79f2a1a", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/sublevel.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0f7743e4751629f7b7b985959361b7ac07cf23c267d74777401cd2e45bcff7d1", + "chksum_sha256": "c711ecfe5d02de94fed82b58d3402e733c1e575fea60c3f9744f3379b01d1b33", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/sublevel_block.yaml", + "name": "tests/integration/targets/eos_lldp_interfaces/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f954e5787b9b7e557b058e9f4e8720bfe36b468b4822bf29913ed3d14042475c", + "chksum_sha256": "b4f0aac4ed1a3d18ee04a35d42b989ee6a3e2a8ad07ee8b98f56f275b027e826", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/sublevel_exact.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8a6f66fe3cca7fc667d32dd2de4f5bc6fc7d82d2d92953316ad3d6e4f16ec463", + "name": "tests/integration/targets/eos_route_maps", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/sublevel_strict.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "eb86226952eb153150fe0e1b41d8bbd2d38bbb2323831ff4a865553f161ead28", + "name": "tests/integration/targets/eos_route_maps/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/sublevel_strict_mul_parents.yaml", + "name": "tests/integration/targets/eos_route_maps/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ab71a8f63f346ecaac7f063da41865f2e61466559bd8e3b01c5c8cd5d4e63ff", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/toplevel.yaml", + "name": "tests/integration/targets/eos_route_maps/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fb6ec870503106ced6935c661248ff3e9d637bafc418f9b50f6bd01329c26ce2", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/toplevel_after.yaml", + "name": "tests/integration/targets/eos_route_maps/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "caea8fad79205e27a673f4ee9fe66ae8337bed0172587d7f41f27f4c3354fa2d", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli/toplevel_before.yaml", + "name": "tests/integration/targets/eos_route_maps/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_route_maps/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "727839044c517b93bff6eeb4786a005f52b4c17adcca79db896113ef5a788ff5", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli_config", + "name": "tests/integration/targets/eos_route_maps/defaults", "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/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3bd7e06189b2e0a2c94746eeacb0988676f417f3a6740b1ef65a39609ae5d735", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/cli_config/cli_basic.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "135e26aae8c87670f187e83c82608ece8fe523e21e51824780e082ed0b4bf4ff", + "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", + "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/backup.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8b7ff6fa23044a1941225d49d2d23d85c1cede5f6d194625515b78a94ceccef0", + "chksum_sha256": "cdabf064aef1475c5f3ca82c999bf1b31e113c0dc8e8c23c043b792d4ea0d6f1", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/defaults.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0ece39d7ef9b05d0e14b28c199af6dd0181c05c687fcf8555b7e41f35406f4c6", + "chksum_sha256": "28c7426a5b17a56f3b95701a57e71358f555978f8411340e51b098932fbe5bc4", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/save.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b10fe8c1dec1cc8276a16bcfeb6b70ac9667c8fc42cc5acd7f742fbdd2a2a2f6", + "chksum_sha256": "15d0e603090321cfdddd64967bc56c26dfb3003af6930743aa03bc6171ff0a3f", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/src_basic.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb891145f21b067fae034a29cded633ad42f8c834d477f8997b2517753fa7300", + "chksum_sha256": "a089af65191e7c43d545eca51f782b7d202e2cb2d56494bface34b020cb45666", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/src_invalid.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "751ce477a9a859e0fe8c0a420a836a9aeb6ee4e4d00d58af9e96fa4b15731577", + "chksum_sha256": "60cc6ccf0b2663bfb35b98686d984c74580676ff0f846553237213ea77df4177", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/src_match_none.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c42bb681923e1aea5664c1a629c22da23afd186fbdcbaa1c8f6a5df716e69bec", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/sublevel.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "402e518d37d1d8a5c283de5593d26f4067c6ce3312b90e9f9b5c41c8c52892af", + "chksum_sha256": "a43b4966005a8a7ff89e03d834bdafcc7bca6d64de605c312d06bce503883af5", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/sublevel_block.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3dde12483d855a7b2da463f885ac18f0b10b36b9b6acc538de96c4de23157c61", + "chksum_sha256": "79312d821332f81704323f4a81c7a25bc6028b81da83946485016d95669068d7", "format": 1 }, { - "name": "tests/integration/targets/eos_config/tests/eapi/sublevel_exact.yaml", + "name": "tests/integration/targets/eos_route_maps/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5501acfbe1e6d31324268704c74ddf6bf1d7d9eb0e158edcbbe4ff4b214cc76a", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_config/tests/eapi/sublevel_strict.yaml", - "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": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tasks/main.yaml", + "name": "tests/integration/targets/eos_ospf_interfaces/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/templates", + "name": "tests/integration/targets/eos_ospf_interfaces/meta", "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/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "55cfe4746ef24943eac865d5b0fd9b6a6884e0e529983e253d5764175c01c6e9", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_hostname/tests", + "name": "tests/integration/targets/eos_ospf_interfaces/defaults", "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/defaults/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "format": 1 + }, + { + "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/_parsed.cfg", + "name": "tests/integration/targets/eos_ospf_interfaces/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "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", + "chksum_sha256": "dbf1e3fd93dc6e50049a62d8107765cdbba14ee1f843606845bf30d0a982cd42", "format": 1 }, { - "name": "tests/integration/targets/eos_l2_interfaces/tests", - "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", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "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", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", + "name": "tests/integration/targets/eos_bgp_address_family/tests", + "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": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_lacp/tests", + "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_lacp/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/_remove_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "36c8fb15c11b0806cf005745d3430a56d953e9f6780a7cef5aafd2a09a0535ad", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "800ead8f10e3d4bc50ddf469a53b358695197f47476eb4b3789aa011e16f1dea", + "chksum_sha256": "2d367a172a6119e19318a7925d0f93ab844f3285d5e7818894d5754dff1c3879", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/_reset_config.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d0dcc0055c8b24c34f55531d55a1069274e7450a6592a5223e9976887437cd33", + "chksum_sha256": "5a72b2cdd640e76fd8cebc5dc40db9e7f021f219a006e0e202f38753e67f3e66", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "256d175eb92a50a737d23b476ff3fe20d9999764b3cdac3fe3f625bc357bc809", + "chksum_sha256": "1e8015071f7ffcce80ad0ededdef7f16e73a69a32d9f045d358db22e27e0bc37", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7cc12a2c9c2b6154d7474af3cc090677b5067fa213c13ba6fb8b4203b9aa0149", + "chksum_sha256": "768a7c9e05c637f812712a5de2588a2fae4c9296e89f082ef30ce5efefe0939a", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "298c194b94ae3f3750c516e2245251ed37611565c429ccf4fd7427c22df368cd", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1567cbeeee2362aa296686ff39b8a1fb0e95ee41adfb130e8612826981e7113d", + "chksum_sha256": "b2bbbe9bb69931adedbcb614bd349ce9dc7291f38b6dfa81420db786051dac73", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "14973e3f346a4f8643baff860e9a35d46a16d7ed42212bc804ffa2b78f70c023", + "chksum_sha256": "19423e7d29df73b400d5b47fea1fce275bcd2b04d184470aa5659097038915e1", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bfdee3db7e752c613eb903f5b515c30d6ae3b5da4b641f9c575416aa32d77649", + "chksum_sha256": "0b889f292c92b4630f9cd7f3ff38826eb0db4f2937fc2f9e5af1f266245cca74", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/_redirection.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dade4172a3223fc93e1eca92c3303456eb1f6c154c4cbcedad9a1e267821a311", + "chksum_sha256": "6ed262f5f0ecec25b856f900c3bf6d2b460b8988d495e8b8bd2a94be0e4b136f", "format": 1 }, { - "name": "tests/integration/targets/eos_lacp_interfaces", + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b772bb07168e677fd6bf5c7cefdb28b4343d2c51f4463422e7b6a0cf9959f327", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/parsed.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e6039629f8dcaf5a5985dde73f3aeadf9a238c6bb09cba2cf52953fd33d75fdf", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_bgp_address_family/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "501991afb657b98d52a6b17858e19fc4def44d6fc1b308af9d9339ed9b1bcbfc", + "format": 1 + }, + { + "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, - "format": 1 - }, - { - "name": "tests/integration/targets/eos_logging/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/eos_logging/defaults/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_logging/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/eos_logging/meta/main.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "876b6b7da3c239e569da81974334a14293ce92683bae9643239bcd4bb083c94b", "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tasks", + "name": "tests/integration/targets/eos_acl_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_logging/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_logging/tasks/main.yaml", + "name": "tests/integration/targets/eos_acl_interfaces/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "8631d3b93d4bf6c66a2d3f5e5c11f188f364dc3a36a4bfa5614a51a045a1d49f", "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tests", + "name": "tests/integration/targets/prepare_eos_tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tests/cli", + "name": "tests/integration/targets/prepare_eos_tests/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/prepare_eos_tests/tasks/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a007ba121e4852763d37a3f6c644aa9eb28771279d1190aadcf77eb97675c5a4", + "chksum_sha256": "c53c149ac2c5c508711c2414d406b033110276eb4622949358a6e1efcf3cd505", "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tests/eapi", + "name": "tests/integration/targets/prepare_eos_tests/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging/tests/eapi/basic.yaml", + "name": "tests/integration/targets/prepare_eos_tests/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "90cbadb226481ddfba8e6981076e1d859499316b2c4018afea81607d469cd0ee", + "chksum_sha256": "851860fe2ed1258710d7fcf89ac5b7d8c3c87755e89ca56fdd79bea022eb2b92", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global", + "name": "tests/integration/targets/eos_hostname", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/defaults", + "name": "tests/integration/targets/eos_hostname/tasks", "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/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/meta", - "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_global/meta/main.yaml", + "name": "tests/integration/targets/eos_hostname/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tasks", + "name": "tests/integration/targets/eos_hostname/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "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_logging_global/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_logging_global/tasks/main.yaml", + "name": "tests/integration/targets/eos_hostname/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/templates", + "name": "tests/integration/targets/eos_hostname/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/templates/populate.cfg", + "name": "tests/integration/targets/eos_hostname/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0637d1b53afb46a8eec79f5c0763905f7f7c182db42f823402261479d71fae15", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests", + "name": "tests/integration/targets/eos_hostname/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common", + "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/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_hostname/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1340381f48cc0d4caa0403bbab7b72de9484ba5fb9efa952068ef9af8234e596", + "chksum_sha256": "bbd01a1b82535d87fb2c5192c045a1452c02385b1d9325bdcb8013b03f3840d5", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "e8f9622547f2e0fa5c603e7d1e76348d76da8bac90ebfa21179749ee691cd648", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b2770a4c9d78449e45cb039ca95cc66215d4b5fca8aeca52e28280daacb29ee5", + "chksum_sha256": "aed726bbfbc34673f8da380cceaac909741a8a4533d1abf057afb6d9f5b0b214", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "653a99b2d157d5894d94aacc19083fc14c76b23077a390c15c6c6ef57aea62f5", + "chksum_sha256": "969820bbaeb224608a4aab530cbeeb88627ac039bcacf2a1942ec42705e5514d", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c490f97548080abda0e8ebf836466a8a6bde8787bc433c6223ba3d59fd42170", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "61de4747e7132e7d8e54ec9eb6443f26e2896927739607b0dc6074d5369beae3", + "chksum_sha256": "079da330b620d09b22c55b8c63db98278c3347639db086a2c86f0039f2d13f35", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f7ae7444cf6cc04a2541fabd62ec1667d165cb39ce0b7d171f6efac9e4bd7638", + "chksum_sha256": "36160ee5a95d8b19e314fbe8b473f56c8dc87e209f3c9394803a1b7a900f9ed4", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a3027ab685c832aec9f4b8cfa8e26cc8589f25f9fc802b246d3935ab7f1206c5", + "chksum_sha256": "55cfe4746ef24943eac865d5b0fd9b6a6884e0e529983e253d5764175c01c6e9", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5776e2445ac71c922c12d4f1a1aa667a2c824a3e4e6653bbe6f834a1da2dec19", + "chksum_sha256": "784e0e5db4b302883890287cd2ba18d7005403f1c05be8c8c23f7d8b1f807cea", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "108321fdfd99cdb6ff1b98da4741aa931453d409480f06c8c9af67e1aaae93e9", + "chksum_sha256": "9093ee823c0145791216cf2d53f00df72c6ba361f525b2337b6645bdb7d3e8c5", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_hostname/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "04ab08225d0e0b263fb06ebafa021ee73c6117852c370d5266d36a5c13fff449", + "chksum_sha256": "d89644559714c65b378af2d9a1e23c0432a2f1abd4fb09f3538f844430dc06d3", "format": 1 }, { - "name": "tests/integration/targets/eos_logging_global/vars", + "name": "tests/integration/targets/eos_hostname/vars", "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_hostname/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c2b71c8e8843f1fa24e2f0bafd6c1bd7880c076e0f5ded8086f8ac71f46955d6", + "chksum_sha256": "9762cc4a787aec50485af807234f50902fde96f57e6ad904e62a9588c1f61373", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global", + "name": "tests/integration/targets/eos_hostname/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_hostname/templates/populate.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "55cfe4746ef24943eac865d5b0fd9b6a6884e0e529983e253d5764175c01c6e9", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/defaults/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "name": "tests/integration/targets/eos_smoke", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/meta", + "name": "tests/integration/targets/eos_smoke/tasks", "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/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_smoke/tasks/cli.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c7d7b1929079920b7a5922066471180e88e05b39a275e6e842f3d8bb6e5269c4", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tasks/cli.yaml", + "name": "tests/integration/targets/eos_smoke/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "name": "tests/integration/targets/eos_smoke/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tasks/main.yaml", + "name": "tests/integration/targets/eos_smoke/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/templates", + "name": "tests/integration/targets/eos_smoke/defaults", "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_smoke/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "db6ca3b0768262fced3ee97dd2e9b9b9f6085d81047770a3883c7b65973d51dc", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests", + "name": "tests/integration/targets/eos_smoke/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common", + "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/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_smoke/tests/cli/common_utils.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "db6ca3b0768262fced3ee97dd2e9b9b9f6085d81047770a3883c7b65973d51dc", + "chksum_sha256": "16ff2cbec75c329d7ffaeff96467873aae0b48e203e9013b5643fc47af5d47aa", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_smoke/tests/cli/misc_tests.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "8d12a8d25e86ab4cb05fbb567d3e602da96ccf9c7249a92d4e7b00175242085e", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_smoke/tests/cli/common_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "930ade9d4163376aae340574caca0dbcb60880eaabc6836d7357898b325a670c", + "chksum_sha256": "8c0c76c10792321352005faed0ae9c51f1387f4964f2175e9a8e39af1c444ca1", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_smoke/tests/cli/caching.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "80a3c218ee8aaefd8e3fccc016b73adede17f646b5cb7aeb92930b2ebf240e08", + "chksum_sha256": "ea530ff631421e3a7a074f77dcaf5b511a4020d80f609a967362c7708b910c01", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_smoke/tests/cli/reboot.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "65f05f9b573112dd4035eadd0ef4c037794e2c2d8575a9e57bce3363f9251e9d", + "chksum_sha256": "f89bcad9703169bbc45f7cb7a306b81666f9ac935a912a144da191470dcf1102", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/gathered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "db285e5dba7f6690073a06d6fa2c71df3f551c1df280f25fc99a690c96b74053", + "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/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_smoke/tests/eapi/common_utils.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ad9aa73641fa04cef01184edad25e66075435e1190f1fd8dd6b35bf9a3da968d", + "chksum_sha256": "a18fa7aed51409b4944aada8a31a413f1058fda4ca0e652f55296166b6c5a253", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_smoke/tests/eapi/common_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "42c31c2540456a34184d4bab9fc456c8ac86f151e3fe42609f6acfac96638eeb", + "chksum_sha256": "8c0c76c10792321352005faed0ae9c51f1387f4964f2175e9a8e39af1c444ca1", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_lag_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "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": "8ad00ff561ee93d06eabfc81bfdd27c78dd622a1f9776da62893eb6a219fa338", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "425b9069cbfe0e6daec1d28d3023f886464df76571975acfa14d43285eab3dd5", + "chksum_sha256": "f53f0ae420b815a40999516a0df43dbf6be6478362d4fd00f938647cd31ea997", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d755dec987689bb90c08d6864899ad17b02cc78e78ec8126d1ff75897f7aea77", + "chksum_sha256": "6d01e053990d738bcb911756ab9be2a7659b592d0841d98a1efbe9f4abb2528c", "format": 1 }, { - "name": "tests/integration/targets/eos_ntp_global/vars", + "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/vars/main.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "abc053514dddfaa3eb54034ff9f04c8481b9b7ce6071dee44a2056f3a98685ee", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_ospf_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/defaults", + "name": "tests/integration/targets/eos_lag_interfaces/defaults", "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_lag_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/meta", + "name": "tests/integration/targets/eos_lag_interfaces/tests", "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": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_ospf_interfaces/tasks", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tasks/cli.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "b58309f8938bba932257668c1dd8e88057583702dd483304b451dc2bcb3d2389", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "b05efe5f17248475b35be8de1008f92763eabc0a46f7e6e6ef721d0ed1c0d005", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_ospf_interfaces/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "bb70b82e4f2780065245088e2a0868d4bd3ac4d78772c3533772904502384b7f", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/templates/populate.cfg", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e2d645f551982b7ea8613b5d94260428dbcd4cd3207d34a4bb51fb8722b0ffc4", + "chksum_sha256": "ac0aaba7718ec98d92a4b78ded3ee5dd5c7b0f7bbf4eb62a00200769ebd84362", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/overridden.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d4e9b522c4e33d097cea87a3bfbdb7d7c0420be389b4b2ae4b0ec2c1dc9c1589", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/_parsed.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e8dd392df3bb210172a0fb991fafc904367293cc00e7dbdd2289ab477d58011b", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b5c505431c56a3bd030ee52a85e240626c905bfe2809aab18a2e761066e0ccbb", + "chksum_sha256": "ec7f5172df48561a7661707c31befc2372876e79536cf8452cce42131e26efa3", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "c49e1972ec01b3646c6d93d8dce2d3672048797e780cd160b4b721a08b348d89", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f61d79526410667fe97aa0c1fa0c6a0162e500c6abc373d025165382643b96a4", + "chksum_sha256": "e67fbf115a90966048b5dd75e61b370f6001fdebaf1da0c8cd8670e7593ef086", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_lag_interfaces/tests/cli/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f997c36cc9170f11226c5057f8a2a6b9da5717306c07a8dcfae8517d9b4152d", + "chksum_sha256": "0a09e158385c2158469622bdd80fbaacde054cc03c780e2f895973c59413eb38", "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_lag_interfaces/vars", + "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_lag_interfaces/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c607da23362194cb7a396214a601408e7ea7b78e895567b6a070205916f4677", + "chksum_sha256": "594c6341406e70e47b7f9a9af53f481c6876cea084a03beca4068406e59f149c", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/gathered_empty_config.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f6ff5c23745f6f182db2a1173cd25b5a98a29465a8bc37cae61678d8c577af23", + "name": "tests/integration/targets/eos_logging", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/merged.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "698af51d7f6a6ced71a9415495684f30be35b26cb298b53e1de7792a3d857c18", + "name": "tests/integration/targets/eos_logging/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_logging/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3389b2ec80e9dfa1b851de623ba7bf990b39240feebc9e3cb18dac87b85250e", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_logging/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3fd4657ae775a57bdcda3537eaafb956b979f0a1569c80583364e96f16e2f201", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_logging/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c136e2d339db165c433d2b3bd05409e542892bb8a5a94f53737891fb082d16f8", + "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/replaced.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4222a5770d1b912a7ac71103749ff82d93dd903e769e87690471a59be0c7e988", + "name": "tests/integration/targets/eos_logging/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_logging/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cb5f91b025aa37891756c22bfae165a560c4c00bcee7f0d93005ddc79944886e", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_ospf_interfaces/vars", + "name": "tests/integration/targets/eos_logging/defaults", "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_logging/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bd015c6e2a8c0de8c44a813c8d30a6554cb1f7dec683760cd30a899ce85481c5", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2", + "name": "tests/integration/targets/eos_logging/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/defaults", + "name": "tests/integration/targets/eos_logging/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/defaults/main.yaml", + "name": "tests/integration/targets/eos_logging/tests/cli/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "a007ba121e4852763d37a3f6c644aa9eb28771279d1190aadcf77eb97675c5a4", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/meta", + "name": "tests/integration/targets/eos_logging/tests/eapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/meta/main.yaml", + "name": "tests/integration/targets/eos_logging/tests/eapi/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "90cbadb226481ddfba8e6981076e1d859499316b2c4018afea81607d469cd0ee", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tasks", + "name": "tests/integration/targets/eos_command", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tasks/cli.yaml", + "name": "tests/integration/targets/eos_command/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_command/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_command/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tasks/main.yaml", + "name": "tests/integration/targets/eos_command/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/templates", + "name": "tests/integration/targets/eos_command/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/templates/populate.cfg", + "name": "tests/integration/targets/eos_command/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a50326c21eba1d983db933b7a18c112f2aa7c5f16d574dc908095d9258b1cdb3", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests", + "name": "tests/integration/targets/eos_command/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common", + "name": "tests/integration/targets/eos_command/defaults/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_command/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/_parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "efe02afcb1c79bf68872562eb02977725e731dfbe7536b270e0273e2766a6521", + "name": "tests/integration/targets/eos_command/tests/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/lessthan.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "6829309ca8cf687d623c0c9f497e1f145aea6dc7df99c832174e549c18c83620", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/invalid.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0c38f23b440f4e2e1c0024d0c3e828cabea8b77cb08245223e9d1bd041824f55", + "chksum_sha256": "b5fad1e7df8589dfd24573eb51f93dfb513d5fae99d434fd92edeb5ee1e96945", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/greaterthanorequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ebe46cf49f8af67c8cfe104d7c6e943b0280e000755907f8e718a035c9a622db", + "chksum_sha256": "0410c3b348dcd910c449696a7ca05847e90d4e9d0504287ef1ede60d9f526308", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/contains.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2a7cd3925d54d03101a02b74c8b75fbf36fc335d3e53202ec6645f4b133f9cff", + "chksum_sha256": "e4e02af125647f0d0812ea8f3d43e8ca78a8ba11e4a572c39a8a061f836aada7", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/equal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "63faa553716754def756ba24e2a6f899177afdad432eb183b788390d219e1901", + "chksum_sha256": "762cb51b120a123a9af5a8256b45ff6103bf26624e6425e4a8b42c1c34cb70df", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/bad_operator.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e9e40c2f4be5c39a0bf44fc386944705e5fe6af989b7b2eab6ca282f7fb183a5", + "chksum_sha256": "7519d9b6d82234763393ccb21be1c3b1aee3457627c963bddb6db8ddb11df7ea", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/lessthanorequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3e4c4999c892bdb9fca72e568774b2c986d7bdfa8fa419c651767c6d4482d50", + "chksum_sha256": "02dac1c05e69cfe6e0db11694305e27d5cf5c18b916c83725145a01c45d151ce", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/output.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e8a3b87032a207d23558a38cd9b6dc25ec6af9ed0e9bc6b41725619fb0f180d0", + "chksum_sha256": "c4f066d2e8544080a5cf534d49cac23b6af9380724df99f1ac2ea601fdae230d", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/greaterthan.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b7d761b36741b02edb289d71aaeac703a09dd50044f06b7a22efb65c1debf4e9", + "chksum_sha256": "84cf8932e41d9e08041c38f84dfb9b1d62680abc42a4b645245ef5fd365b362a", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/timeout.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": "0710688d24996846459569d49568102b47517ceb62da0be0168f8f4cc10744b2", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv2/vars/main.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/notequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c7cc18f6491766c65c2c46d595e731de7a188f6c8a4d85a511193825761fc5c1", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_ospfv3", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/eos_ospfv3/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "3bb2dfd7a6a694105573c6eadaa72f817458acc9dcb0dd0a1a854d319d09cef5", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/defaults/main.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/version.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_ospfv3/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "7e1ca984e5d0cff37df1d4029e0a9044daa287e5b6355387920054695dfd61cc", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/meta/main.yaml", + "name": "tests/integration/targets/eos_command/tests/cli/cli_command.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "da86906ca5b2fd63ecc66e426e89f951058a3c90f0e9fd36accf6001837fda25", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tasks", + "name": "tests/integration/targets/eos_command/tests/eapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tasks/cli.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/lessthan.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "9cf1473ef81732265c8fab9d4aac0e2412a160b4cd1b8bccf474a6b4b872093a", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/invalid.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "e0ff41bbdbf781316e8f8b28ae72d5c6f2dd45d9040e340ed8e089632c62dfb5", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tasks/main.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/greaterthanorequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_ospfv3/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "58247b34643e80aa852c3069ab18673c02c98a30845b2edc808262ccd0e26a37", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/templates/populate.cfg", + "name": "tests/integration/targets/eos_command/tests/eapi/contains.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96b764ff7795f328d12684eb2dd1aa60ea1e4d6d5d3e6ed638273aa7deb25686", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_ospfv3/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "35fa217e836688b2d7399c66f9408109429434afe4e85a78fa57ba9d440e7083", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_command/tests/eapi/equal.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "bf0a37bd334e4ac7039fa458189a52163c074d38da24e01b4e31b1a5df564bf5", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_command/tests/eapi/bad_operator.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96b764ff7795f328d12684eb2dd1aa60ea1e4d6d5d3e6ed638273aa7deb25686", + "chksum_sha256": "92b19c1a1597bad3fe8920c6d15810f2df039981b9488dc802e31b599255ca7c", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/lessthanorequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "5762ba9c8c56c10a9473447afc5e4be6f14c8a13f64840fe001e0b1fb1a0cf9a", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/output.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "772202a71a3c35454372ee3e7d0a8bc98615b619f4cc37ebf1bc20ac7d5d55bf", + "chksum_sha256": "693de41c9288eff0fecd465d42917945b0304d9ed5e0ac8f0370e25daf21b8c3", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/greaterthan.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "18a10808206e727ecffe9b9714974da7d6c95edacd2758b0dd75d207fd6539d2", + "chksum_sha256": "c4156873ff938c4126af0092303770286cd3c1829ec579689a0413d85b57a7d6", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/timeout.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dc8f776fa74a50716d8a0194c5a56a51305991e4295186c2f011afe0cd89a87a", + "chksum_sha256": "77c15954650a439dd4fad91b81be94d802c38168a3ab63478d957492874362e5", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/notequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ef28a5797b256528edd1bff83509babe07944218468f22f9bdeeef905b52a4b2", + "chksum_sha256": "fa8076a05fc1d4cfc801e077a2204d20cb1c7eca29ee7efca969fb68bb4969a9", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_command/tests/eapi/version.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ccb7da45bb920569021036a8ad9757cd020f0012686b5d073f29f9621f7471e1", + "chksum_sha256": "3a28c24b52f933e2a767f91719be61f48f473d42854b0f2bb17583d1ec9b6d6a", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/overridden.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "704e3f910ea6a5ef1cab48ec4bbea46955189e811124fa2c1a8dce9a0efb6a17", + "name": "tests/integration/targets/eos_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/parsed.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c5780138500b761a2832d155ea8a30d7e78fa10a02ab581125af875994bb45c8", + "name": "tests/integration/targets/eos_interfaces/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "db343d29422b68984563c86904ac0ad79845853240e757cc26248b267f8e6f11", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c53dc625cf760dec12686ef99081361defb9dbbfaf9f6ce2d6d00cd6b0eda97a", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_interfaces/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8d5a2e7460ef5bb7f6647ee5902bb0e4a9322beec5011a3c84d47804f5ffed7e", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_ospfv3/vars", + "name": "tests/integration/targets/eos_interfaces/meta", "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/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9917e16f0a7a0b7484fe0780a79f0b22180b634ad091fee3f94946946d87e030", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_prefix_lists", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/defaults", + "name": "tests/integration/targets/eos_interfaces/defaults", "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_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/meta", + "name": "tests/integration/targets/eos_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/meta/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_prefix_lists/tasks", + "name": "tests/integration/targets/eos_interfaces/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tasks/cli.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "a62f1fe641f551ad15f8c85593b987486f1099f5a9172a1b27e73b4520e8ee29", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "7f0746803db7cb46077bb261ea73492246c9973b05d4369c4830edd6181bf453", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tasks/main.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "bc26969057893c4516d300b795ab9a9ca599596ea075a83972b2af4ed2164596", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_interfaces/tests/common/rtt.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ca4a201cb5ed8e1649d04eba504fc0ba0584b9404df7d3fdc3df1d9cb708c992", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/templates/populate.cfg", + "name": "tests/integration/targets/eos_interfaces/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f41196dd12570c02dff69372f0539ac676553a8c97da1637db552399aa691fcd", + "chksum_sha256": "5a0737935c23ff3552dcf975ee16cfa42adfbcea87cf8bb0b8926b2ccf09c8d0", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_interfaces/tests/common/overridden.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2d7fe951ce7d79d1fee4fa2149e1f341d06c7910a220bda9e86118ea26349fef", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_interfaces/tests/common/_parsed.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "36a0793cac2c404b733a21498bf803d7fc38942c11ea65ea26521ca4d64e04d8", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f41196dd12570c02dff69372f0539ac676553a8c97da1637db552399aa691fcd", + "chksum_sha256": "ca023a36a14d5f2de1b213f4e7626424523c01e952e08789e5cac48107ae0b4f", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "0c3a7c9a205c5ff75308f7bb5b9ec60565eb624f45526d5712b3e1ed026e087a", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8184f88e334762f387e4baa6b3ab70c3c160a75c861d669a89b1f2940fa0b501", + "chksum_sha256": "7ae46767fb3bead2365a6cc3aeb9acfb44d8ad8fdee5313f144fe1d248110eaf", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_interfaces/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5789eb8ee641ebf96faa3beaba1360916812f0b72bf79005dacf09038224eb1b", + "chksum_sha256": "fed3bcba071a6d00304fba18b40062463af1e4f9098048ca4385c8ee7d3703ee", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/empty_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1246641c583926029ffa31cf7d9f68a5a3b5d9b6c3426323965a7ace18308646", + "name": "tests/integration/targets/eos_interfaces/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_interfaces/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75d1ef4096be7283925fda58180d9f70f9bbb42cc023228ee6bf69aab00052c8", + "chksum_sha256": "21f21b62a39efa62ebd86dc0b152614f89828c29b70b513a5eab734ba59bb230", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/merged.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "eee19a016590fc436d8be49414f1f5bd60598eac308df3f1581ec52677c6db1a", + "name": "tests/integration/targets/eos_interfaces/templates", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_interfaces/templates/reset.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2481891014a0b474f98bbf7691a95628da7c0897b3ee4fc8046cbc79e0f54c75", + "chksum_sha256": "0a096e71ea1c5a1c492cc2e33283e427338efdf9d837a590b582c2702ccee07e", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/parsed.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "40293ea4167e097760e7aeb5b43e229510ef4eefe55161f18756aea2410aca32", + "name": "tests/integration/targets/eos_system", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_system/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_system/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "412ce27b1e535cfda5876456c2355d78a394ef0db13ba99c334f632732efb388", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_system/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "40b71ec679a26a406e66f31dc4b561a0671ffc493ead69d80c60d7a58a8bb871", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_system/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4b607978c8e64316d6196fa19665a85a0eadbf919ccb8875644857cf9b328407", + "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", "format": 1 }, { - "name": "tests/integration/targets/eos_prefix_lists/vars", + "name": "tests/integration/targets/eos_system/meta", "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_system/meta/main.yml", "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": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/defaults", + "name": "tests/integration/targets/eos_system/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/defaults/main.yaml", + "name": "tests/integration/targets/eos_system/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/meta", + "name": "tests/integration/targets/eos_system/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/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_system/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tasks/cli.yaml", + "name": "tests/integration/targets/eos_system/tests/cli/set_lookup_source.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "9b571561204978b797cde9c09803bd0f35e3a4b1d0f032d549b0d8a479bb7742", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_system/tests/cli/set_domain_name.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "chksum_sha256": "96a436ed7ba93da80b30b7fde2babbd14d77e20c888843f12fbd37f368774c05", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tasks/main.yaml", + "name": "tests/integration/targets/eos_system/tests/cli/set_name_servers.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_route_maps/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "5a6511f53c7475d55b01bd0fd150ecc8432e6a237a0634b9f7d0dab26473d88b", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/templates/populate.cfg", + "name": "tests/integration/targets/eos_system/tests/cli/set_domain_list.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c74494f69023cfc97d41e81575736420b6f29e2d384b0e7f8f41c446ffdc603a", + "chksum_sha256": "382aace82bf0f7d0a09ba8f2a35a825bf9085cdca7d62d507096e65e361b6922", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_system/tests/cli/set_hostname.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3ddfe22c80b9e909d2cafe93380715fc7d695425a4bf23c0c549bbb1414fc8dc", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common", + "name": "tests/integration/targets/eos_system/tests/eapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_system/tests/eapi/set_lookup_source.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "64a5a2e160aff448bb567d8d4fdba4c3231f85ab0b44e2f596fe2784148e8554", + "chksum_sha256": "5ec0cefc6ecaf3e422116a57b7a77dac7c7e8de65543b445baaa5b08bb0c31a1", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_system/tests/eapi/set_domain_name.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "8cfd63ce023b45928d446783ffcd516e4ab736187d36102514859dd9aabcec05", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_system/tests/eapi/set_name_servers.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cdabf064aef1475c5f3ca82c999bf1b31e113c0dc8e8c23c043b792d4ea0d6f1", + "chksum_sha256": "3f151be120cd9e6e74b1778bf682f08879753fc2198c807e4ecebe4486d21c28", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_system/tests/eapi/set_domain_list.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "28c7426a5b17a56f3b95701a57e71358f555978f8411340e51b098932fbe5bc4", + "chksum_sha256": "c864953ce83d0099b4f025894c10d502d1ecff22776b89688f784bf172b4f936", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_system/tests/eapi/set_hostname.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a089af65191e7c43d545eca51f782b7d202e2cb2d56494bface34b020cb45666", + "chksum_sha256": "6bce01fac4d41bba5dc1495d183f86d153fbd010a3b1ac760bd07c32bcd3c5f2", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/gathered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "15d0e603090321cfdddd64967bc56c26dfb3003af6930743aa03bc6171ff0a3f", + "name": "tests/integration/targets/eos_ntp_global", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/merged.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a43b4966005a8a7ff89e03d834bdafcc7bca6d64de605c312d06bce503883af5", + "name": "tests/integration/targets/eos_ntp_global/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_ntp_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "79312d821332f81704323f4a81c7a25bc6028b81da83946485016d95669068d7", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_ntp_global/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "351d48443390baf9e5ba8e9b8856931bb61b2dfa4b78ad8c1096ca9f02a1c663", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_ntp_global/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ef67fa3a5f7c2e93109b6fe7a8241945ba90f239fab62d805af4229984ffd5d0", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/tests/common/replaced.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "44f4351a9b5d2fe29f5ceb7b8da5353d19e68a3ee410ed12f362f8ae419faf42", + "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/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_ntp_global/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "60cc6ccf0b2663bfb35b98686d984c74580676ff0f846553237213ea77df4177", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_route_maps/vars", + "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/vars/main.yaml", + "name": "tests/integration/targets/eos_ntp_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d337f562d76680d2b85d2144b4897034f37423f7f160a16e9c9ea66cc41f0f50", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke", + "name": "tests/integration/targets/eos_ntp_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/defaults", + "name": "tests/integration/targets/eos_ntp_global/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/defaults/main.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_smoke/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "930ade9d4163376aae340574caca0dbcb60880eaabc6836d7357898b325a670c", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/meta/main.yml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_smoke/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "80a3c218ee8aaefd8e3fccc016b73adede17f646b5cb7aeb92930b2ebf240e08", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tasks/cli.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "127eb0878df69b7450386b07fcc8cb8a9582ac42fa9bed00c23a4b86da8d94fa", + "chksum_sha256": "db285e5dba7f6690073a06d6fa2c71df3f551c1df280f25fc99a690c96b74053", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", + "chksum_sha256": "65f05f9b573112dd4035eadd0ef4c037794e2c2d8575a9e57bce3363f9251e9d", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tasks/main.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_ntp_global/tests/common/update.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a8d288c944ccb44045ad3ae954b9f8c24cd785b81a8d895a49601b8bdb3da459", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/cli", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_ntp_global/tests/common/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ad9aa73641fa04cef01184edad25e66075435e1190f1fd8dd6b35bf9a3da968d", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/cli/caching.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ea530ff631421e3a7a074f77dcaf5b511a4020d80f609a967362c7708b910c01", + "chksum_sha256": "42c31c2540456a34184d4bab9fc456c8ac86f151e3fe42609f6acfac96638eeb", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/cli/common_config.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8c0c76c10792321352005faed0ae9c51f1387f4964f2175e9a8e39af1c444ca1", + "chksum_sha256": "db6ca3b0768262fced3ee97dd2e9b9b9f6085d81047770a3883c7b65973d51dc", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/cli/common_utils.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "16ff2cbec75c329d7ffaeff96467873aae0b48e203e9013b5643fc47af5d47aa", + "chksum_sha256": "d755dec987689bb90c08d6864899ad17b02cc78e78ec8126d1ff75897f7aea77", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/cli/misc_tests.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8d12a8d25e86ab4cb05fbb567d3e602da96ccf9c7249a92d4e7b00175242085e", + "chksum_sha256": "8ad00ff561ee93d06eabfc81bfdd27c78dd622a1f9776da62893eb6a219fa338", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/cli/reboot.yaml", + "name": "tests/integration/targets/eos_ntp_global/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f89bcad9703169bbc45f7cb7a306b81666f9ac935a912a144da191470dcf1102", + "chksum_sha256": "425b9069cbfe0e6daec1d28d3023f886464df76571975acfa14d43285eab3dd5", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/eapi", + "name": "tests/integration/targets/eos_ntp_global/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/eapi/common_config.yaml", + "name": "tests/integration/targets/eos_ntp_global/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8c0c76c10792321352005faed0ae9c51f1387f4964f2175e9a8e39af1c444ca1", + "chksum_sha256": "b44421f37fc760a771a3a602eff1724eddc44e6dc49e6275afe538587c656a3c", "format": 1 }, { - "name": "tests/integration/targets/eos_smoke/tests/eapi/common_utils.yaml", + "name": "tests/integration/targets/eos_ntp_global/templates", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_ntp_global/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a18fa7aed51409b4944aada8a31a413f1058fda4ca0e652f55296166b6c5a253", + "chksum_sha256": "db6ca3b0768262fced3ee97dd2e9b9b9f6085d81047770a3883c7b65973d51dc", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server", + "name": "tests/integration/targets/eos_ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/defaults", + "name": "tests/integration/targets/eos_ospfv2/tasks", "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/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_snmp_server/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/meta/main.yaml", + "name": "tests/integration/targets/eos_ospfv2/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_snmp_server/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tasks/cli.yaml", + "name": "tests/integration/targets/eos_ospfv2/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2d8c084f757657a7a323a0fd6c49fef789d8ef373f770fb46f864563bc23c4ef", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "name": "tests/integration/targets/eos_ospfv2/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tasks/main.yaml", + "name": "tests/integration/targets/eos_ospfv2/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_ospfv2/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_ospfv2/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_ospfv2/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_ospfv2/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_ospfv2/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "90b472eb859697c791cb385ea0972ab042ffe3af2afedd902bf780cbd29ceac7", + "chksum_sha256": "0c38f23b440f4e2e1c0024d0c3e828cabea8b77cb08245223e9d1bd041824f55", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", + "chksum_sha256": "ebe46cf49f8af67c8cfe104d7c6e943b0280e000755907f8e718a035c9a622db", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "49411b2c85202029944048c9b98c93755510c85f9912a6de5c31987bd5fb199d", + "chksum_sha256": "63faa553716754def756ba24e2a6f899177afdad432eb183b788390d219e1901", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e15abd88634fd0d4e37994033dbad069c4c6a5a74032fbdcb28054fd2ce24f50", + "chksum_sha256": "2a7cd3925d54d03101a02b74c8b75fbf36fc335d3e53202ec6645f4b133f9cff", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "03a12bd881dbe8be8c2a60638c8f2e564cc0b176ea9764af6a17d015098c8ac0", + "chksum_sha256": "e88142e55ffbbe41f70ee83358da99cd518becb3ff0901f786bb4d56cc098d30", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "92b980a2b2ec6624a2d10d807e8026953ec336d0c8f56ee070d27b0b8cd66ed6", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7de001d983e8873496684af8bbd816f668626f0cb61280f1e0d07326af32bdda", + "chksum_sha256": "e9e40c2f4be5c39a0bf44fc386944705e5fe6af989b7b2eab6ca282f7fb183a5", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a65a37d14b4764392ea5d9ccfa3debe6b1bfdcb5f4501477a51714f1f38eeefa", + "chksum_sha256": "d3e4c4999c892bdb9fca72e568774b2c986d7bdfa8fa419c651767c6d4482d50", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fd35e88f8ab1a36691e324cf1c5e98721a41035cc9ef210966b4f744869fbd17", + "chksum_sha256": "efe02afcb1c79bf68872562eb02977725e731dfbe7536b270e0273e2766a6521", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c058c00472d829b53fb556f986cb2fbf9943b02212719a676530c1ca1ef3864e", + "chksum_sha256": "b7d761b36741b02edb289d71aaeac703a09dd50044f06b7a22efb65c1debf4e9", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_ospfv2/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5498af2763ccdc85790108ce60fec119ee9ee184694ab4dbb73bcc84411931a2", + "chksum_sha256": "e8a3b87032a207d23558a38cd9b6dc25ec6af9ed0e9bc6b41725619fb0f180d0", "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/vars", + "name": "tests/integration/targets/eos_ospfv2/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_snmp_server/vars/main.yaml", + "name": "tests/integration/targets/eos_ospfv2/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ae7da77e7cf9b6b97d3b5f42e00cb9f2ab4b591724f14421ce31ecaa491a410a", + "chksum_sha256": "c7cc18f6491766c65c2c46d595e731de7a188f6c8a4d85a511193825761fc5c1", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes", + "name": "tests/integration/targets/eos_ospfv2/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/defaults", + "name": "tests/integration/targets/eos_ospfv2/templates/populate.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a50326c21eba1d983db933b7a18c112f2aa7c5f16d574dc908095d9258b1cdb3", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_bgp_global", "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/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": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "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_static_routes/meta/main.yaml", + "name": "tests/integration/targets/eos_bgp_global/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tasks", + "name": "tests/integration/targets/eos_bgp_global/meta", "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_bgp_global/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tasks/eapi.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", + "name": "tests/integration/targets/eos_bgp_global/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tasks/main.yaml", + "name": "tests/integration/targets/eos_bgp_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests", + "name": "tests/integration/targets/eos_bgp_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/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_static_routes/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_bgp_global/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4df3d87f73db3368744f45083b9b822543ce447d77a6167922de9c3cc3908909", + "chksum_sha256": "36c8fb15c11b0806cf005745d3430a56d953e9f6780a7cef5aafd2a09a0535ad", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/_populate.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5c1986157b288504efba9959764aa6b8de99c79007f97a59c48e6ad72a496535", + "chksum_sha256": "4d04fc66d72fa6c188227956f100f60c5653c829ef71f493379e1aaaed85fb60", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/_remove_config.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dbd2727c4906cba6e945896b24be521129405364dab6c4444652c2804f91a8ee", + "chksum_sha256": "5c0343e2441998a70cccd7a221674cd22a585a30cb660edf3089ac0b090e798f", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6022c467edbcead6301a2203a755a2ab12fe648877cb77cdc2ab32f5d0cf6581", + "chksum_sha256": "5d8689ef6e49ccbba62ad1ebc44268ac6d8f82c7f001b21251b5d09c7ec7d32b", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/_populate_af.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f8d6eb37916d612ff4b460b42cb1f8689420f1607695d867bf5a1ea7505bf64a", + "chksum_sha256": "4f02550439ab2971f3dedc3958ee676bf2f3dd53532dca527bc619cf2f1a1d9e", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9ab33deec36ea6b8eea7be1b6eafb943f360759fe3b3e5c78211a9ab6cda58f3", + "chksum_sha256": "f749361ee14f98e79fa6a1f95335d7c2e66d2c28f517b1852b5b7f4cfbb9d429", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c93a2f5e26cee3ca747d7dacfb5233adb9c1448b72c54119fd32dce25988f0b8", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bec9055d452548f078aec3418ef1d147865a0b03c739b9a8cb7609142959736c", + "chksum_sha256": "6fd9e647d40d57feb5aa630c4ad460edcc0a5053310451f19ede0fd8d741ffe3", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7efefbf1285c5fc94d42b155d5e3236241aea41a49727bf31e0d27710209a2e2", + "chksum_sha256": "02c017ff36027b957a2682c52ba544c014969f9b4ed9e9a725981a818191cd7b", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "08eaf829db084d4878287253871d6dde4d9027f179af071ba0b501eb474791bf", + "chksum_sha256": "cbb352548a62d123453d921de875e2acb84594a405ddafe0c04460de66e62928", "format": 1 }, { - "name": "tests/integration/targets/eos_static_routes/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2c42048158fb304b5951f30de6ce718b723ff26659c2f1ece7f577612f557675", + "chksum_sha256": "c43d6297de44a8d0ff51684af71b0f6837eaaa5d475561572902e6683b194247", "format": 1 }, { - "name": "tests/integration/targets/eos_system", - "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_system/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_bgp_global/tests/common/purged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "7c4383c852e0367d67b96145d03829375611f90a60fa91aebf9ae41e7f8de1d2", "format": 1 }, { - "name": "tests/integration/targets/eos_system/defaults/main.yaml", + "name": "tests/integration/targets/eos_bgp_global/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "58ef58d4be3aa6e9478afcdb9010c490d331d3523a5d4804a0a68f3d1555d9d9", "format": 1 }, { - "name": "tests/integration/targets/eos_system/meta", + "name": "tests/integration/targets/eos_bgp_global/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_system/meta/main.yml", + "name": "tests/integration/targets/eos_bgp_global/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "chksum_sha256": "a1c6b658736d10bad13d5b973aa9955f414ef50fa30aa23a890374ab544a2f3b", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tasks", + "name": "tests/integration/targets/eos_bgp_global/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_system/tasks/cli.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_system/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_bgp_global/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", + "chksum_sha256": "cbb352548a62d123453d921de875e2acb84594a405ddafe0c04460de66e62928", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tasks/main.yaml", + "name": "tests/integration/targets/eos_bgp_global/templates/populate_af.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "a890c9293ff8120b194c107a6f70bdca6d62433ed701398a8214feaecb42bba6", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests", + "name": "tests/integration/targets/eos_facts", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/cli", + "name": "tests/integration/targets/eos_facts/tasks", "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_facts/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "382aace82bf0f7d0a09ba8f2a35a825bf9085cdca7d62d507096e65e361b6922", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/cli/set_domain_name.yaml", + "name": "tests/integration/targets/eos_facts/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96a436ed7ba93da80b30b7fde2babbd14d77e20c888843f12fbd37f368774c05", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/cli/set_hostname.yaml", + "name": "tests/integration/targets/eos_facts/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ddfe22c80b9e909d2cafe93380715fc7d695425a4bf23c0c549bbb1414fc8dc", + "chksum_sha256": "cb15ea77586a3f5e330abaeb5a693d1e431f3ba0d68e867fa6658ef1d00fc197", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/cli/set_lookup_source.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9b571561204978b797cde9c09803bd0f35e3a4b1d0f032d549b0d8a479bb7742", + "name": "tests/integration/targets/eos_facts/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/cli/set_name_servers.yaml", + "name": "tests/integration/targets/eos_facts/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5a6511f53c7475d55b01bd0fd150ecc8432e6a237a0634b9f7d0dab26473d88b", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/eapi", + "name": "tests/integration/targets/eos_facts/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/eapi/set_domain_list.yaml", + "name": "tests/integration/targets/eos_facts/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c864953ce83d0099b4f025894c10d502d1ecff22776b89688f784bf172b4f936", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/eapi/set_domain_name.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8cfd63ce023b45928d446783ffcd516e4ab736187d36102514859dd9aabcec05", + "name": "tests/integration/targets/eos_facts/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/eapi/set_hostname.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6bce01fac4d41bba5dc1495d183f86d153fbd010a3b1ac760bd07c32bcd3c5f2", + "name": "tests/integration/targets/eos_facts/tests/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/eapi/set_lookup_source.yaml", + "name": "tests/integration/targets/eos_facts/tests/cli/not_hardware.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5ec0cefc6ecaf3e422116a57b7a77dac7c7e8de65543b445baaa5b08bb0c31a1", + "chksum_sha256": "347997e8a2b793de8202fa7c55fe8fb5befc15f804046653b24305aa96dea558", "format": 1 }, { - "name": "tests/integration/targets/eos_system/tests/eapi/set_name_servers.yaml", + "name": "tests/integration/targets/eos_facts/tests/cli/default_facts.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": "0ae6cae32ba80370ac7e8254cc4103412ad26ff7ef67467f860501a93bd7ba03", "format": 1 }, { - "name": "tests/integration/targets/eos_user/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_facts/tests/cli/invalid_subset.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "30ebae89f553fe7b179031c471332dde8a564a6fa8c280d90044283b59d635cf", "format": 1 }, { - "name": "tests/integration/targets/eos_user/defaults/main.yaml", + "name": "tests/integration/targets/eos_facts/tests/cli/all_facts.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "9e88adb456f3bf5b08ce7b72aaa11b73bfaebd5563b39ecf155ca55bc5e326ee", "format": 1 }, { - "name": "tests/integration/targets/eos_user/meta", + "name": "tests/integration/targets/eos_facts/tests/eapi", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_user/meta/main.yaml", + "name": "tests/integration/targets/eos_facts/tests/eapi/not_hardware.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", - "format": 1 - }, - { - "name": "tests/integration/targets/eos_user/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "412ad00f379dfbf2c04c539173c7c88068c175cf54fc2336644e1f0bfbbdc1c0", "format": 1 }, { - "name": "tests/integration/targets/eos_user/tasks/cli.yaml", + "name": "tests/integration/targets/eos_facts/tests/eapi/default_facts.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "chksum_sha256": "784e54cb91e72291cb7c430e617b1b70840fea8f67ab2667fe8c18ad3aff5c0e", "format": 1 }, { - "name": "tests/integration/targets/eos_user/tasks/eapi.yaml", + "name": "tests/integration/targets/eos_facts/tests/eapi/invalid_subset.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", + "chksum_sha256": "fb127eb858414a991f7de95891bc3fb5205f0cec63fab24c58717c26355a6b18", "format": 1 }, { - "name": "tests/integration/targets/eos_user/tasks/main.yaml", + "name": "tests/integration/targets/eos_facts/tests/eapi/all_facts.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "chksum_sha256": "65f1bede3bea1ae5490850f77a0d8e0d5d369af4e05050b0cef51b7bc3430859", "format": 1 }, { - "name": "tests/integration/targets/eos_user/tests", + "name": "tests/integration/targets/eos_ospfv3", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_user/tests/cli", + "name": "tests/integration/targets/eos_ospfv3/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_ospfv3/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_ospfv3/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_ospfv3/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "2833f074f91eb14f89df2cf60665de978c3504c2b340b5729edeaac0ead3df5d", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/meta", + "name": "tests/integration/targets/eos_ospfv3/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_ospfv3/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_ospfv3/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_ospfv3/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_ospfv3/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common", + "name": "tests/integration/targets/eos_ospfv3/tests/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/_parsed.cfg", + "name": "tests/integration/targets/eos_ospfv3/tests/common/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24f8e0b4cb5d9b1444c92f7260088952ba7aa9a71949521dd331f5a434686783", + "chksum_sha256": "772202a71a3c35454372ee3e7d0a8bc98615b619f4cc37ebf1bc20ac7d5d55bf", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/_reset_config.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "31618630d4e82bffcf3ca7a4b12b835bb1b3bdf67d518eac68f72bb26b0d6924", + "chksum_sha256": "18a10808206e727ecffe9b9714974da7d6c95edacd2758b0dd75d207fd6539d2", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/deleted.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d4df0e51ef94b5a4ef06900a79bd20e79f84a964710a14de559368071f405669", + "chksum_sha256": "ef28a5797b256528edd1bff83509babe07944218468f22f9bdeeef905b52a4b2", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/empty_config.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cdf7d6ea7f6f5c2ad9065b1b13e04198c38882991e60197c5c569fa6dce0d98d", + "chksum_sha256": "dc8f776fa74a50716d8a0194c5a56a51305991e4295186c2f011afe0cd89a87a", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/gathered.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6512281e2fd290fd40f8f18191e72c127c2e3df9537c05559ecb25aed09ee4bb", + "chksum_sha256": "8d5a2e7460ef5bb7f6647ee5902bb0e4a9322beec5011a3c84d47804f5ffed7e", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/idempotent.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/_populate.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c41bbf0a4522e6f01b3e38067c543afb71b21fcbfa0a8ededd26d0683e50a81d", + "chksum_sha256": "dccc5998d088e1918f8022c69860a4b490af97d164b7beaaf04054824b0340b6", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/merged.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fab8447a90775e038817655f20e15623512f87e042c86c7f93c6f5fe902aa37e", + "chksum_sha256": "ccb7da45bb920569021036a8ad9757cd020f0012686b5d073f29f9621f7471e1", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/overridden.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "23f1318af4e38f802c10ac90ec7cce6573c0eac7665773f877059bcb90426bee", + "chksum_sha256": "704e3f910ea6a5ef1cab48ec4bbea46955189e811124fa2c1a8dce9a0efb6a17", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/parsed.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "97d8e342f7bee82d8027e115e1f5165d4a68e898b83813a2f710833e5fee4a33", + "chksum_sha256": "96b764ff7795f328d12684eb2dd1aa60ea1e4d6d5d3e6ed638273aa7deb25686", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/rendered.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fb1e1d667d069e7d04de886871344ca9fc0a0bded7b3c2a7437a4d95b95dd05d", + "chksum_sha256": "c53dc625cf760dec12686ef99081361defb9dbbfaf9f6ce2d6d00cd6b0eda97a", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/replaced.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8a2ed31515941cfc98d86db63eed394b71c6e749b8ef7a7433f5d3ff518f585a", + "chksum_sha256": "c5780138500b761a2832d155ea8a30d7e78fa10a02ab581125af875994bb45c8", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/tests/common/rtt.yaml", + "name": "tests/integration/targets/eos_ospfv3/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d33a3d3ddf38335484012ddc3a995f050d899f1f5686fae5e8ae88f8686f9d5b", + "chksum_sha256": "db343d29422b68984563c86904ac0ad79845853240e757cc26248b267f8e6f11", "format": 1 }, { - "name": "tests/integration/targets/eos_vlans/vars", + "name": "tests/integration/targets/eos_ospfv3/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_ospfv3/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": "9917e16f0a7a0b7484fe0780a79f0b22180b634ad091fee3f94946946d87e030", "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/defaults", + "name": "tests/integration/targets/eos_ospfv3/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_ospfv3/templates/populate.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "96b764ff7795f328d12684eb2dd1aa60ea1e4d6d5d3e6ed638273aa7deb25686", "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/meta", + "name": "tests/integration/targets/eos_l3_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_l3_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_l3_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/tasks/main.yaml", + "name": "tests/integration/targets/eos_l3_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8e0a1de7edebf8e1de1b1bd68c83fa3e6669085f9cd28e417cbb11f43da75068", + "chksum_sha256": "a37cc29ff691d020e7eddf204f7250275beee4a4c9d28d30b47981eabdaa6281", "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_l3_interfaces/tasks/eapi.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1629beb9c4c49792f78a1425442a6a6e0e5dd9a0ed824c1cced81e6e97a0e47c", "format": 1 }, { - "name": "tests/integration/targets/eos_vrf/tests/cli", + "name": "tests/integration/targets/eos_l3_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_l3_interfaces/meta/main.yaml", "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_l3_interfaces/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l3_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_l3_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_l3_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_l3_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "851860fe2ed1258710d7fcf89ac5b7d8c3c87755e89ca56fdd79bea022eb2b92", + "chksum_sha256": "cc35e0f775451453ac2c523a27b8ca29590551f20ba1dd504553b72cd3f48096", "format": 1 }, { - "name": "tests/integration/targets/prepare_eos_tests/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/prepare_eos_tests/tasks/main.yml", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c53c149ac2c5c508711c2414d406b033110276eb4622949358a6e1efcf3cd505", + "chksum_sha256": "7c4177bbc89805770c555ca12366593738cd4fcfe2830e23b35a286aecc43ed3", "format": 1 }, { - "name": "tests/integration/network-integration.cfg", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d67b11263a8f50b30bf43c7c2b4bdd8dc4f173f0b5dd22761311360dfbd56a1d", + "chksum_sha256": "95215014c2825aee51c3c204de545ae03738dae62b0e268c617a498276643713", "format": 1 }, { - "name": "tests/integration/target-prefixes.network", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ec96e8ef2e9e3856cae9bbefb51f64492bd044f17d17310cc560ec990ab14468", + "chksum_sha256": "4660abfc6652a70079d0ea81ddca1be88fe04998d9396edef977e7c5ba5df1af", "format": 1 }, { - "name": "tests/sanity", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a65aac4ca425465052942c3fd31c9d51ffb175047cbce064752fab288c7e4367", "format": 1 }, { - "name": "tests/sanity/ignore-2.10.txt", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c9647b2dee513f57df36fee1897a54856aeba3b5fed24f2b7d6612b225ead63", + "chksum_sha256": "f17e653bfdb385c99bf7db088d3269b67d962148561c5b4ae3248adfad050ce4", "format": 1 }, { - "name": "tests/sanity/ignore-2.11.txt", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c9647b2dee513f57df36fee1897a54856aeba3b5fed24f2b7d6612b225ead63", + "chksum_sha256": "1be80d6bfade12c26b76660664893c1846149bb7eb9398fa5e610d48d54e9b78", "format": 1 }, { - "name": "tests/sanity/ignore-2.12.txt", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c9647b2dee513f57df36fee1897a54856aeba3b5fed24f2b7d6612b225ead63", + "chksum_sha256": "e8b467b03ab2c858ce56d5520307e0482341b16e05579f077e5bf8742d71fc95", "format": 1 }, { - "name": "tests/sanity/ignore-2.13.txt", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", + "chksum_sha256": "03f049dcce225d8de33873ff4f8a2244b4e6053857d212b6bd473476cd429b14", "format": 1 }, { - "name": "tests/sanity/ignore-2.14.txt", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", + "chksum_sha256": "cbf3a7bcba86ab51a41f5df9700c3361614a761a59c7a818e28b9e2b47e49826", "format": 1 }, { - "name": "tests/sanity/ignore-2.15.txt", + "name": "tests/integration/targets/eos_l3_interfaces/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", + "chksum_sha256": "c06867d92daaf7f51b661451f56dd63be75711f4f8c407a7f7365879cb4d295c", "format": 1 }, { - "name": "tests/sanity/ignore-2.16.txt", + "name": "tests/integration/targets/eos_l3_interfaces/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l3_interfaces/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eef9f110ac24f19f2bd0d195d6ab988d986929ea42f869864ba19a025c882e40", + "chksum_sha256": "9bd8cfc16471691295c6cc5b75efdef88860f2aad20ec00f62ffc614e2976776", "format": 1 }, { - "name": "tests/sanity/ignore-2.9.txt", + "name": "tests/integration/targets/eos_l3_interfaces/templates", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l3_interfaces/templates/reset.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8c562d6941e7798adfb9f88ff0791f32d9e867dcd22292a4d8041c32585285a1", + "chksum_sha256": "3e02b044e876b189ce336a3a4802eb8af3df7d69c9d74f94877a8ec495e240dc", "format": 1 }, { - "name": "tests/unit", + "name": "tests/integration/targets/eos_l2_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/compat", + "name": "tests/integration/targets/eos_l2_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/compat/__init__.py", + "name": "tests/integration/targets/eos_l2_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "c0e130c100282c8de2a2d63717b5e5960124ffd70fe3dcb644596b555f254b8d", "format": 1 }, { - "name": "tests/unit/compat/mock.py", + "name": "tests/integration/targets/eos_l2_interfaces/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4e0ca26e6e2982bc40db782db3a0d4950e8c5a749171c0da22c27c85acd23ea", + "chksum_sha256": "3d287a5645a94634b96fbeb33a93d7cc866421adb10d5e45810aae4ae003fd52", "format": 1 }, { - "name": "tests/unit/compat/unittest.py", + "name": "tests/integration/targets/eos_l2_interfaces/tasks/eapi.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "727203a3846be41893b78a4b77852a1658925e936fb19539551958a5d8e8fb81", + "chksum_sha256": "90b0fb30b63afdda9bc8d5bee03e2b6cc6f785a7af550690bf002a207fa42d9c", "format": 1 }, { - "name": "tests/unit/mock", + "name": "tests/integration/targets/eos_l2_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/mock/__init__.py", + "name": "tests/integration/targets/eos_l2_interfaces/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/unit/mock/loader.py", + "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": "eb9c726ece54d3b6a06312634380e1893a8ca735928c31fae9d3ae67f6b94360", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/unit/mock/path.py", + "name": "tests/integration/targets/eos_l2_interfaces/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l2_interfaces/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "44b6e5b20c52ab9f4f57eaf79948d7ce9b6fa0546ae7d103abaa3bbfa66c5f19", + "chksum_sha256": "fce0cbcecc5da5700eadd7509b5ec52749d2161ff7b3f99b95a4d2796c158f4c", "format": 1 }, { - "name": "tests/unit/mock/procenv.py", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d0f54fd298f7888bfada6f867ee0f883f776a368916410abe2e5d31b8d17faec", + "chksum_sha256": "c9f82a69c636f9d85ef893fb5d2fba696d0a47bc9fe1e2c3e316acb63b79453d", "format": 1 }, { - "name": "tests/unit/mock/vault_helper.py", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "55bd0e924dcc22d050612c944bff0ef745e51faac9260dce9b9b2018c4c8a661", + "chksum_sha256": "aaf8f107ec4a7699b08aba428c96066164570af0da4c031499210e65a9ac976a", "format": 1 }, { - "name": "tests/unit/mock/yaml_helper.py", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4a53ccdcc1d312b032c6b169b1b4f907cc8d4e1fcf77bff5282d458e323ad40c", + "chksum_sha256": "ab629c595374a5ff76a3d76f22278948131ccfd3f5de5e08f8bb0fae170883c0", "format": 1 }, { - "name": "tests/unit/modules", + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/_cleanup.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "72c891a2b69fea4a08d88aef80ab42588f0761b3fcee4654ea769a82e2cad772", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "01c98f37d467b49d62c858aa1eb80e31829d3af8df1d67b17b95612b1e014d2f", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/overridden.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "7fe18f0fa44accb4bdd0464888179e38186b2bc1bb7534786d823700eab75201", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/_parsed.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9f5bae45f76d827baaed602070abd64acc8a7c7f22410e169b0871344f1023ba", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0ed56a5c9ced6b499dda2d9788c2021ea24b0d17f0d0931a7c11b9addc59f3e6", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/parsed.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "edb8b0ac8acd4b5e054bbfa29800537c9b159ab96d7187400f26c80be72c7abf", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/_reset_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cb38b9a77caba2c84ab6c80ba15134346ae856147e816086b43f2c90a0e8014e", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l2_interfaces/tests/common/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e27eed12e565edc2ef8199044486e7df6759cf3a8fa2c4999c06d465b416ac11", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_l2_interfaces/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network", + "name": "tests/integration/targets/eos_l2_interfaces/vars/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2d11de6e7c7e491f1f5247e77d3cc3367368e71c12900e057007742b5f69b93e", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_vlans", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos", + "name": "tests/integration/targets/eos_vlans/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures", + "name": "tests/integration/targets/eos_vlans/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", + "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/meta", "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/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_acl_interfaces_config.cfg", + "name": "tests/integration/targets/eos_vlans/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_vlans/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "29bdd16b7032ccf6dd42d4c2e78ebe00aaaf155ea7f5d9049c638f742478f312", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_acls_config.cfg", + "name": "tests/integration/targets/eos_vlans/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_vlans/tests/common", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_vlans/tests/common/idempotent.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c58fb25414acf3b04a882b8172c4c048c637b5906670a1c3a5f36e8a3aad0380", + "chksum_sha256": "c41bbf0a4522e6f01b3e38067c543afb71b21fcbfa0a8ededd26d0683e50a81d", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_banner_show_banner.txt", + "name": "tests/integration/targets/eos_vlans/tests/common/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dc2e6349862de27bfb1d50da78684b7b6320c6c8626a7ae378ce07852d64f984", + "chksum_sha256": "d4df0e51ef94b5a4ef06900a79bd20e79f84a964710a14de559368071f405669", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_af_config.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9cfca9294069868122bcad8e9a7bcfdfd6101949fd9959ec32766b682f635a68", + "chksum_sha256": "6512281e2fd290fd40f8f18191e72c127c2e3df9537c05559ecb25aed09ee4bb", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_config.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7011ff501cdde31949153491b1f1092e8d8afa6a27510ab594deb1504403c2d0", + "chksum_sha256": "cdf7d6ea7f6f5c2ad9065b1b13e04198c38882991e60197c5c569fa6dce0d98d", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_global_af_config.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dd5318703b4822b5a27eb24bb0d1898c7e5559e96151114784e5a5e92d07f535", + "chksum_sha256": "d33a3d3ddf38335484012ddc3a995f050d899f1f5686fae5e8ae88f8686f9d5b", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_bgp_global_config.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3cef54b0f53689ccdd9a9de7e3d23fa7fa591582506b438f1b628752b5b0847b", + "chksum_sha256": "fab8447a90775e038817655f20e15623512f87e042c86c7f93c6f5fe902aa37e", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_command_show_version.txt", + "name": "tests/integration/targets/eos_vlans/tests/common/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cd0ee8985d66e4cff1ebeff617108414d701cdb2acebf9327329f62e093f7062", + "chksum_sha256": "23f1318af4e38f802c10ac90ec7cce6573c0eac7665773f877059bcb90426bee", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_config_candidate.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/_parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3352c8002ead9454c96fa97e82bc2bf245ac57a69edbf8a934bed4ef809de3de", + "chksum_sha256": "24f8e0b4cb5d9b1444c92f7260088952ba7aa9a71949521dd331f5a434686783", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_config_config.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "03abdcaedc2f739a12fd1c31f37164f02ed471aff024ad8e654a0d7ec3e611e6", + "chksum_sha256": "8a2ed31515941cfc98d86db63eed394b71c6e749b8ef7a7433f5d3ff518f585a", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_config_config_updated.cfg", + "name": "tests/integration/targets/eos_vlans/tests/common/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "199f6fddff67988e4e15efde118949a06623ac6cda6cc56a43110fab3da655d9", + "chksum_sha256": "97d8e342f7bee82d8027e115e1f5165d4a68e898b83813a2f710833e5fee4a33", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_eapi_show_mgmt.json", + "name": "tests/integration/targets/eos_vlans/tests/common/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "963dde77e29e22955f66b6d4a4d880c327419e3c719556219b19cf2d9d515c07", + "chksum_sha256": "31618630d4e82bffcf3ca7a4b12b835bb1b3bdf67d518eac68f72bb26b0d6924", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_eapi_show_mgmt_unconfigured.json", + "name": "tests/integration/targets/eos_vlans/tests/common/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "09f3bdc48ce35e7200a5a5da2f2722dff46de4bd8ebc1d1718fa4ed7a08310df", + "chksum_sha256": "fb1e1d667d069e7d04de886871344ca9fc0a0bded7b3c2a7437a4d95b95dd05d", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_eapi_show_vrf.text", + "name": "tests/integration/targets/eos_vlans/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_vlans/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a43e222ce4d0e6aec92afabb2d5ff7f6cc7fd96ce4e055b6ffc02ad1492373d5", + "chksum_sha256": "361a49c0e4e03684a6718513ec6a800c844d872b6dba61efdb68249d61b34124", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_hostname_config.cfg", + "name": "tests/integration/targets/eos_banner", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_banner/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_banner/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "55cfe4746ef24943eac865d5b0fd9b6a6884e0e529983e253d5764175c01c6e9", + "chksum_sha256": "d5cf7fcbac079abb6f5cb6c649a9d27fe838821be84e54b51d4f35f98e64aa6e", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_interfaces_config.cfg", + "name": "tests/integration/targets/eos_banner/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "05edee2806d57e1a907026a24ea0fd51582008c1d24b63c5fc1463e86204683e", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_banner/tasks/eapi.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1b14bb0d83e5f509721d34f537bb0812798e5b3d3ad6794f1cb7314c8a419202", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_banner/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_banner/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_banner/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/eos_banner/defaults/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "format": 1 + }, + { + "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": "5a6ff4ad57df259c1322d52be030e6bda317af6738e2e3ebf043ca14b5fc9d64", + "format": 1 + }, + { + "name": "tests/integration/targets/eos_banner/tests/cli/basic-motd.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4b2551d785983506768deb63cd2f8ba8ae35c5e6ce5eae18e340fd75291e390a", + "format": 1 + }, + { + "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": "d7cd4bec5ba015f96ac020675f8b4a256dcc1e2bdd9f4b59775237acaa8d809c", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_l2_interfaces_config.cfg", + "name": "tests/integration/targets/eos_banner/tests/eapi/basic-motd.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "501ad2cead9d2a90aa7529319befbf62a4f58f7988995788c5206c90fbec5afc", + "chksum_sha256": "c8e94533c27b7c01e870af443aae37c16cb5180e86658a8de5a2a6b5599efb97", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_l3_interfaces_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0989f0ad8aea46b6b4b7111aee264687387c44e8cc68154f8d9c054d22581d1d", + "name": "tests/integration/targets/eos_vrf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "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_vrf/tasks", + "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_vrf/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "414cc25eb0be567529b328993c191ea1f282c2620ff5f45b57462ec7e950ddca", + "chksum_sha256": "8e0a1de7edebf8e1de1b1bd68c83fa3e6669085f9cd28e417cbb11f43da75068", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_lag_interfaces_config.cfg", + "name": "tests/integration/targets/eos_vrf/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "996743ab19a23f6fbb30754d1f4beb2911c6b4ffa69a28665dfc79b5ad519b65", + "chksum_sha256": "6788027c858762808079ce3f9cec195264aebb130bf132dfec6ff2fcfeb025c5", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_lldp_global_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "41eb838c679e2fd974f15bd92461a1627b29a0f2b8b1c5a5c3fef8a472efaad3", + "name": "tests/integration/targets/eos_vrf/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_logging_config.cfg", + "name": "tests/integration/targets/eos_vrf/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d35c0e1702f10694008ce77f2d405c569d3745738fa4ceab306cdb638f5b465d", + "chksum_sha256": "d3b5d25c408cac682eb405cfc386cedbf17e6480d46e83bba18c91fcfe5d6e48", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_logging_global_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "616869cf79f4faf6f64276e039fbcad728d3e012eba2073b118b0296d9334013", + "name": "tests/integration/targets/eos_vrf/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_ntp_global_config.cfg", + "name": "tests/integration/targets/eos_vrf/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1c841ab014af5105c26d977cfcac4de50919a8537bf632698f95e5ea5f2b5c0b", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_ospf_interfaces_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2c664a8713d7ccd543333cca425528c1726d6790b8364bdd6a5e8720ce4183be", + "name": "tests/integration/targets/eos_vrf/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv2_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c4e0126af072bca2ca99eb356d26868e44adae27ffa3622f54fc431122e66ace", + "name": "tests/integration/targets/eos_vrf/tests/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv2_config_gather.cfg", + "name": "tests/integration/targets/eos_vrf/tests/cli/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6271cc911105743891d46bde906d969ad2ce562d8bfa9364d845da33cb9c3bde", + "chksum_sha256": "cea011f04a3c8f2d06c412f8512259c89a2e3a57b55effeef99fa45434d9be15", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv3_config.cfg", + "name": "tests/integration/targets/eos_vrf/aliases", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "97763a63f53b38b8c864ed38f800e4270d600065cdd4acde805c3b1ca384e6b5", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_ospfv3_config_gather.cfg", + "name": "tests/integration/target-prefixes.network", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "091b340fe2578196b84cd9b133d0cc01e479a27a12caeb2a796355c571a39cb4", + "chksum_sha256": "ec96e8ef2e9e3856cae9bbefb51f64492bd044f17d17310cc560ec990ab14468", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_prefix_lists_config.cfg", + "name": "tests/integration/network-integration.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ed6dda06d2158651429f03d9db644514e20f89e6d3c58331fc09e059c76a22ff", + "chksum_sha256": "d67b11263a8f50b30bf43c7c2b4bdd8dc4f173f0b5dd22761311360dfbd56a1d", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_route_maps_config.cfg", + "name": "tests/.gitignore", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "64a5a2e160aff448bb567d8d4fdba4c3231f85ab0b44e2f596fe2784148e8554", + "chksum_sha256": "b5726d3ec9335a09c124469eca039523847a6b0f08a083efaefd002b83326600", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_snmp_server_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "955317964226d2639660f6006be99a9c1d67e3a8dcea25ba7b2c4a569059a4f9", + "name": "docs", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_static_routes_config.cfg", + "name": "docs/arista.eos.eos_lldp_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9de7fbc93c152431ec2baf2f7c8ba736ced12148e8bff2e7b54eb7dd39c4b04d", + "chksum_sha256": "7299a09dc0f8360ad7d8c95d13b8c0e9f07035e910f58efa4e6e6c550f5b377d", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_static_routes_config1.cfg", + "name": "docs/arista.eos.eos_static_routes_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "22d8eb393f411a1034b6d77b5137ca205b1d01b09a6488c5c30199145b99bf7c", + "chksum_sha256": "e556daa557e50664de8a09d706c314cddf9b54c82368f621d07afdcec06cc44d", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_system_config.cfg", + "name": "docs/arista.eos.eos_logging_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d1cb12a14186402c703d639d484b7ea9829e52f9159afac4f7779bd396f5e43f", + "chksum_sha256": "c5ac61d63be154248e23a8b1d65878997ba5ee5c7c7cccc5134e557d6132c85f", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_user_config.cfg", + "name": "docs/arista.eos.eos_ospfv2_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2b11830bd90b2c0e492cba03f0af73a5229a4723e47959812544961bde1ac438", + "chksum_sha256": "cbb9fbfb8196b35682ea97231c66e5feb28fc0c59cc87c9ccfb5f4352bec573e", "format": 1 }, { - "name": "tests/unit/modules/network/eos/fixtures/eos_vlan_config.cfg", + "name": "docs/arista.eos.eos_route_maps_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6e71249b2afca7c80191a77d86753e21419042d51d570de0b3c717a204f01400", + "chksum_sha256": "c72fa7b5ddaa69adf74a0e20f10338bd9e00a4bcf8b80d8833d2508ec90e38a1", "format": 1 }, { - "name": "tests/unit/modules/network/eos/__init__.py", + "name": "docs/arista.eos.eos_system_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "bb36d86019cdf27d92c314fdb25f037aaba0c7529ab40a18dac4b217e7fe4c01", "format": 1 }, { - "name": "tests/unit/modules/network/eos/eos_module.py", + "name": "docs/arista.eos.eos_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b3f4714ae9af0063ed76f955c15e8492b3f7d69ecc52b3c1e139f49f2a0ea4d4", + "chksum_sha256": "a455227b4df8d2346b1f77b5132247cd731082ffa814e451d75396c117b60cff", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_acl_interfaces.py", + "name": "docs/arista.eos.eos_ospf_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d994b6dc95bca9c627aa1d0425ebdf92fd7f6b0fd311bb0052daf4f616716369", + "chksum_sha256": "83887e8f1a80e7472057297779adde8017ab6371a3c41c99e4ed4c21d7b34858", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_acls.py", + "name": "docs/arista.eos.eos_bgp_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ef2b0e2e0e92773bf4676e43a11e4d040934b59d91b67a79f494e17ed0287d2b", + "chksum_sha256": "892272aec233fa0f0110eba45ab0a8f4107122a387cb00c3920860f4d002fc26", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_banner.py", + "name": "docs/arista.eos.eos_ntp_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f833982a49df0e565b89e7ca46a3a6b4b812524378580f9df60f590f58d7b60c", + "chksum_sha256": "82bea9b37a6b60b3372f4ff510bfcd0e59b0a15f5e6fe5a850630125f7c10c3c", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_bgp.py", + "name": "docs/arista.eos.eos_ospfv3_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "46cf0755d9c960c529dc800d9d05a42491ab167c1a5308c0b7ae11f04e1c8715", + "chksum_sha256": "54fe29219103c40dfdb961918efbe64f676c122b331d1151307ce95190424b05", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_bgp_address_family.py", + "name": "docs/arista.eos.eos_vrf_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "25f46d0b577c21d95cf4d21c1a1a8e6b6c690469e0fb23185e8d6d72fd1d4158", + "chksum_sha256": "0c6664519aa55395647325147639ccf77de85e600a1abefaf3f83755af82c32b", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_bgp_global.py", + "name": "docs/arista.eos.eos_command_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "afa40c807d2ee150396019557201558d80e77cfdabb90210d0e32c79c2014096", + "chksum_sha256": "c3d335bd1672f0a46e52990493ff4d829f18392f3bc1a7949bbc6a99837103d7", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_command.py", + "name": "docs/arista.eos.eos_lag_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "586c52c5adacef2ed96dd1546a913f9998d2e52d3cc134766f408f873d94fee6", + "chksum_sha256": "19ef80abb38cd39ff502c43f4ddca3883584376c19f1b20621f0fd11b565b920", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_config.py", + "name": "docs/arista.eos.eos_banner_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f7f565aaab51bd7a0ecfc555509c22c485b9b8ab7cbead23b3828432082f1fe1", + "chksum_sha256": "b128807c32c6a491aa78a1b56512e2982f5d6811641d0b14e8e347d4cf8a5b06", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_eapi.py", + "name": "docs/arista.eos.eos_eapi_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "84c7a8ca8fb966d268f7aa1a44e518f4dcff61dae8cba73f503e970e409d43a4", + "chksum_sha256": "4ff82c55d35021b368eaeb719ad4c4b0e15111fcec0e038d13970e3db9b0a0f0", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_hostname.py", + "name": "docs/arista.eos.eos_l2_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24e3e18b537ba189784edb7b402a6faa1101e169860928f37b3641587cb117b9", + "chksum_sha256": "875b8b13249159af500f7785bd39a89722dd4a01161c549b84efc5105e89fb10", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_interfaces.py", + "name": "docs/arista.eos.eos_lacp_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "222c782d11eceacadb200678f6164d4496d23c3ecffbfe3c2f9761d0f7837ce1", + "chksum_sha256": "41c37120e15ed62a0b939ec0cce0e747fefcb74ef051d7c831bdd6a4831a73b6", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_l2_interfaces.py", + "name": "docs/arista.eos.eos_l3_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "70972d0f6da11306a150b2e7b78dda5d4f0f0579902611cc01fba66a09ed77c1", + "chksum_sha256": "44ee5f610c3334d0c43e72a061217ec202d79042c97bf82f2a62eb6075cc8a4b", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_l3_interfaces.py", + "name": "docs/arista.eos.eos_prefix_lists_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "663fb58128ddb7e05cb1f793b36aa03335c02cface4d7f6b63a9db16eaf8364a", + "chksum_sha256": "77c510223083c0c16f010a59da50d32474093900d238ac7d985fe4b98454ce1a", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_lacp.py", + "name": "docs/arista.eos.eos_user_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "54032b3980447e29f5ffc191c27edca4c564c47aa02fce2bb92d4499c673fae2", + "chksum_sha256": "820458159242af177985582cc6a0b35d82d9a44d3387e14c05b195a5baae2075", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_lacp_interfaces.py", + "name": "docs/arista.eos.eos_lacp_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "93ef8604e3a09a469f6ee10751e59e53aa1291f36e40f637b235345100da99d1", + "chksum_sha256": "734d129c2aed3bc167555a6a863d93361b7c4a96c4af55b45329d52b04cca95c", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_lag_interfaces.py", + "name": "docs/arista.eos.eos_vlans_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4113ee99a61ea506d4baa3123e849d1c43055d64f8a027887b09d60f0efab09c", + "chksum_sha256": "dc743c4b64f6ac842967f495059b06ac5008a2fc93e73ab33ca06de5d9b5b322", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_lldp_global.py", + "name": "docs/arista.eos.eos_facts_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a8ef4c5a67a5502a4ff6862f2e7fb68df69852f753574e5005116ba1ffb6f86b", + "chksum_sha256": "5a80619e2a2f0d283a69c669d9486243fce9d68a80ac07cd92b22c3845c1a124", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_logging.py", + "name": "docs/arista.eos.eos_lldp_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d543db223f6bc7567f6631e5b41e559df779399c9e96b93d5eb1781b82066922", + "chksum_sha256": "7aa54a176f3d95e20db2127d8b7428ff5ccd511016b007f80d469c7e64922ee2", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_logging_global.py", + "name": "docs/arista.eos.eos_hostname_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "33360d830b6806e4b1bf6d3eae4764c4042322a3cc500d5aec74c25a71ca4307", + "chksum_sha256": "9803954ef010d617a8faea5d3bbd0b9f62a4f11d32d9d09bf0a03a7f32fa47d1", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_ntp_global.py", + "name": "docs/arista.eos.eos_bgp_address_family_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "768e61e9134250652837a24db11a1d893074e3b68b3e9402df3a9a250c90337e", + "chksum_sha256": "db2a2a582e437d5ef5ecc712aa232a3263430cde26fd1e030f4f7d8fb945e7d1", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_ospf_interfaces.py", + "name": "docs/arista.eos.eos_logging_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "69ff671801c47680e384822f474289eb1098db5a9c4eaaf15378d64c363e7b5f", + "chksum_sha256": "0ed61ec5ef8d86ad44bf605217913fc8d9979496766ca33ad196939f940fb5d9", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_ospfv2.py", + "name": "docs/arista.eos.eos_httpapi.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b9bd993556a3ae2d675a46e180cece4b8e108f9866f071d05cc8d4aa4ec226c1", + "chksum_sha256": "74c0cc2f16ee0793613c76713e192749dcd24f3e73ecd49cca4599ed62c22f9e", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_ospfv3.py", + "name": "docs/arista.eos.eos_snmp_server_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ea8493a9f1998dd1d406d4f57391c682f7795adb9369edf4fc94a9115a56f910", + "chksum_sha256": "95804c5a71ea18fc6ce044dc1711dfb10abf8dae9aacc61b6d5bb8888dbb3ddd", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_prefix_lists.py", + "name": "docs/arista.eos.eos_acl_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "449054bb06c96d99226eb42ef465d554d94bacf5800d2ac26d706475e49ae48a", + "chksum_sha256": "7accbd8675612462d6345092960802e981932671f1a746f6a4581d0a63c5d943", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_route_maps.py", + "name": "docs/arista.eos.eos_config_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "32ffeb2ed018e25bfc03e9e496208d03ef71a217951bae02130b0c9c985c83a5", + "chksum_sha256": "a8534f76fb2956d6a825bca465195717143caeabb8dad0dbaeecd98cd87b831e", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_snmp_server.py", + "name": "docs/arista.eos.eos_cliconf.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "39d30b82b200cf6221224ea99de06174e36e9fd5b479c3bffbd67d3c7817ae9b", + "chksum_sha256": "52b6530cf3a4711a1b8e40dcff5063e73fc3e868e6cba0b91976e8ba53af8a14", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_static_routes.py", + "name": "docs/arista.eos.eos_lldp_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f57b01e3490ef4d7d273748a6a09d0f0217d919a2987038ab4355bbab258dd6", + "chksum_sha256": "f0fea31fef727f45440a5363e764f99345b4f7e3d079fe5e36388f0ac2b20948", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_system.py", + "name": "docs/arista.eos.eos_bgp_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "78865d05e4d5f1bab0404f61d230d09c9986d926c3372944d907d97fdba9d228", + "chksum_sha256": "75e256d769047f67382bc69c8937d95106efe9c999392c69ec9ee212193dd857", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_user.py", + "name": "docs/arista.eos.eos_acls_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3e74bb8a59fe4adba89f1366d156230de88ce552815b322f25e4309c9ce5e96b", + "chksum_sha256": "5cf3899b43a7949c4079e95c026995a56e06fc5bf705d4c2687b8315a44c3a42", "format": 1 }, { - "name": "tests/unit/modules/network/eos/test_eos_vlans.py", + "name": ".isort.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b5a2b1ba6f53075bb642acfed593f6372b0975a964c55cce6fc6e972bc983b27", + "chksum_sha256": "0ac83124be8cf24f40e7457c3a7ede4409108ee8caa89976cdb03d6d1ae336d1", "format": 1 }, { - "name": "tests/unit/modules/network/__init__.py", + "name": "pyproject.toml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "1cb6a45dfa2625123890b93ad7fdc156b063c16e8ae6dba11511a1d1986b0fcc", "format": 1 }, { - "name": "tests/unit/modules/__init__.py", + "name": "bindep.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "2cb7d868bf5a674ff9531652c2f591c4767816c5ce240a75330c1585861e70b0", "format": 1 }, { - "name": "tests/unit/modules/conftest.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "98e43bdf758ecbcf12ee812a784753cc7eba40b49f37ce2d063a84db81bf2cb7", + "name": "changelogs", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/utils.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1e9c58b776c4d76cfc671ebfddb1a290a50af7dd0aa1b69b2ad1c5ae1b2545b7", + "name": "changelogs/fragments", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/__init__.py", + "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://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 `_, the following are the fields unique to this module: + +.. raw:: html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyReturnedDescription
+
+ after + +
+ dictionary +
+
when changed +
The resulting configuration after module execution.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+
+
+ before + +
+ dictionary +
+
when state is merged, replaced, overridden, deleted or purged +
The configuration prior to the module execution.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+
+
+ commands + +
+ list +
+
when state is merged, replaced, overridden, deleted or purged +
The set of commands pushed to the remote device.
+
+
Sample:
+
['router bgp 10', 'address-family ipv4', 'redistribute ospfv3 match external', 'network 1.1.1.0/24']
+
+
+ gathered + +
+ dictionary +
+
when state is gathered +
Facts about the network resource gathered from the remote device as structured data.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+
+
+ parsed + +
+ dictionary +
+
when state is parsed +
The device native config provided in running_config option parsed into structured data as per module argspec.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+
+
+ rendered + +
+ list +
+
when state is rendered +
The provided configuration in the task rendered in device-native format (offline).
+
+
Sample:
+
['router bgp 10', 'address-family ipv4', 'redistribute ospfv3 match external', 'network 1.1.1.0/24']
+
+

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 -
When True, it is set.
+
When true, it is set.
@@ -1251,7 +1251,7 @@ Parameters -
When True route_reflector is set.
+
When true route_reflector is set.
@@ -1408,7 +1408,7 @@ Parameters -
When True, graceful restart is set.
+
When true, graceful restart is set.
@@ -1686,7 +1686,7 @@ Parameters -
When True, it is set.
+
When true, it is set.
@@ -1864,7 +1864,7 @@ Parameters -
If True, ttl is not set.
+
If true, ttl is not set.
@@ -2155,7 +2155,7 @@ Parameters -
If True, set link bandwidth
+
If true, set link bandwidth
@@ -2725,7 +2725,7 @@ Parameters -
If True, set remove_private_as.
+
If true, set remove_private_as.
@@ -3422,7 +3422,7 @@ Parameters -
When True, shut down BGP.
+
When true, shut down BGP.
@@ -3658,7 +3658,7 @@ Parameters -
If True, ucmp mode is set to 1.
+
If true, ucmp mode is set to 1.
@@ -4102,7 +4102,7 @@ Parameters -
When True, it is set.
+
When true, it is set.
@@ -5014,7 +5014,7 @@ Parameters -
When True route_reflector is set.
+
When true route_reflector is set.
@@ -5180,7 +5180,7 @@ Parameters -
When True, graceful restart is set.
+
When true, graceful restart is set.
@@ -5375,7 +5375,7 @@ Parameters -
When True, it is set.
+
When true, it is set.
@@ -5562,7 +5562,7 @@ Parameters -
If True, ttl is not set.
+
If true, ttl is not set.
@@ -5868,7 +5868,7 @@ Parameters -
If True, set link bandwidth
+
If true, set link bandwidth
@@ -6468,7 +6468,7 @@ Parameters -
If True, set remove_private_as.
+
If true, set remove_private_as.
@@ -7241,7 +7241,7 @@ Parameters -
When True, shut down BGP.
+
When true, shut down BGP.
@@ -7491,7 +7491,7 @@ Parameters -
If True, ucmp mode is set to 1.
+
If true, ucmp mode is set to 1.
@@ -7603,6 +7603,7 @@ Parameters
    Choices:
  • deleted
  • merged ←
  • +
  • overridden
  • purged
  • replaced
  • gathered
  • @@ -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 `_, the following are the fields unique to this module: + +.. raw:: html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    KeyReturnedDescription
    +
    + after + +
    + dictionary +
    +
    when changed +
    The resulting configuration model invocation.
    +
    +
    Sample:
    +
    The configuration returned will always be in the same format + of the parameters above.
    +
    +
    + before + +
    + dictionary +
    +
    always +
    The configuration prior to the model invocation.
    +
    +
    Sample:
    +
    The configuration returned will always be in the same format + of the parameters above.
    +
    +
    + commands + +
    + list +
    +
    always +
    The set of commands pushed to the remote device.
    +
    +
    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 + +
    + dictionary +
    +
    when state is gathered +
    Facts about the network resource gathered from the remote device as structured data.
    +
    +
    Sample:
    +
    This output will always be in the same format as the module argspec.
    +
    +
    + parsed + +
    + dictionary +
    +
    when state is parsed +
    The device native config provided in running_config option parsed into structured data as per module argspec.
    +
    +
    Sample:
    +
    This output will always be in the same format as the module argspec.
    +
    +
    + rendered + +
    + list +
    +
    when state is rendered +
    The provided configuration in the task rendered in device-native format (offline).
    +
    +
    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']
    +
    +

    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 -
    This is a dict object containing configurable options related to backup file path. The value of this option is read only when backup is set to yes, if backup is set to no this option will be silently ignored.
    +
    This is a dict object containing configurable options related to backup file path. The value of this option is read only when backup is set to true, if backup is set to no this option will be silently ignored.
    @@ -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 string - when backup is yes + when backup is true
    The full path to the backup file

    @@ -456,7 +454,7 @@ Common return values are documented `here string - when backup is yes + when backup is true
    The date extracted from the backup file name

    @@ -473,7 +471,7 @@ Common return values are documented `here string - when backup is yes and filename is not specified in backup options + when backup is true and filename is not specified in backup options
    The name of the backup file

    @@ -490,7 +488,7 @@ Common return values are documented `here string - when backup is yes and filename is not specified in backup options + when backup is true and filename is not specified in backup options
    The full path to the backup file excluding the timestamp

    @@ -507,7 +505,7 @@ Common return values are documented `here string - when backup is yes + when backup is true
    The time extracted from the backup file name

    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 when changed -
    The configuration as structured data after module completion.
    +
    The resulting configuration after module execution.

    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.
    @@ -512,12 +612,12 @@ Common return values are documented `here dictionary - always + when state is merged, replaced, overridden, deleted or purged -
    The configuration as structured data prior to module invocation.
    +
    The configuration prior to the module execution.

    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.
    @@ -529,12 +629,63 @@ Common return values are documented `here list - always + when state is merged, replaced, overridden, deleted or purged
    The set of commands pushed to the remote device.

    Sample:
    -
    ['interface Ethernet2', 'shutdown', 'speed 10full']
    +
    ['interface Ethernet1', 'no shutdown', 'no switchport']
    + + + + +
    + gathered + +
    + list +
    + + when state is gathered + +
    Facts about the network resource gathered from the remote device as structured data.
    +
    +
    Sample:
    +
    This output will always be in the same format as the module argspec.
    + + + + +
    + parsed + +
    + list +
    + + when state is parsed + +
    The device native config provided in running_config option parsed into structured data as per module argspec.
    +
    +
    Sample:
    +
    This output will always be in the same format as the module argspec.
    + + + + +
    + rendered + +
    + list +
    + + when state is rendered + +
    The provided configuration in the task rendered in device-native format (offline).
    +
    +
    Sample:
    +
    ['interface Ethernet1', 'no shutdown', 'no switchport']
    @@ -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 after
    - list + dictionary
    when changed -
    The configuration as structured data after module completion.
    +
    The resulting configuration after module execution.

    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.
    @@ -525,15 +633,15 @@ Common return values are documented `here before
    - list + dictionary
    - always + when state is merged, replaced, overridden, deleted or purged -
    The configuration as structured data prior to module invocation.
    +
    The configuration prior to the module execution.

    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.
    @@ -545,12 +653,63 @@ Common return values are documented `here list - always + when state is merged, replaced, overridden, deleted or purged
    The set of commands pushed to the remote device.

    Sample:
    -
    ['interface Ethernet2', 'switchport access vlan 20']
    +
    ['interface Ethernet1', 'switchport mode trunk', 'switchport access vlan 20']
    + + + + +
    + gathered + +
    + list +
    + + when state is gathered + +
    Facts about the network resource gathered from the remote device as structured data.
    +
    +
    Sample:
    +
    This output will always be in the same format as the module argspec.
    + + + + +
    + parsed + +
    + list +
    + + when state is parsed + +
    The device native config provided in running_config option parsed into structured data as per module argspec.
    +
    +
    Sample:
    +
    This output will always be in the same format as the module argspec.
    + + + + +
    + rendered + +
    + list +
    + + when state is rendered + +
    The provided configuration in the task rendered in device-native format (offline).
    +
    +
    Sample:
    +
    ['interface Ethernet1', 'switchport mode trunk', 'switchport access vlan 20']
    @@ -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 after
    - list + dictionary
    when changed -
    The configuration as structured data after module completion.
    +
    The resulting configuration after module execution.

    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.
    @@ -508,16 +620,15 @@ Common return values are documented `here before
    - list + dictionary
    - always + when state is merged, replaced, overridden, deleted or purged -
    The configuration as structured data prior to module invocation.
    +
    The configuration prior to the module execution.

    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.
    @@ -529,12 +640,63 @@ Common return values are documented `here list - always + when state is merged, replaced, overridden, deleted or purged
    The set of commands pushed to the remote device.

    Sample:
    -
    ['interface Ethernet2', 'ip address 192.0.2.12/24']
    +
    ['interface Ethernet1', 'ip address 198.51.100.14/24', 'ipv6 address 2001:db8:feed::1/96']
    + + + + +
    + gathered + +
    + list +
    + + when state is gathered + +
    Facts about the network resource gathered from the remote device as structured data.
    +
    +
    Sample:
    +
    This output will always be in the same format as the module argspec.
    + + + + +
    + parsed + +
    + list +
    + + when state is parsed + +
    The device native config provided in running_config option parsed into structured data as per module argspec.
    +
    +
    Sample:
    +
    This output will always be in the same format as the module argspec.
    + + + + +
    + rendered + +
    + list +
    + + when state is rendered + +
    The provided configuration in the task rendered in device-native format (offline).
    +
    +
    Sample:
    +
    ['interface Ethernet1', 'ip address 198.51.100.14/24', 'ipv6 address 2001:db8:feed::1/96']
    @@ -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
-
if True, Disable MTU check for Database Description packets.
+
if true, Disable MTU check for Database Description packets.
@@ -938,7 +938,7 @@ Parameters -
if True, Disable MTU check for Database Description packets.
+
if true, Disable MTU check for Database Description packets.
@@ -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 `_, the following are the fields unique to this module: +.. raw:: html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyReturnedDescription
+
+ after + +
+ list +
+
when changed +
The resulting configuration after module execution.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+
+
+ before + +
+ list +
+
when state is merged, replaced, overridden, deleted or purged +
The configuration prior to the module execution.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+
+
+ commands + +
+ list +
+
when state is merged, replaced, overridden, deleted or purged +
The set of commands pushed to the remote device.
+
+
Sample:
+
['interface Vlan1', 'ip ospf dead-interval 29', 'ip ospf mtu-ignore']
+
+
+ gathered + +
+ list +
+
when state is gathered +
Facts about the network resource gathered from the remote device as structured data.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+
+
+ parsed + +
+ list +
+
when state is parsed +
The device native config provided in running_config option parsed into structured data as per module argspec.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+
+
+ rendered + +
+ list +
+
when state is rendered +
The provided configuration in the task rendered in device-native format (offline).
+
+
Sample:
+
['interface Vlan1', 'ip ospf dead-interval 29', 'ip ospf mtu-ignore']
+
+

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 -
If True, Disable dn-bit check for Type-3 LSAs in non-default VRFs.
+
If true, Disable dn-bit check for Type-3 LSAs in non-default VRFs.
@@ -1270,7 +1270,7 @@ Parameters -
If True, Enable graceful restart helper.
+
If true, Enable graceful restart helper.
@@ -1859,7 +1859,7 @@ Parameters -
If True, Set all interfaces to passive by default
+
If true, Set all interfaces to passive by default
@@ -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 after
- list + dictionary
when changed -
The resulting configuration model invocation.
+
The resulting configuration after module execution.

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.
@@ -3709,16 +3555,15 @@ Common return values are documented `here before
- list + dictionary
- always + when state is merged, replaced, overridden, deleted or purged -
The configuration prior to the model invocation.
+
The configuration prior to the module execution.

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.
@@ -3730,12 +3575,63 @@ Common return values are documented `here list - always + when state is merged, replaced, overridden, deleted or purged
The set of commands pushed to the remote device.

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']
+
['router ospf 1', 'adjacency exchange-start threshold 20045623', 'area 0.0.0.2 filter 10.1.1.0/24']
+ + + + +
+ gathered + +
+ dictionary +
+ + when state is gathered + +
Facts about the network resource gathered from the remote device as structured data.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+ + + + +
+ parsed + +
+ dictionary +
+ + when state is parsed + +
The device native config provided in running_config option parsed into structured data as per module argspec.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+ + + + +
+ rendered + +
+ list +
+ + when state is rendered + +
The provided configuration in the task rendered in device-native format (offline).
+
+
Sample:
+
['router ospf 1', 'adjacency exchange-start threshold 20045623', 'area 0.0.0.2 filter 10.1.1.0/24']
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 -
If False, key string is not encrypted
+
If false, key string is not encrypted
@@ -290,7 +290,7 @@ Parameters -
If True, Specifies that a HIDDEN key will follow.
+
If true, Specifies that a HIDDEN key will follow.
@@ -437,7 +437,7 @@ Parameters -
If False, key string is not encrypted
+
If false, key string is not encrypted
@@ -488,7 +488,7 @@ Parameters -
If True, Specifies that a HIDDEN key will follow.
+
If true, Specifies that a HIDDEN key will follow.
@@ -680,7 +680,7 @@ Parameters -
True if only default information orignate is set
+
true if only default information orignate is set
@@ -753,7 +753,7 @@ Parameters -
True if only nssa is set
+
true if only nssa is set
@@ -946,7 +946,7 @@ Parameters -
True if only stub is set
+
true if only stub is set
@@ -970,7 +970,7 @@ Parameters -
If False , Filter all type-3 LSAs in the stub area.
+
If false , Filter all type-3 LSAs in the stub area.
@@ -1315,7 +1315,7 @@ Parameters -
If True, Enable graceful restart helper.
+
If true, Enable graceful restart helper.
@@ -2337,7 +2337,7 @@ Parameters -
If False, key string is not encrypted
+
If false, key string is not encrypted
@@ -2360,7 +2360,7 @@ Parameters -
If True, Specifies that a HIDDEN key will follow.
+
If true, Specifies that a HIDDEN key will follow.
@@ -2500,7 +2500,7 @@ Parameters -
If False, key string is not encrypted
+
If false, key string is not encrypted
@@ -2549,7 +2549,7 @@ Parameters -
If True, Specifies that a HIDDEN key will follow.
+
If true, Specifies that a HIDDEN key will follow.
@@ -2732,7 +2732,7 @@ Parameters -
True if only default information orignate is set
+
true if only default information orignate is set
@@ -2802,7 +2802,7 @@ Parameters -
True if only nssa is set
+
true if only nssa is set
@@ -2867,7 +2867,7 @@ Parameters -
True if only stub is set.
+
true if only stub is set.
@@ -2890,7 +2890,7 @@ Parameters -
If False , Filter all type-3 LSAs in the stub area.
+
If false , Filter all type-3 LSAs in the stub area.
@@ -3068,7 +3068,7 @@ Parameters -
If True, Enable graceful restart helper.
+
If true, Enable graceful restart helper.
@@ -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 `_, the following are the fields unique to this module: +.. raw:: html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyReturnedDescription
+
+ after + +
+ dictionary +
+
when changed +
The resulting configuration after module execution.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+
+
+ before + +
+ dictionary +
+
when state is merged, replaced, overridden, deleted or purged +
The configuration prior to the module execution.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+
+
+ commands + +
+ list +
+
when state is merged, replaced, overridden, deleted or purged +
The set of commands pushed to the remote device.
+
+
Sample:
+
['router ospfv3 vrf vrfmerge', 'address-family ipv6', 'graceful-restart grace-period 35']
+
+
+ gathered + +
+ dictionary +
+
when state is gathered +
Facts about the network resource gathered from the remote device as structured data.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+
+
+ parsed + +
+ dictionary +
+
when state is parsed +
The device native config provided in running_config option parsed into structured data as per module argspec.
+
+
Sample:
+
This output will always be in the same format as the module argspec.
+
+
+ rendered + +
+ list +
+
when state is rendered +
The provided configuration in the task rendered in device-native format (offline).
+
+
Sample:
+
['router ospfv3 vrf vrfmerge', 'address-family ipv6', 'graceful-restart grace-period 35']
+
+

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 `_, the following are the fields unique to this module: + +.. raw:: html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyReturnedDescription
+
+ after + +
+ list +
+
when changed +
The resulting configuration model invocation.
+
+
Sample:
+
The configuration returned will always be in the same format + of the parameters above.
+
+
+ before + +
+ list +
+
always +
The configuration prior to the model invocation.
+
+
Sample:
+
The configuration returned will always be in the same format + of the parameters above.
+
+
+ commands + +
+ list +
+
always +
The set of commands pushed to the remote device.
+
+
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 + +
+ list +
+
When state is gathered +
The configuration as structured data transformed for the running configuration fetched from remote host
+
+
Sample:
+
The configuration returned will always be in the same format of the parameters above.
+
+
+ parsed + +
+ list +
+
When state is parsed +
The configuration as structured data transformed for the value of running_config option
+
+
Sample:
+
The configuration returned will always be in the same format of the parameters above.
+
+
+ rendered + +
+ list +
+
When state is rendered +
The set of CLI commands generated from the value in config option
+
+
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
+
+

+ 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 -
if True, overwrite existing config.
+
if true, overwrite existing config.
@@ -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 -
when True Disable implementation of a group of objects
+
when true Disable implementation of a group of objects
@@ -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 The set of commands pushed to the remote device.
Sample:
-
['ip route vrf vrf1 192.2.2.0/24 125.2.3.1 93']
+
['ip route vrf vrf1 192.2.2.0/24 125.2.3.1 93', 'ipv6 route 5001::/64 Ethernet1']
@@ -1214,35 +991,7 @@ Common return values are documented `here The set of CLI commands generated from the value in config option
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
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*(?Pprefer)* \s*(?Pburst)* \s*(?Piburst)* - \s*(?Plocal-interface\s.+?)* \s*(?Pmaxpoll\s\d+)* \s*(?Pminpoll\s\d+)* \s*(?Psource\s.+?)* \s*(?Pversion\s[1-4])* \s*(?Pkey\s.+)* + (\s*local-interface\s(?P\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 / eg. 192.0.2.1/24, - or C(dhcp) to query DHCP for an IP address. + - IPv4 address to be set in the format / 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 / - 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 / + 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/ -- cgit v1.2.3