diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-05 16:18:34 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-05 16:18:34 +0000 |
commit | 3667197efb7b18ec842efd504785965911f8ac4b (patch) | |
tree | 0b986a4bc6879d080b100666a97cdabbc9ca1f28 /ansible_collections/junipernetworks | |
parent | Adding upstream version 9.5.1+dfsg. (diff) | |
download | ansible-3667197efb7b18ec842efd504785965911f8ac4b.tar.xz ansible-3667197efb7b18ec842efd504785965911f8ac4b.zip |
Adding upstream version 10.0.0+dfsg.upstream/10.0.0+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ansible_collections/junipernetworks')
135 files changed, 10422 insertions, 4844 deletions
diff --git a/ansible_collections/junipernetworks/junos/.ansible-lint b/ansible_collections/junipernetworks/junos/.ansible-lint new file mode 100644 index 000000000..8d9bb70b8 --- /dev/null +++ b/ansible_collections/junipernetworks/junos/.ansible-lint @@ -0,0 +1,5 @@ +--- +profile: production + +exclude_paths: + - changelogs/changelog.yaml diff --git a/ansible_collections/junipernetworks/junos/.flake8 b/ansible_collections/junipernetworks/junos/.flake8 new file mode 100644 index 000000000..03be69242 --- /dev/null +++ b/ansible_collections/junipernetworks/junos/.flake8 @@ -0,0 +1,67 @@ +[flake8] + +builtins = _ + +# Print the total number of errors: +count = true + +# Don't even try to analyze these: +extend-exclude = + # No need to traverse egg info dir + *.egg-info, + # tool cache dirs + *_cache + # project env vars + .env, + # GitHub configs + .github, + # Cache files of MyPy + .mypy_cache, + # Cache files of pytest + .pytest_cache, + # Temp dir of pytest-testmon + .tmontmp, + # Occasional virtualenv dir + .venv + # VS Code + .vscode, + # Temporary build dir + build, + # This contains sdists and wheels of ansible-navigator that we don't want to check + dist, + # Metadata of `pip wheel` cmd is autogenerated + pip-wheel-metadata, + # adjacent venv + venv + # ansible won't let me + __init__.py + +# IMPORTANT: avoid using ignore option, always use extend-ignore instead +# Completely and unconditionally ignore the following errors: +extend-ignore = + F841, + # line-length + E501, + # module level import not at top of file + E402 + +# Accessibility/large fonts and PEP8 unfriendly: +max-line-length = 120 + +# Allow certain violations in certain files: +# Please keep both sections of this list sorted, as it will be easier for others to find and add entries in the future +per-file-ignores = + # The following ignores have been researched and should be considered permanent + # each should be preceeded with an explanation of each of the error codes + # If other ignores are added for a specific file in the section following this, + # these will need to be added to that line as well. + + + # S101: Allow the use of assert within the tests directory, since tests require it. + tests/**.py: S101 + + # The following were present during the initial implementation. + # They are expected to be fixed and unignored over time. + +# Count the number of occurrences of each error/warning code and print a report: +statistics = true diff --git a/ansible_collections/junipernetworks/junos/.github/workflows/ack.yml b/ansible_collections/junipernetworks/junos/.github/workflows/check_label.yml index fda595dc5..b120bfa32 100644 --- a/ansible_collections/junipernetworks/junos/.github/workflows/ack.yml +++ b/ansible_collections/junipernetworks/junos/.github/workflows/check_label.yml @@ -1,15 +1,11 @@ --- -# See https://github.com/ansible-community/devtools/blob/main/.github/workflows/ack.yml -name: ack - +name: "Check label" 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 + check_label: + uses: ansible/ansible-content-actions/.github/workflows/check_label.yaml@main diff --git a/ansible_collections/junipernetworks/junos/.github/workflows/draft_release.yml b/ansible_collections/junipernetworks/junos/.github/workflows/draft_release.yml new file mode 100644 index 000000000..b65c12cca --- /dev/null +++ b/ansible_collections/junipernetworks/junos/.github/workflows/draft_release.yml @@ -0,0 +1,18 @@ +--- +name: "Draft release" +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: ${{ github.repository_owner }} + COLLECTION_NAME: junos + ANSIBLE_COLLECTIONS_PATHS: ./ +jobs: + update_release_draft: + uses: ansible/ansible-content-actions/.github/workflows/draft_release.yaml@main + with: + repo: ${{ github.event.pull_request.head.repo.full_name }} + secrets: + BOT_PAT: ${{ secrets.BOT_PAT }} diff --git a/ansible_collections/junipernetworks/junos/.github/workflows/push.yml b/ansible_collections/junipernetworks/junos/.github/workflows/push.yml deleted file mode 100644 index 8434ea5d1..000000000 --- a/ansible_collections/junipernetworks/junos/.github/workflows/push.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -# 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: junipernetworks - COLLECTION_NAME: junos - ANSIBLE_COLLECTIONS_PATHS: ./ - -jobs: - update_release_draft: - uses: ansible/devtools/.github/workflows/push_network.yml@main - with: - repo: ansible-collections/junipernetworks.junos - secrets: - BOT_PAT: ${{ secrets.BOT_PAT }} diff --git a/ansible_collections/junipernetworks/junos/.github/workflows/tests.yml b/ansible_collections/junipernetworks/junos/.github/workflows/tests.yml index e94026c6d..c0bf515ac 100644 --- a/ansible_collections/junipernetworks/junos/.github/workflows/tests.yml +++ b/ansible_collections/junipernetworks/junos/.github/workflows/tests.yml @@ -1,5 +1,5 @@ --- -name: CI +name: "CI" concurrency: group: ${{ github.head_ref || github.run_id }} @@ -13,15 +13,17 @@ on: # yamllint disable-line rule:truthy - 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 + uses: ansible/ansible-content-actions/.github/workflows/changelog.yaml@main if: github.event_name == 'pull_request' + build-import: + uses: ansible/ansible-content-actions/.github/workflows/build_import.yaml@main + ansible-lint: + uses: ansible/ansible-content-actions/.github/workflows/ansible_lint.yaml@main sanity: - uses: ansible-network/github_actions/.github/workflows/sanity.yml@main + uses: ansible/ansible-content-actions/.github/workflows/sanity.yaml@main unit-galaxy: - uses: ansible-network/github_actions/.github/workflows/unit_galaxy.yml@main + uses: ansible/ansible-content-actions/.github/workflows/unit.yaml@main unit-source: uses: ansible-network/github_actions/.github/workflows/unit_source.yml@main with: @@ -31,19 +33,20 @@ jobs: all_green: if: ${{ always() && (github.event_name != 'schedule') }} needs: - - ansible-lint - changelog + - build-import - sanity - unit-galaxy - - unit-source + - ansible-lint runs-on: ubuntu-latest steps: - run: >- python -c "assert 'failure' not in set([ - '${{ needs.ansible-lint.result }}', '${{ needs.changelog.result }}', + '${{ needs.build-import.result }}', '${{ needs.sanity.result }}', - '${{ needs.unit-galaxy.result }}', + '${{ needs.unit-galaxy.result }}' + '${{ needs.ansible-lint.result }}' '${{ needs.unit-source.result }}' ])" diff --git a/ansible_collections/junipernetworks/junos/.pre-commit-config.yaml b/ansible_collections/junipernetworks/junos/.pre-commit-config.yaml index 275086d8d..2e88d4577 100644 --- a/ansible_collections/junipernetworks/junos/.pre-commit-config.yaml +++ b/ansible_collections/junipernetworks/junos/.pre-commit-config.yaml @@ -23,7 +23,7 @@ repos: - id: add-trailing-comma - repo: https://github.com/pre-commit/mirrors-prettier - rev: "v3.1.0" + rev: "v4.0.0-alpha.8" hooks: - id: prettier entry: env CI=1 bash -c "prettier --list-different . || ec=$? && prettier --loglevel=error --write . && exit $ec" @@ -34,13 +34,18 @@ repos: - prettier-plugin-toml - repo: https://github.com/PyCQA/isort - rev: 5.12.0 + rev: 5.13.2 hooks: - id: isort name: Sort import statements using isort args: ["--filter-files"] - repo: https://github.com/psf/black - rev: 23.11.0 + rev: 23.12.1 hooks: - id: black + + - repo: https://github.com/pycqa/flake8 + rev: 7.0.0 + hooks: + - id: flake8 diff --git a/ansible_collections/junipernetworks/junos/CHANGELOG.rst b/ansible_collections/junipernetworks/junos/CHANGELOG.rst index 73ef77b5f..d8bcbc11e 100644 --- a/ansible_collections/junipernetworks/junos/CHANGELOG.rst +++ b/ansible_collections/junipernetworks/junos/CHANGELOG.rst @@ -5,6 +5,92 @@ Junipernetworks Junos Collection Release Notes .. contents:: Topics +v8.0.0 +====== + +Major Changes +------------- + +- Update the netcommon base version 6.1.0 to support cli_restore plugin. + +Minor Changes +------------- + +- Add support for cli_restore functionality. +- Please refer the PR to know more about core changes (https://github.com/ansible-collections/ansible.netcommon/pull/618). +- cli_restore module is part of netcommon. + +v7.0.0 +====== + +Major Changes +------------- + +- This release removes previously deprecated modules from this collection. Please refer to the **Removed Features** section for details. + +Removed Features (previously deprecated) +---------------------------------------- + +- Remove deprected junos_logging module which is replaced by junos_logging_global resource module. + +Bugfixes +-------- + +- Fix the empty facts list placement + +v6.0.2 +====== + +Bugfixes +-------- + +- acls +- initialize facts dictionary with empty containers for respective resources mentioned below +- lldp_global +- lldp_interfaces +- logging_global +- ntp_global +- ospf_interfaces +- ospfv2 +- ospfv3 +- prefix_lists +- routing_instances +- routing_options +- security_policies +- security_policies_global +- security_zones +- snmp_server +- static_routes +- vlans + +Documentation Changes +--------------------- + +- Remove the part of the description which incorrectly describes the behavior and type of confirm attribute. +- Update example performing `confirm_commit`. +- Update with more examples using the `confirm` option to set a timer. + +v6.0.1 +====== + +Bugfixes +-------- + +- Prevents module_defaults from were being incorrectly applied to the platform action, instead of the concerned module. + +v6.0.0 +====== + +Release Summary +--------------- + +Starting from this release, the minimum `ansible-core` version this collection requires is `2.14.0`. That last known version compatible with ansible-core<2.14 is `v5.3.1`. + +Major Changes +------------- + +- Bumping `requires_ansible` to `>=2.14.0`, since previous ansible-core versions are EoL now. + v5.3.1 ====== diff --git a/ansible_collections/junipernetworks/junos/FILES.json b/ansible_collections/junipernetworks/junos/FILES.json index da63ee3e6..b65b71f50 100644 --- a/ansible_collections/junipernetworks/junos/FILES.json +++ b/ansible_collections/junipernetworks/junos/FILES.json @@ -8,52 +8,66 @@ "format": 1 }, { - "name": "codecov.yml", + "name": ".github", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": ".github/dependabot.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4aa7e485dd4db6f8a55b046088c745def2b3145d9499ccda4e9a3336467dcea2", + "chksum_sha256": "11ceee3c57116e9fd08bc423414b1095ff002aa012d6fb325b1a7e24d7e28461", "format": 1 }, { - "name": "LICENSE", + "name": ".github/workflows", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": ".github/workflows/codecoverage.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986", + "chksum_sha256": "a56c8aba05b81d2e1d6575b37963f40df663387030de5eaac6f5c9dfd7af54f1", "format": 1 }, { - "name": ".yamllint", + "name": ".github/workflows/draft_release.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "827ef9e031ecdcaf137be239d33ef93fcbbc3611cbb6b30b0e507d0e03373d0e", + "chksum_sha256": "e8ad00c6053c348c7c2a60f2f6e68232459de307e0133b5b7041140676562077", "format": 1 }, { - "name": "requirements.txt", + "name": ".github/workflows/check_label.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "72120963f8c7e635d07e9383be6e58963fe00d8496e6545facd7e00082a4351b", + "chksum_sha256": "9eb6abad2038b10cd6ea70310aa88d163f10c374d1728df29bb553eff2acfaba", "format": 1 }, { - "name": "meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": ".github/workflows/tests.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b5b7187b67da01f2d782b6158d3519127a5131f7b266592839eda3d938b67c0d", "format": 1 }, { - "name": "meta/runtime.yml", + "name": ".github/workflows/release.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ed198f0d427c1317f5bf5bd0589830d0cdbdbc7f9f50bc9893544a52ca365659", + "chksum_sha256": "c9b7dba505905600bbb9f0d8e9956b7cc20f80edfa742dfdae9395542f417aa1", "format": 1 }, { - "name": "README.md", + "name": ".github/release-drafter.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2dc9f0d0301e93e8c4335dde8d0f0a5e8213ea182ddd0ff7c09a1864a829b18d", + "chksum_sha256": "7cbc785c8661033cd9dd7a60897484fce731cbe3dc124a689fc3e934b1d974fb", "format": 1 }, { @@ -64,332 +78,367 @@ "format": 1 }, { - "name": "plugins/terminal", + "name": "plugins/doc_fragments", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/terminal/__init__.py", + "name": "plugins/doc_fragments/junos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "5294623e923b47674ea7fcfafc3b51a847e7e87942ee4169e5067aef5be13bb1", "format": 1 }, { - "name": "plugins/terminal/junos.py", + "name": "plugins/doc_fragments/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7a753a93aab66c8d3aa61ffbc0a3cffa9a4c19b60b04e281fffd4a028ee025e5", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/netconf", + "name": "plugins/action", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/netconf/__init__.py", + "name": "plugins/action/junos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/netconf/junos.py", + "name": "plugins/action/l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0748873fbfd215ae3a28d9c12bc28cba70f3b2892afb054ac3f1935250663900", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/cliconf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/hostname.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/cliconf/__init__.py", + "name": "plugins/action/rpc.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/cliconf/junos.py", + "name": "plugins/action/security_zones.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "927ec120e824df3ce856084834a5ade6c24b8a5c4600830da8b68fd3c66f2f7e", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/action/facts.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_acls.py", + "name": "plugins/action/lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7b840a4eb0515cf20f08504b12527f3682277d4d3fc890a20c43ba3c6774331c", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_banner.py", + "name": "plugins/action/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8d8fd80f73b1372288842f4bcb88c10ea942da1300fd83abb4d61344acd02aab", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_vrf.py", + "name": "plugins/action/vrf.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ab4709ddc2cb63bfa4b20cd32a4ed32757f1bf544413fb76f8d20b9080a8c69f", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_bgp_global.py", + "name": "plugins/action/interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e9669b05036c44531bcb7c498aed6bf26a44a807423d7f9245a29c5e6e27a77b", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_lldp_global.py", + "name": "plugins/action/lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8976ed6186d6dbe8af60ba32e64de959f1b48d97af2ae4be9e7d36dcd0e89f03", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_command.py", + "name": "plugins/action/command.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4c849c92e52778ff2e2921b60adcb437bc0285242c4acaa28f8990d702dc691f", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_lacp.py", + "name": "plugins/action/ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d9f2e4ff87b7fce833a5e4a8cf7eb47ffdd12e7c6a980a0bdfb7fd4d7c008b57", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_static_routes.py", + "name": "plugins/action/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2c91ff6e46f595f9f0e29721d0a45dc8b61f22aac87f339dfa683dddaba2d0d7", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/modules/junos_security_policies_global.py", + "name": "plugins/action/system.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "171403f7e2aed2f3efdadeac65626a6de4fc1377c82d2a035a736e987b645673", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_facts.py", + "name": "plugins/action/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4bcb1142f3cec172af6f2325d1241df9db91343193548003cefe199841ae45a5", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_ospfv3.py", + "name": "plugins/action/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3c700a2299725aae6b7e4917a74726240ddd15159609e9bc2682de6a9c185e3f", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_netconf.py", + "name": "plugins/action/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0b7a1a0700bb32524bde4ad8559c5595481a33bcb4b24c78578445e1e84ad0f6", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_vlans.py", + "name": "plugins/action/scp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b52a1557ee5352494b985acc10d7c7d1d607c69354f1b4db096238e10d7413bb", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_logging.py", + "name": "plugins/action/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "06c0d46cfa6ef40ce2211c4a0f6f24628165e0cc0f6c2d526538478e4520fbd7", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_config.py", + "name": "plugins/action/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0aa45eea7a3d67495c2bc7842b3e3c2a080da1fcaee005d007f7bb5f58594ebd", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_routing_options.py", + "name": "plugins/action/lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0474996549452d2795863f28eb69b51bfca4d5beab089c3d2e4eec5af49e8b7a", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_package.py", + "name": "plugins/action/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a25342058d7c34065cc0836dd0a998c251b814df48c86e74b814b746dab8b089", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/__init__.py", + "name": "plugins/action/banner.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_l2_interfaces.py", + "name": "plugins/action/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c2588107140c415914de2e3f70207950d6a9273de7bf5e25a699b3c1e15d8a14", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_lacp_interfaces.py", + "name": "plugins/action/l3_intefaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aa96729f20fc524e27b4618c2508223122f97af0f54039d6f6397ba8af46090c", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_security_zones.py", + "name": "plugins/action/user.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "301f4ef2124f91e5ed2dd6a56a81b31bcbda045c3f5146d609e2838c2dae0f8e", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_scp.py", + "name": "plugins/action/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "65ff7c4f0f934877c1ec769108a7839b8b690118da1c800b8243e605771edc9f", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_interfaces.py", + "name": "plugins/action/security_policies.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "29ecfe2acb6c98a3b2081b77446de065e139cb4378c9a1b9ae128447b37c9368", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_lldp_interfaces.py", + "name": "plugins/action/routing_instances.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "80158e131b1738cb4f2d4de7f2a9d5d42fc8709c651f834fd5c6dd37021d098d", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_lag_interfaces.py", + "name": "plugins/action/logging.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "19e99c1a56ac0ea2b4adffbc0eb689c2a46cbe2360f8e019b3aa37a1ab143018", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_rpc.py", + "name": "plugins/action/ping.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5cf5ed6bbb369bf50565ea8b8ac8044371445fc0d7edd3d978b99e4cc0b1da36", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_system.py", + "name": "plugins/action/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2635eb9827190e6730ebb7be9ba0f0e6e232302a948cba6880a5ccf00ea3b9ab", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_acl_interfaces.py", + "name": "plugins/action/security_policies_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ab29072bfc7fef0934b4f0cc8092756a4eda3df16b33ce7c341ce9ce7f96a61d", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_logging_global.py", + "name": "plugins/action/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "50e8fa45f5184a381823ff10e7180009810ba1fa65c92bc9def44135847934e2", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_security_policies.py", + "name": "plugins/action/package.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fa867759f13b9c37011417ebbae1983aa8bd49014d47d225c10c836d50341d1c", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_routing_instances.py", + "name": "plugins/action/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2ac171bdae6f922892cbb6f237fedf57a397fbaaf1bbf4f755b1aa2782b599ec", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_ping.py", + "name": "plugins/action/config.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "60bb7b3367606e75c651f2ab39dbc498efe35e02a9f8cd87835293873eacae9f", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_prefix_lists.py", + "name": "plugins/action/netconf.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c82456ce16a53bc4972a6d3b49a800cb855fb6cab2520fce6580539ba6a8ffce", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_bgp_address_family.py", + "name": "plugins/action/lacp_intefaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "771f174a0f9fb5902926d0d51ca8113c3575483bad2ff4b6e0dd8e8e50402106", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_user.py", + "name": "plugins/action/vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ac09a5a8fd1c094d4919a1c338e70ee37122ea25b9c8b8f15374e22cef60da8a", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_ntp_global.py", + "name": "plugins/action/routing_options.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "20c687260995640277dffed828e4175fdc12edcc1cf8ebcac4adb130c121785f", + "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", "format": 1 }, { - "name": "plugins/modules/junos_ospfv2.py", + "name": "plugins/modules", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/modules/junos_acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "68938ce7dec95ceb489e7523256280a80053d692ff0adfa9efb5c3e4d944310b", + "chksum_sha256": "ab29072bfc7fef0934b4f0cc8092756a4eda3df16b33ce7c341ce9ce7f96a61d", + "format": 1 + }, + { + "name": "plugins/modules/junos_command.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4c849c92e52778ff2e2921b60adcb437bc0285242c4acaa28f8990d702dc691f", + "format": 1 + }, + { + "name": "plugins/modules/junos_lldp_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "8976ed6186d6dbe8af60ba32e64de959f1b48d97af2ae4be9e7d36dcd0e89f03", + "format": 1 + }, + { + "name": "plugins/modules/junos_logging_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "50e8fa45f5184a381823ff10e7180009810ba1fa65c92bc9def44135847934e2", + "format": 1 + }, + { + "name": "plugins/modules/junos_lldp_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "80158e131b1738cb4f2d4de7f2a9d5d42fc8709c651f834fd5c6dd37021d098d", "format": 1 }, { @@ -400,17 +449,31 @@ "format": 1 }, { - "name": "plugins/modules/junos_hostname.py", + "name": "plugins/modules/junos_bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d950b8c2c345c298127dc183d53e6803d568cbc2c4867ec66097ff643fdd012f", + "chksum_sha256": "771f174a0f9fb5902926d0d51ca8113c3575483bad2ff4b6e0dd8e8e50402106", "format": 1 }, { - "name": "plugins/modules/junos_l3_interfaces.py", + "name": "plugins/modules/junos_ntp_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "20c687260995640277dffed828e4175fdc12edcc1cf8ebcac4adb130c121785f", + "format": 1 + }, + { + "name": "plugins/modules/junos_scp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "55a8215c15a9c06ec42cfdd8cdec37c7a9a0a7f7787b120be857daa9eaa8bc69", + "chksum_sha256": "65ff7c4f0f934877c1ec769108a7839b8b690118da1c800b8243e605771edc9f", + "format": 1 + }, + { + "name": "plugins/modules/junos_system.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2635eb9827190e6730ebb7be9ba0f0e6e232302a948cba6880a5ccf00ea3b9ab", "format": 1 }, { @@ -421,255 +484,304 @@ "format": 1 }, { - "name": "plugins/doc_fragments", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/junos_l2_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3c47c6dc071e188fb60138372c98d7d3e56eea3b8fb7d8f2328ee6970f7e085e", "format": 1 }, { - "name": "plugins/doc_fragments/__init__.py", + "name": "plugins/modules/junos_acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "7b840a4eb0515cf20f08504b12527f3682277d4d3fc890a20c43ba3c6774331c", "format": 1 }, { - "name": "plugins/doc_fragments/junos.py", + "name": "plugins/modules/junos_facts.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5294623e923b47674ea7fcfafc3b51a847e7e87942ee4169e5067aef5be13bb1", + "chksum_sha256": "4bcb1142f3cec172af6f2325d1241df9db91343193548003cefe199841ae45a5", "format": 1 }, { - "name": "plugins/module_utils", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/junos_routing_options.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0474996549452d2795863f28eb69b51bfca4d5beab089c3d2e4eec5af49e8b7a", "format": 1 }, { - "name": "plugins/module_utils/__init__.py", + "name": "plugins/modules/junos_vrf.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "ab4709ddc2cb63bfa4b20cd32a4ed32757f1bf544413fb76f8d20b9080a8c69f", "format": 1 }, { - "name": "plugins/module_utils/network", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/junos_bgp_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e9669b05036c44531bcb7c498aed6bf26a44a807423d7f9245a29c5e6e27a77b", "format": 1 }, { - "name": "plugins/module_utils/network/junos", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/junos_lag_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "19e99c1a56ac0ea2b4adffbc0eb689c2a46cbe2360f8e019b3aa37a1ab143018", "format": 1 }, { - "name": "plugins/module_utils/network/junos/__init__.py", + "name": "plugins/modules/junos_ospfv2.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "68938ce7dec95ceb489e7523256280a80053d692ff0adfa9efb5c3e4d944310b", + "format": 1 + }, + { + "name": "plugins/modules/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/junos_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "29ecfe2acb6c98a3b2081b77446de065e139cb4378c9a1b9ae128447b37c9368", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/bgp_address_family", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/junos_lacp_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "aa96729f20fc524e27b4618c2508223122f97af0f54039d6f6397ba8af46090c", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/bgp_address_family/bgp_address_family.py", + "name": "plugins/modules/junos_security_policies.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "89eab55bab6787e95a1d6b9c8f72b0593ca899e53f750541ea85e836c62de4d6", + "chksum_sha256": "fa867759f13b9c37011417ebbae1983aa8bd49014d47d225c10c836d50341d1c", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/bgp_address_family/__init__.py", + "name": "plugins/modules/junos_hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "d950b8c2c345c298127dc183d53e6803d568cbc2c4867ec66097ff643fdd012f", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/static_routes", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/junos_netconf.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0b7a1a0700bb32524bde4ad8559c5595481a33bcb4b24c78578445e1e84ad0f6", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/static_routes/static_routes.py", + "name": "plugins/modules/junos_lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2887ece67e8b0b676c03ed878529256fb1ad050ca06c1bce1bba38583fdc4ca3", + "chksum_sha256": "d9f2e4ff87b7fce833a5e4a8cf7eb47ffdd12e7c6a980a0bdfb7fd4d7c008b57", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/static_routes/__init__.py", + "name": "plugins/modules/junos_user.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "ac09a5a8fd1c094d4919a1c338e70ee37122ea25b9c8b8f15374e22cef60da8a", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/prefix_lists", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/junos_rpc.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5cf5ed6bbb369bf50565ea8b8ac8044371445fc0d7edd3d978b99e4cc0b1da36", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/prefix_lists/__init__.py", + "name": "plugins/modules/junos_static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "2c91ff6e46f595f9f0e29721d0a45dc8b61f22aac87f339dfa683dddaba2d0d7", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/prefix_lists/prefix_lists.py", + "name": "plugins/modules/junos_ping.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "94b94bff134cd75255b69e8eabd02cbf20034987af7123dde1302a9369a33a92", + "chksum_sha256": "60bb7b3367606e75c651f2ab39dbc498efe35e02a9f8cd87835293873eacae9f", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/hostname", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/junos_security_policies_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "171403f7e2aed2f3efdadeac65626a6de4fc1377c82d2a035a736e987b645673", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/hostname/hostname.py", + "name": "plugins/modules/junos_config.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "086449727c22526b4d6ec69f81aaa65ef7e20d7afe4dc8f5a74364050f58f197", + "chksum_sha256": "884c21dee0cb5351f02164dcf1cb1c8fda903cddf252efd55e70d7680850a89a", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/hostname/__init__.py", + "name": "plugins/modules/junos_package.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "a25342058d7c34065cc0836dd0a998c251b814df48c86e74b814b746dab8b089", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lldp_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/junos_ospfv3.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3c700a2299725aae6b7e4917a74726240ddd15159609e9bc2682de6a9c185e3f", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lldp_interfaces/__init__.py", + "name": "plugins/modules/junos_security_zones.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "301f4ef2124f91e5ed2dd6a56a81b31bcbda045c3f5146d609e2838c2dae0f8e", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lldp_interfaces/lldp_interfaces.py", + "name": "plugins/modules/junos_l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1df21a17a08ca662fde86eb104a1b315e94b1608d2714d93d40a2fc495527ad0", + "chksum_sha256": "618d2f12fe2e07c3f41bde1d01786014e8d8eabea5f194874f7a069314ab8ea1", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lacp", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/junos_banner.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "8d8fd80f73b1372288842f4bcb88c10ea942da1300fd83abb4d61344acd02aab", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lacp/lacp.py", + "name": "plugins/modules/junos_prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "44936dff8bf302bdd1c920bc3fa6dbddfbfa262c0280c9022e3773db8782c868", + "chksum_sha256": "c82456ce16a53bc4972a6d3b49a800cb855fb6cab2520fce6580539ba6a8ffce", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lacp/__init__.py", + "name": "plugins/modules/junos_vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "b52a1557ee5352494b985acc10d7c7d1d607c69354f1b4db096238e10d7413bb", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/ospfv2", + "name": "plugins/modules/junos_routing_instances.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2ac171bdae6f922892cbb6f237fedf57a397fbaaf1bbf4f755b1aa2782b599ec", + "format": 1 + }, + { + "name": "plugins/module_utils", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/ospfv2/__init__.py", + "name": "plugins/module_utils/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/ospfv2/ospfv2.py", + "name": "plugins/module_utils/network", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/junos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5228a74b64a0c6cfdadb6aa523c07c7c0fc94ad073c8d67004c85d4359d5f3dd", + "chksum_sha256": "601f3146a98848d7acb795387f1f8541fd48d2bcca060e1eacfa07e3e36e9a04", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/logging_global", + "name": "plugins/module_utils/network/junos/utils", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/logging_global/__init__.py", + "name": "plugins/module_utils/network/junos/utils/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/logging_global/logging_global.py", + "name": "plugins/module_utils/network/junos/utils/utils.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "90aa258a0413fd85f229500f10df5a4d37a90837ea686739ac33a8fe237bfbe4", + "chksum_sha256": "d939568e6cc51b1dfecd971faef5c5b5daf45489d9ebf3f1ff1867670d5a32ea", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/ospfv3", + "name": "plugins/module_utils/network/junos/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/facts", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/ospfv3/__init__.py", + "name": "plugins/module_utils/network/junos/facts/lacp", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/facts/lacp/lacp.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "44936dff8bf302bdd1c920bc3fa6dbddfbfa262c0280c9022e3773db8782c868", + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/facts/lacp/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/ospfv3/ospfv3.py", + "name": "plugins/module_utils/network/junos/facts/facts.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3d375a5f2448fcd0109eb79289723cb47076212ca96f7d3953a40a82a87271a3", + "chksum_sha256": "cfcd05893d6ef57d7cd8d8f02b42562d95f88227f6b38c58a1b754df595c140f", "format": 1 }, { @@ -694,304 +806,325 @@ "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/l2_interfaces", + "name": "plugins/module_utils/network/junos/facts/ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/l2_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/facts/ospfv2/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/l2_interfaces/l2_interfaces.py", + "name": "plugins/module_utils/network/junos/facts/ospfv2/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d473b4fd6fcceb453f5737c49d3a4496312aca47d43ea6986013af3349e23d5d", + "chksum_sha256": "0a3035620bf3950af583ea98d08e1b14a57e1e8bb692ae4db4cd59c6d599c7c3", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/ospf_interfaces", + "name": "plugins/module_utils/network/junos/facts/interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/ospf_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/facts/interfaces/interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "f68580cf08d91d58daf195a401ce8149d53bd1b39f663f11cbad334bb6f92e04", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/ospf_interfaces/ospf_interfaces.py", + "name": "plugins/module_utils/network/junos/facts/interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9fb2f9201f58ce1d44ccf58f6dbb4a8ddc2f0dc14a24711c1e3d8ff9b9ed4a20", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/acl_interfaces", + "name": "plugins/module_utils/network/junos/facts/routing_instances", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/acl_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/facts/routing_instances/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/acl_interfaces/acl_interfaces.py", + "name": "plugins/module_utils/network/junos/facts/routing_instances/routing_instances.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96790e91d95b732dff326e712b71fbfc2fcf90f37b8e1ac48ec494250c941a24", + "chksum_sha256": "489b7ad0bc98ee965608dac54e3f7911b1f81d8753769d77279513552f5f4db8", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/security_policies", + "name": "plugins/module_utils/network/junos/facts/acl_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/security_policies/security_policies.py", + "name": "plugins/module_utils/network/junos/facts/acl_interfaces/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c13f6094663d084a4a5fde18f9094a8cf2cf4434be1e827415babba820c9fefb", + "chksum_sha256": "96790e91d95b732dff326e712b71fbfc2fcf90f37b8e1ac48ec494250c941a24", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/security_policies/__init__.py", + "name": "plugins/module_utils/network/junos/facts/acl_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lldp_global", + "name": "plugins/module_utils/network/junos/facts/l2_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lldp_global/__init__.py", + "name": "plugins/module_utils/network/junos/facts/l2_interfaces/l2_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d473b4fd6fcceb453f5737c49d3a4496312aca47d43ea6986013af3349e23d5d", + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/facts/l2_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lldp_global/lldp_global.py", + "name": "plugins/module_utils/network/junos/facts/lag_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/facts/lag_interfaces/lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d6ae5428d96ce7838d54b1d6697f19056940afea5a457691dba4fa512be7d46c", + "chksum_sha256": "771999bc9241bf629356732305d827a3dc1f812bdeaf95b9350257b9829011e3", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/__init__.py", + "name": "plugins/module_utils/network/junos/facts/lag_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/snmp_server", + "name": "plugins/module_utils/network/junos/facts/routing_options", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/snmp_server/snmp_server.py", + "name": "plugins/module_utils/network/junos/facts/routing_options/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c62d20cd6d62bdbec004c9f840cddcf5649be5feda41c84417ce0371b6f6cf14", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/snmp_server/__init__.py", + "name": "plugins/module_utils/network/junos/facts/routing_options/routing_options.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "d8ba26ae7fd578055733e724697d2e94d2c217c0d69772f6997453a71d2f7fd8", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/security_zones", + "name": "plugins/module_utils/network/junos/facts/hostname", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/security_zones/security_zones.py", + "name": "plugins/module_utils/network/junos/facts/hostname/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cbb73b02383c6787a4bbe18eeb1a566363d7af2e9326b3c56b2820d2198519bb", + "chksum_sha256": "086449727c22526b4d6ec69f81aaa65ef7e20d7afe4dc8f5a74364050f58f197", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/security_zones/__init__.py", + "name": "plugins/module_utils/network/junos/facts/hostname/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lacp_interfaces", + "name": "plugins/module_utils/network/junos/facts/lldp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lacp_interfaces/lacp_interfaces.py", + "name": "plugins/module_utils/network/junos/facts/lldp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f93a737a129b5d05fe28f5c6c3bb44a830df90b3dd61fb17444bd80b93ad9a09", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lacp_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/facts/lldp_interfaces/lldp_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "70811467fcf2b15d187f17e4e5820e9c78ded6f3083a9dcbdcdf864bf30a46e3", + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/facts/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/acls", + "name": "plugins/module_utils/network/junos/facts/lldp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/acls/__init__.py", + "name": "plugins/module_utils/network/junos/facts/lldp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/acls/acls.py", + "name": "plugins/module_utils/network/junos/facts/lldp_global/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eef5be8b578155642be73aa8311dfd978c0dc01a5a3fba3939ba2faceba4bba8", + "chksum_sha256": "960cf86762b273a1772353c2d51af656092f3e7d357f376961c6835ee428db1a", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/ntp_global", + "name": "plugins/module_utils/network/junos/facts/snmp_server", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/ntp_global/ntp_global.py", + "name": "plugins/module_utils/network/junos/facts/snmp_server/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fa1d7dd9759815b42609d676a8430789049b3f28368b3b0cb5cc8d6665ff0f03", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/ntp_global/__init__.py", + "name": "plugins/module_utils/network/junos/facts/snmp_server/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "06c938f01562f42ab5b25d41664de1876fed6004678f011638dd4e1e825b9702", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lag_interfaces", + "name": "plugins/module_utils/network/junos/facts/prefix_lists", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lag_interfaces/lag_interfaces.py", + "name": "plugins/module_utils/network/junos/facts/prefix_lists/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "771999bc9241bf629356732305d827a3dc1f812bdeaf95b9350257b9829011e3", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/lag_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/facts/prefix_lists/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "b2a79a4d417a61679dcea9df07b7deb89c07fd00d2ef3f48d94503c45a8cfd11", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/routing_instances", + "name": "plugins/module_utils/network/junos/facts/ntp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/routing_instances/routing_instances.py", + "name": "plugins/module_utils/network/junos/facts/ntp_global/ntp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d3d09198249f250a585d299c8e1771a7304cfafb231040abbf4cebba3d3cd43c", + "chksum_sha256": "239a2b0e8e67f513756cbc17ebdede947bed9957fd107e03a52a56b2e403869f", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/routing_instances/__init__.py", + "name": "plugins/module_utils/network/junos/facts/ntp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/vlans", + "name": "plugins/module_utils/network/junos/facts/security_policies_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/vlans/vlans.py", + "name": "plugins/module_utils/network/junos/facts/security_policies_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6a31b3b1d45130b9d77d4aabf789cc2294b61c46a2c2526dc6e7a9af68c015c0", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/vlans/__init__.py", + "name": "plugins/module_utils/network/junos/facts/security_policies_global/security_policies_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "a28392d4616d8d136967f7aef3d088f8327c27ca81c9d22bd31b5126454e3f06", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/interfaces", + "name": "plugins/module_utils/network/junos/facts/security_policies", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/interfaces/interfaces.py", + "name": "plugins/module_utils/network/junos/facts/security_policies/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f68580cf08d91d58daf195a401ce8149d53bd1b39f663f11cbad334bb6f92e04", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/facts/security_policies/security_policies.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "e502296f8435ffca697167e03629c9248c47325600255a7642c97761f812753c", "format": 1 }, { @@ -1016,311 +1149,304 @@ "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/bgp_global", + "name": "plugins/module_utils/network/junos/facts/acls", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/bgp_global/bgp_global.py", + "name": "plugins/module_utils/network/junos/facts/acls/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d341e9a255c4a64bc7699b5df292b8aab8568f07e952297ee6655db83878481a", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/bgp_global/__init__.py", + "name": "plugins/module_utils/network/junos/facts/acls/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "5001d9826089b99dbc51da7bf9aaa884fe54df4aefef7bd1407d161a0e204660", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/security_policies_global", + "name": "plugins/module_utils/network/junos/facts/security_zones", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/security_policies_global/security_policies_global.py", + "name": "plugins/module_utils/network/junos/facts/security_zones/security_zones.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5b73a48e9e07cff06d4a3d1124c3b794850c8045c4623e46cc4e739cf5a32a08", + "chksum_sha256": "61609f34d9b2c447c6fd777c4b43130296b5639ce70c6d25d03176e025783b4e", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/security_policies_global/__init__.py", + "name": "plugins/module_utils/network/junos/facts/security_zones/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/facts.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cfcd05893d6ef57d7cd8d8f02b42562d95f88227f6b38c58a1b754df595c140f", - "format": 1 - }, - { - "name": "plugins/module_utils/network/junos/facts/routing_options", + "name": "plugins/module_utils/network/junos/facts/bgp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/routing_options/__init__.py", + "name": "plugins/module_utils/network/junos/facts/bgp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/facts/routing_options/routing_options.py", + "name": "plugins/module_utils/network/junos/facts/bgp_global/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "230976ef9749bfa817c9205d7ca5a315767d6659589beaddef062716b199b81a", - "format": 1 - }, - { - "name": "plugins/module_utils/network/junos/argspec", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "d341e9a255c4a64bc7699b5df292b8aab8568f07e952297ee6655db83878481a", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/bgp_address_family", + "name": "plugins/module_utils/network/junos/facts/static_routes", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/bgp_address_family/bgp_address_family.py", + "name": "plugins/module_utils/network/junos/facts/static_routes/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "631e77bbb41f6bbb34bef7e0a1635413911fd4744a595060296f861dc63d2864", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/bgp_address_family/__init__.py", + "name": "plugins/module_utils/network/junos/facts/static_routes/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "f6db0676a18bc464bafb06ea2835ee56b87a60655ca556caa8e6e458a70547a2", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/static_routes", + "name": "plugins/module_utils/network/junos/facts/logging_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/static_routes/static_routes.py", + "name": "plugins/module_utils/network/junos/facts/logging_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "981e24f69455e6598b73620e9a3a46a6a38e92cd5d249650586641d26338cca1", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/static_routes/__init__.py", + "name": "plugins/module_utils/network/junos/facts/logging_global/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "67f3108c962de58e61e596b65a9873c7db45304f6a630d6f07ed4b4f0ff5818e", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/prefix_lists", + "name": "plugins/module_utils/network/junos/facts/ospf_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/prefix_lists/__init__.py", + "name": "plugins/module_utils/network/junos/facts/ospf_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/prefix_lists/prefix_lists.py", + "name": "plugins/module_utils/network/junos/facts/ospf_interfaces/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b8ab0bb2961d97dac8d7d9e947058528e9d31dcad8ec210c6d0e63ecb0cd428c", + "chksum_sha256": "f39bec8e0b904e35c0902587796f29724ac12ec0883a4d60f58e3dd2e12fbd65", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/hostname", + "name": "plugins/module_utils/network/junos/facts/bgp_address_family", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/hostname/hostname.py", + "name": "plugins/module_utils/network/junos/facts/bgp_address_family/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bc0972c01a77f54216305610589d3bd2c2be035084c2a895859ce83b80fc016b", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/hostname/__init__.py", + "name": "plugins/module_utils/network/junos/facts/bgp_address_family/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "89eab55bab6787e95a1d6b9c8f72b0593ca899e53f750541ea85e836c62de4d6", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lldp_interfaces", + "name": "plugins/module_utils/network/junos/facts/vlans", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lldp_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/facts/vlans/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lldp_interfaces/lldp_interfaces.py", + "name": "plugins/module_utils/network/junos/facts/vlans/vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "401c26d38a8a470e9946bb6c743196681ecc97054feca043af0744f69343d27a", + "chksum_sha256": "a279b7df78c3ccd65a3ddf60cc2520a0cb0d92fd4e7834927c19751a76ef3ec6", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lacp", + "name": "plugins/module_utils/network/junos/facts/lacp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lacp/lacp.py", + "name": "plugins/module_utils/network/junos/facts/lacp_interfaces/lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c909e98e4992fdc470732fff7e71016766edfcaa01a46de20712dd4d5a12050f", + "chksum_sha256": "f93a737a129b5d05fe28f5c6c3bb44a830df90b3dd61fb17444bd80b93ad9a09", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lacp/__init__.py", + "name": "plugins/module_utils/network/junos/facts/lacp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/ospfv2", + "name": "plugins/module_utils/network/junos/facts/ospfv3", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/ospfv2/__init__.py", + "name": "plugins/module_utils/network/junos/facts/ospfv3/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/ospfv2/ospfv2.py", + "name": "plugins/module_utils/network/junos/facts/ospfv3/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "70cfa5de84015312181c262d5edb88f08881b404e3b7f4e2b3865eecb7d90f3f", + "chksum_sha256": "447e2f34c60d22233890647c6792d09d683feb8ddc6f4f5446806e5398991789", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/logging_global", + "name": "plugins/module_utils/network/junos/argspec", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/logging_global/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/lacp", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/argspec/lacp/lacp.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "c909e98e4992fdc470732fff7e71016766edfcaa01a46de20712dd4d5a12050f", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/logging_global/logging_global.py", + "name": "plugins/module_utils/network/junos/argspec/lacp/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15ed3daf016f8c316e016dfce6a3059984820e84861c5a50b2cd7251cc2a4ed0", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/ospfv3", + "name": "plugins/module_utils/network/junos/argspec/ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/ospfv3/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/ospfv2/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/ospfv3/ospfv3.py", + "name": "plugins/module_utils/network/junos/argspec/ospfv2/ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6f6baae6c8d0cd7a42d175f8237a94d49bbc748da8f39fe30d78db52e4bce753", + "chksum_sha256": "70cfa5de84015312181c262d5edb88f08881b404e3b7f4e2b3865eecb7d90f3f", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/l2_interfaces", + "name": "plugins/module_utils/network/junos/argspec/interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/l2_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/interfaces/interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "0afa05ec549bc39da1392a7432968c280a626e0da14e12a0e27e07098a6ed32d", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/l2_interfaces/l2_interfaces.py", + "name": "plugins/module_utils/network/junos/argspec/interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "efbd8b98fa5da8778f43d3a6d3cc0c014fe93b2f7880f4114b794e351cba2b9b", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/ospf_interfaces", + "name": "plugins/module_utils/network/junos/argspec/routing_instances", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/ospf_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/routing_instances/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/ospf_interfaces/ospf_interfaces.py", + "name": "plugins/module_utils/network/junos/argspec/routing_instances/routing_instances.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "27e83e48f119c26a0650d59424b48d594f948c6fc63de6d05eca17c388ffe2f4", + "chksum_sha256": "3ec4d7437cc5586002d8cf9b449e7428a395880b02f13d178762cde6dd78deaa", "format": 1 }, { @@ -1331,171 +1457,192 @@ "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/acl_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/acl_interfaces/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "266f490e5364e72650ae56a41c325229066f28066854701e46093ab87648de51", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/acl_interfaces/acl_interfaces.py", + "name": "plugins/module_utils/network/junos/argspec/acl_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "266f490e5364e72650ae56a41c325229066f28066854701e46093ab87648de51", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/security_policies", + "name": "plugins/module_utils/network/junos/argspec/l2_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/security_policies/security_policies.py", + "name": "plugins/module_utils/network/junos/argspec/l2_interfaces/l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4da59c067f1b71ae1e75503d98915d568b8f798a7da1cf4136f3065a674df9c3", + "chksum_sha256": "efbd8b98fa5da8778f43d3a6d3cc0c014fe93b2f7880f4114b794e351cba2b9b", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/security_policies/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/l2_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lldp_global", + "name": "plugins/module_utils/network/junos/argspec/lag_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lldp_global/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/lag_interfaces/lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "51e2ede7acfbd40fe4f8d1a8a2bdf6fdfdaecd213e213da7f25e659772166ee6", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lldp_global/lldp_global.py", + "name": "plugins/module_utils/network/junos/argspec/lag_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f501b9cddefef6a0be35a982dc1f49d0f6721ed06e71a16a369dac9eff0593f9", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/routing_options", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/argspec/routing_options/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/snmp_server", + "name": "plugins/module_utils/network/junos/argspec/routing_options/routing_options.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "24b6905c1d2720142bfa1f3643afd9d1087640fea46b7bd2a9ecb847fe2bf2be", + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/argspec/hostname", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/snmp_server/snmp_server.py", + "name": "plugins/module_utils/network/junos/argspec/hostname/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f1987ea2bf63d532ac4f194ffe2df4eeb2c2eec4856b9b9bc27741c47a539e6b", + "chksum_sha256": "bc0972c01a77f54216305610589d3bd2c2be035084c2a895859ce83b80fc016b", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/snmp_server/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/hostname/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/facts", + "name": "plugins/module_utils/network/junos/argspec/lldp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/facts/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/lldp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/facts/facts.py", + "name": "plugins/module_utils/network/junos/argspec/lldp_interfaces/lldp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "588316eb871e9a00db5269adf4d4f67ca2cf467e0699eeef0844e75b40de6953", + "chksum_sha256": "401c26d38a8a470e9946bb6c743196681ecc97054feca043af0744f69343d27a", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/security_zones", + "name": "plugins/module_utils/network/junos/argspec/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/argspec/lldp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/security_zones/security_zones.py", + "name": "plugins/module_utils/network/junos/argspec/lldp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b74961352f230df3c0fc3d1c8d031fe4f9abb6e5182620c22955fabe0afcba6c", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/security_zones/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/lldp_global/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "f501b9cddefef6a0be35a982dc1f49d0f6721ed06e71a16a369dac9eff0593f9", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lacp_interfaces", + "name": "plugins/module_utils/network/junos/argspec/snmp_server", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lacp_interfaces/lacp_interfaces.py", + "name": "plugins/module_utils/network/junos/argspec/snmp_server/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8c0c308e2b451d3f2b8ab8ba9e44b6bb4909e08c454f6b06fa2ebe55a375b8ad", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lacp_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/snmp_server/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "f1987ea2bf63d532ac4f194ffe2df4eeb2c2eec4856b9b9bc27741c47a539e6b", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/acls", + "name": "plugins/module_utils/network/junos/argspec/prefix_lists", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/acls/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/prefix_lists/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/acls/acls.py", + "name": "plugins/module_utils/network/junos/argspec/prefix_lists/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7101b7be0a51fe637423985da6fb810432950ad33eea1c42e389ea0f409c1f65", + "chksum_sha256": "b8ab0bb2961d97dac8d7d9e947058528e9d31dcad8ec210c6d0e63ecb0cd428c", "format": 1 }, { @@ -1520,283 +1667,304 @@ "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lag_interfaces", + "name": "plugins/module_utils/network/junos/argspec/security_policies_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lag_interfaces/lag_interfaces.py", + "name": "plugins/module_utils/network/junos/argspec/security_policies_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "51e2ede7acfbd40fe4f8d1a8a2bdf6fdfdaecd213e213da7f25e659772166ee6", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/lag_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/security_policies_global/security_policies_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "e29761490c30f4dd7fbbec8289646e48ab9c4758811ef365d02b749b9599e289", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/routing_instances", + "name": "plugins/module_utils/network/junos/argspec/security_policies", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/routing_instances/routing_instances.py", + "name": "plugins/module_utils/network/junos/argspec/security_policies/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3ec4d7437cc5586002d8cf9b449e7428a395880b02f13d178762cde6dd78deaa", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/routing_instances/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/security_policies/security_policies.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "4da59c067f1b71ae1e75503d98915d568b8f798a7da1cf4136f3065a674df9c3", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/vlans", + "name": "plugins/module_utils/network/junos/argspec/facts", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/vlans/vlans.py", + "name": "plugins/module_utils/network/junos/argspec/facts/facts.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fccebb67c15266353af3b4b8438c50452a76246a84847561429f68bb299f48df", + "chksum_sha256": "588316eb871e9a00db5269adf4d4f67ca2cf467e0699eeef0844e75b40de6953", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/vlans/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/facts/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/interfaces", + "name": "plugins/module_utils/network/junos/argspec/l3_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/interfaces/interfaces.py", + "name": "plugins/module_utils/network/junos/argspec/l3_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0afa05ec549bc39da1392a7432968c280a626e0da14e12a0e27e07098a6ed32d", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/l3_interfaces/l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "5918147337a997c12a473049b3672f0f941cc9129b103df578c8ad7627582dcd", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/l3_interfaces", + "name": "plugins/module_utils/network/junos/argspec/acls", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/l3_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/acls/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/l3_interfaces/l3_interfaces.py", + "name": "plugins/module_utils/network/junos/argspec/acls/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5918147337a997c12a473049b3672f0f941cc9129b103df578c8ad7627582dcd", + "chksum_sha256": "7101b7be0a51fe637423985da6fb810432950ad33eea1c42e389ea0f409c1f65", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/bgp_global", + "name": "plugins/module_utils/network/junos/argspec/security_zones", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/bgp_global/bgp_global.py", + "name": "plugins/module_utils/network/junos/argspec/security_zones/security_zones.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "007454b80cb74ab2649da400a2096b3d7567334823f989f4a9267ea946268ca3", + "chksum_sha256": "b74961352f230df3c0fc3d1c8d031fe4f9abb6e5182620c22955fabe0afcba6c", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/bgp_global/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/security_zones/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/security_policies_global", + "name": "plugins/module_utils/network/junos/argspec/bgp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/security_policies_global/security_policies_global.py", + "name": "plugins/module_utils/network/junos/argspec/bgp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e29761490c30f4dd7fbbec8289646e48ab9c4758811ef365d02b749b9599e289", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/security_policies_global/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/bgp_global/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "007454b80cb74ab2649da400a2096b3d7567334823f989f4a9267ea946268ca3", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/routing_options", + "name": "plugins/module_utils/network/junos/argspec/static_routes", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/routing_options/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/static_routes/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/argspec/routing_options/routing_options.py", + "name": "plugins/module_utils/network/junos/argspec/static_routes/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24b6905c1d2720142bfa1f3643afd9d1087640fea46b7bd2a9ecb847fe2bf2be", + "chksum_sha256": "981e24f69455e6598b73620e9a3a46a6a38e92cd5d249650586641d26338cca1", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config", + "name": "plugins/module_utils/network/junos/argspec/logging_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/bgp_address_family", + "name": "plugins/module_utils/network/junos/argspec/logging_global/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/argspec/logging_global/logging_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "15ed3daf016f8c316e016dfce6a3059984820e84861c5a50b2cd7251cc2a4ed0", + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/argspec/ospf_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py", + "name": "plugins/module_utils/network/junos/argspec/ospf_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4308d40aae3f14befe52481b514fd615533e613ac280452d9b5836f487c516c6", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/bgp_address_family/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/ospf_interfaces/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "27e83e48f119c26a0650d59424b48d594f948c6fc63de6d05eca17c388ffe2f4", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/static_routes", + "name": "plugins/module_utils/network/junos/argspec/bgp_address_family", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/static_routes/static_routes.py", + "name": "plugins/module_utils/network/junos/argspec/bgp_address_family/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "52ea908dc9603575564bc5edff65bc7cfbd18a89e7fa2ec1f826b955cfe891fc", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/static_routes/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/bgp_address_family/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "631e77bbb41f6bbb34bef7e0a1635413911fd4744a595060296f861dc63d2864", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/prefix_lists", + "name": "plugins/module_utils/network/junos/argspec/vlans", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/prefix_lists/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/vlans/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py", + "name": "plugins/module_utils/network/junos/argspec/vlans/vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "13a5dfa46801532d713b03b325b8d250a58a7e78d555f421d77d20aef67514f9", + "chksum_sha256": "fccebb67c15266353af3b4b8438c50452a76246a84847561429f68bb299f48df", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/hostname", + "name": "plugins/module_utils/network/junos/argspec/lacp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/hostname/hostname.py", + "name": "plugins/module_utils/network/junos/argspec/lacp_interfaces/lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "98909f99f52710bb239f512f01368d1ed562c6596f9f85ddd4eb9a36d9e7bade", + "chksum_sha256": "8c0c308e2b451d3f2b8ab8ba9e44b6bb4909e08c454f6b06fa2ebe55a375b8ad", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/hostname/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/lacp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/lldp_interfaces", + "name": "plugins/module_utils/network/junos/argspec/ospfv3", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/lldp_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/argspec/ospfv3/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/lldp_interfaces/lldp_interfaces.py", + "name": "plugins/module_utils/network/junos/argspec/ospfv3/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9a3c3e3e17f83895459b7052b2a1baf96461a0efa68362f581f6b012f62617d2", + "chksum_sha256": "6f6baae6c8d0cd7a42d175f8237a94d49bbc748da8f39fe30d78db52e4bce753", + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/config", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { @@ -1842,241 +2010,241 @@ "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/logging_global", + "name": "plugins/module_utils/network/junos/config/interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/logging_global/__init__.py", + "name": "plugins/module_utils/network/junos/config/interfaces/interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "857fd6a70790d54f80a14dfff735c5f345384b6d3a1381877e55f25b257d34bd", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/logging_global/logging_global.py", + "name": "plugins/module_utils/network/junos/config/interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1c182a0fa2fd2e54191755a18dc30685d0f88d819b2720121bc6fde3a27e6151", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/ospfv3", + "name": "plugins/module_utils/network/junos/config/routing_instances", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/ospfv3/__init__.py", + "name": "plugins/module_utils/network/junos/config/routing_instances/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/ospfv3/ospfv3.py", + "name": "plugins/module_utils/network/junos/config/routing_instances/routing_instances.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "69511d8d9cf8e1ed95a1deca6b0785e4b804abcbec8cc28f6283426325e990ee", + "chksum_sha256": "88b3847a6ee2218f3ce31258a38f70b295860bfbc2844117835ea1b0e749e4fb", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/l2_interfaces", + "name": "plugins/module_utils/network/junos/config/acl_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/l2_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/config/acl_interfaces/acl_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "36738fa182091a428361f018a5864a84410880df76c21739d170e943339e3850", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py", + "name": "plugins/module_utils/network/junos/config/acl_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a029d1415f0f0274c245c810123c678bf53766d1fc530744685fc59adb452ac4", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/ospf_interfaces", + "name": "plugins/module_utils/network/junos/config/l2_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/ospf_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/config/l2_interfaces/l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "a029d1415f0f0274c245c810123c678bf53766d1fc530744685fc59adb452ac4", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py", + "name": "plugins/module_utils/network/junos/config/l2_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "934eeadc92217fb3ee73af6d2ed6a0b8c79f2783be9a521a71b8811200c2dd58", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/acl_interfaces", + "name": "plugins/module_utils/network/junos/config/lag_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/acl_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/config/lag_interfaces/lag_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "c76ba50fb43d6b0eb0ba7f2a56b9ac00c2cb3ef36200ee62394efdedb1d013de", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/acl_interfaces/acl_interfaces.py", + "name": "plugins/module_utils/network/junos/config/lag_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "36738fa182091a428361f018a5864a84410880df76c21739d170e943339e3850", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/security_policies", + "name": "plugins/module_utils/network/junos/config/routing_options", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/security_policies/security_policies.py", + "name": "plugins/module_utils/network/junos/config/routing_options/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2451ab92b864c21ba4c18496f19918e1cfe489352069a91751d8de29bcd53bf7", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/security_policies/__init__.py", + "name": "plugins/module_utils/network/junos/config/routing_options/routing_options.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "b3b8a5fae686977942fb4b15bec1ef5c42d6744d6fb4992d3a64b0694b5e562f", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/lldp_global", + "name": "plugins/module_utils/network/junos/config/hostname", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/lldp_global/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "plugins/module_utils/network/junos/config/lldp_global/lldp_global.py", + "name": "plugins/module_utils/network/junos/config/hostname/hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8a6ed296e35769df250c928d886ffc424786404dabe4887034b3d1cef6e14c6b", + "chksum_sha256": "98909f99f52710bb239f512f01368d1ed562c6596f9f85ddd4eb9a36d9e7bade", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/__init__.py", + "name": "plugins/module_utils/network/junos/config/hostname/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/snmp_server", + "name": "plugins/module_utils/network/junos/config/lldp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/snmp_server/snmp_server.py", + "name": "plugins/module_utils/network/junos/config/lldp_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7b80f5408c52240d700225b34c0bf78706628e4700b431582b6a491a8a0abc94", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/snmp_server/__init__.py", + "name": "plugins/module_utils/network/junos/config/lldp_interfaces/lldp_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9a3c3e3e17f83895459b7052b2a1baf96461a0efa68362f581f6b012f62617d2", + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/config/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/security_zones", + "name": "plugins/module_utils/network/junos/config/lldp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/security_zones/security_zones.py", + "name": "plugins/module_utils/network/junos/config/lldp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9721187f918f026b804f3df3b2ff2b7ad8f720ecd34c94b976473e9e86b9dffa", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/security_zones/__init__.py", + "name": "plugins/module_utils/network/junos/config/lldp_global/lldp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "b467342f8ebfd8f1d582be0c0d3957608d3d5b35b440d0bef05b9adbb41deaf0", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/lacp_interfaces", + "name": "plugins/module_utils/network/junos/config/snmp_server", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/lacp_interfaces/lacp_interfaces.py", + "name": "plugins/module_utils/network/junos/config/snmp_server/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "56b3b18fad45f4f6714f9c8dfc2e79baac8f8261733e7f5170100f1c54e4be2c", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/lacp_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/config/snmp_server/snmp_server.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "7b80f5408c52240d700225b34c0bf78706628e4700b431582b6a491a8a0abc94", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/acls", + "name": "plugins/module_utils/network/junos/config/prefix_lists", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/acls/__init__.py", + "name": "plugins/module_utils/network/junos/config/prefix_lists/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/acls/acls.py", + "name": "plugins/module_utils/network/junos/config/prefix_lists/prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8d197fbe7a69f86c9ee4b9a2999f982c3d87c1f7f99db09a8c4acb897b876b17", + "chksum_sha256": "13a5dfa46801532d713b03b325b8d250a58a7e78d555f421d77d20aef67514f9", "format": 1 }, { @@ -2101,108 +2269,108 @@ "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/lag_interfaces", + "name": "plugins/module_utils/network/junos/config/security_policies_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/lag_interfaces/lag_interfaces.py", + "name": "plugins/module_utils/network/junos/config/security_policies_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c76ba50fb43d6b0eb0ba7f2a56b9ac00c2cb3ef36200ee62394efdedb1d013de", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/lag_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "5fb29cb28786698f38ae92f3814bb006d4599ff254e8e16244b6dacbfc5b3593", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/routing_instances", + "name": "plugins/module_utils/network/junos/config/security_policies", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/routing_instances/routing_instances.py", + "name": "plugins/module_utils/network/junos/config/security_policies/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "88b3847a6ee2218f3ce31258a38f70b295860bfbc2844117835ea1b0e749e4fb", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/routing_instances/__init__.py", + "name": "plugins/module_utils/network/junos/config/security_policies/security_policies.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "2451ab92b864c21ba4c18496f19918e1cfe489352069a91751d8de29bcd53bf7", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/vlans", + "name": "plugins/module_utils/network/junos/config/l3_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/vlans/vlans.py", + "name": "plugins/module_utils/network/junos/config/l3_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "32cd48bd67e3f40e715f4086aa7136b5370fe4d4715bec3d64fb1737b3f7f1e8", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/vlans/__init__.py", + "name": "plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "b988ee89f60461fc8fa8bac746c7b7c2e929482e5ce7808b3bfebffb1a1ee89e", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/interfaces", + "name": "plugins/module_utils/network/junos/config/acls", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/interfaces/interfaces.py", + "name": "plugins/module_utils/network/junos/config/acls/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "857fd6a70790d54f80a14dfff735c5f345384b6d3a1381877e55f25b257d34bd", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/config/acls/acls.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "8d197fbe7a69f86c9ee4b9a2999f982c3d87c1f7f99db09a8c4acb897b876b17", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/l3_interfaces", + "name": "plugins/module_utils/network/junos/config/security_zones", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/l3_interfaces/__init__.py", + "name": "plugins/module_utils/network/junos/config/security_zones/security_zones.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "9721187f918f026b804f3df3b2ff2b7ad8f720ecd34c94b976473e9e86b9dffa", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/l3_interfaces/l3_interfaces.py", + "name": "plugins/module_utils/network/junos/config/security_zones/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b988ee89f60461fc8fa8bac746c7b7c2e929482e5ce7808b3bfebffb1a1ee89e", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { @@ -2213,962 +2381,1025 @@ "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/bgp_global/bgp_global.py", + "name": "plugins/module_utils/network/junos/config/bgp_global/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "088176cf61f0f690047e9aa818ad9ab62b5033c55a8e141823992aa97e9679dc", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/bgp_global/__init__.py", + "name": "plugins/module_utils/network/junos/config/bgp_global/bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "088176cf61f0f690047e9aa818ad9ab62b5033c55a8e141823992aa97e9679dc", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/security_policies_global", + "name": "plugins/module_utils/network/junos/config/static_routes", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/security_policies_global/security_policies_global.py", + "name": "plugins/module_utils/network/junos/config/static_routes/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5fb29cb28786698f38ae92f3814bb006d4599ff254e8e16244b6dacbfc5b3593", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/security_policies_global/__init__.py", + "name": "plugins/module_utils/network/junos/config/static_routes/static_routes.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "52ea908dc9603575564bc5edff65bc7cfbd18a89e7fa2ec1f826b955cfe891fc", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/routing_options", + "name": "plugins/module_utils/network/junos/config/logging_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/routing_options/__init__.py", + "name": "plugins/module_utils/network/junos/config/logging_global/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/config/routing_options/routing_options.py", + "name": "plugins/module_utils/network/junos/config/logging_global/logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b3b8a5fae686977942fb4b15bec1ef5c42d6744d6fb4992d3a64b0694b5e562f", + "chksum_sha256": "1c182a0fa2fd2e54191755a18dc30685d0f88d819b2720121bc6fde3a27e6151", "format": 1 }, { - "name": "plugins/module_utils/network/junos/utils", + "name": "plugins/module_utils/network/junos/config/ospf_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/network/junos/utils/__init__.py", + "name": "plugins/module_utils/network/junos/config/ospf_interfaces/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/junos/utils/utils.py", + "name": "plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d939568e6cc51b1dfecd971faef5c5b5daf45489d9ebf3f1ff1867670d5a32ea", + "chksum_sha256": "6c8e048532e8e0aa3c221403db5e3c1f6b92b8f40ad2bf932aeb1a979c507b33", "format": 1 }, { - "name": "plugins/module_utils/network/junos/junos.py", + "name": "plugins/module_utils/network/junos/config/bgp_address_family", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/config/bgp_address_family/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "601f3146a98848d7acb795387f1f8541fd48d2bcca060e1eacfa07e3e36e9a04", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/module_utils/network/__init__.py", + "name": "plugins/module_utils/network/junos/config/bgp_address_family/bgp_address_family.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "4308d40aae3f14befe52481b514fd615533e613ac280452d9b5836f487c516c6", "format": 1 }, { - "name": "plugins/action", + "name": "plugins/module_utils/network/junos/config/vlans", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/action/__init__.py", + "name": "plugins/module_utils/network/junos/config/vlans/__init__.py", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "plugins/action/junos.py", + "name": "plugins/module_utils/network/junos/config/vlans/vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "52e64984062ae3aa70c21154f4d94edfcb7f728080a4781e0e85b984e424a6b4", + "chksum_sha256": "32cd48bd67e3f40e715f4086aa7136b5370fe4d4715bec3d64fb1737b3f7f1e8", "format": 1 }, { - "name": "test-requirements.txt", + "name": "plugins/module_utils/network/junos/config/lacp_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "plugins/module_utils/network/junos/config/lacp_interfaces/lacp_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "252dc496236f786a9c503a0e569eff6990316b93d55bd58bf4a34cde2404c59a", + "chksum_sha256": "56b3b18fad45f4f6714f9c8dfc2e79baac8f8261733e7f5170100f1c54e4be2c", "format": 1 }, { - "name": "tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/module_utils/network/junos/config/lacp_interfaces/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/sanity", + "name": "plugins/module_utils/network/junos/config/ospfv3", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/sanity/ignore-2.9.txt", + "name": "plugins/module_utils/network/junos/config/ospfv3/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "62a30515d429b76a520669490ac361db7634ee3252dd907cbbec7ccadcd061bd", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/sanity/ignore-2.13.txt", + "name": "plugins/module_utils/network/junos/config/ospfv3/ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "18bf204fc6f6e08b0c20807cd7974995ed92b7d77df238e11ca5f3116c537e29", + "chksum_sha256": "69511d8d9cf8e1ed95a1deca6b0785e4b804abcbec8cc28f6283426325e990ee", "format": 1 }, { - "name": "tests/sanity/ignore-2.11.txt", + "name": "plugins/module_utils/network/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "18bf204fc6f6e08b0c20807cd7974995ed92b7d77df238e11ca5f3116c537e29", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/sanity/ignore-2.10.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "18bf204fc6f6e08b0c20807cd7974995ed92b7d77df238e11ca5f3116c537e29", + "name": "plugins/terminal", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/sanity/ignore-2.14.txt", + "name": "plugins/terminal/junos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "18bf204fc6f6e08b0c20807cd7974995ed92b7d77df238e11ca5f3116c537e29", + "chksum_sha256": "7a753a93aab66c8d3aa61ffbc0a3cffa9a4c19b60b04e281fffd4a028ee025e5", "format": 1 }, { - "name": "tests/sanity/ignore-2.17.txt", + "name": "plugins/terminal/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "18bf204fc6f6e08b0c20807cd7974995ed92b7d77df238e11ca5f3116c537e29", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/sanity/ignore-2.16.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "18bf204fc6f6e08b0c20807cd7974995ed92b7d77df238e11ca5f3116c537e29", + "name": "plugins/cliconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/sanity/ignore-2.12.txt", + "name": "plugins/cliconf/junos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "18bf204fc6f6e08b0c20807cd7974995ed92b7d77df238e11ca5f3116c537e29", + "chksum_sha256": "4852fb7d85e4de7c21e54c0001c9c12d7dd5176214e5c026b1bdc509235bab4f", "format": 1 }, { - "name": "tests/sanity/ignore-2.15.txt", + "name": "plugins/cliconf/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "18bf204fc6f6e08b0c20807cd7974995ed92b7d77df238e11ca5f3116c537e29", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit", + "name": "plugins/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/requirements.txt", + "name": "plugins/netconf/junos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "49ba996dc4735c3463e9af561344346dfae14bcc1a68096ce78364b377f0df1f", + "chksum_sha256": "0748873fbfd215ae3a28d9c12bc28cba70f3b2892afb054ac3f1935250663900", "format": 1 }, { - "name": "tests/unit/plugins", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/netconf/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/terminal", + "name": "meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/terminal/test_junos.py", + "name": "meta/runtime.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0c1a68c4e3aa8f143a63f903461ac72b7db68911ec8800961455f6d68c5c7ffb", + "chksum_sha256": "1f9d4c73f9cdb6e1a884268f3b7d99b1faa800baca49d80573d2e353ea5ee9a1", "format": 1 }, { - "name": "tests/unit/plugins/terminal/__init__.py", + "name": ".ansible-lint", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "b47f72e159f93a5ff07ea2534752e0fa977b214e9ac05c667fa83ac13be4e50c", "format": 1 }, { - "name": "tests/unit/plugins/__init__.py", + "name": ".pre-commit-config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "b36d46358b1a4976ee1de8c87caacc0583892e9af5502a8fdeaac85a7f506dd5", "format": 1 }, { - "name": "tests/unit/__init__.py", + "name": "pyproject.toml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "1cb6a45dfa2625123890b93ad7fdc156b063c16e8ae6dba11511a1d1986b0fcc", "format": 1 }, { - "name": "tests/unit/mock", + "name": "README.md", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "bff6b3d03bfe295730df451e2c9233a6c7220ed01371c39d43401133609a1416", + "format": 1 + }, + { + "name": "changelogs", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/mock/vault_helper.py", + "name": "changelogs/fragments", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "changelogs/fragments/.keep", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "55bd0e924dcc22d050612c944bff0ef745e51faac9260dce9b9b2018c4c8a661", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/mock/__init__.py", + "name": "changelogs/config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "5cfa2df4e55abdedbdf6786d3152af410249523c96a41f89a34be3510af3395e", "format": 1 }, { - "name": "tests/unit/mock/procenv.py", + "name": "changelogs/changelog.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0060a3b1408dd90d8da17535f812a7273f84b73bc8cc96b311b5adee393ec465", + "chksum_sha256": "ef815167824e67f5f79bacc0fe38eca3a8a9f6bd2ff0d4ae32100a1c1295d4d9", "format": 1 }, { - "name": "tests/unit/mock/loader.py", + "name": ".isort.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2343d1f644250d4b616f0bf0a826fdee8fe306243d8412d44dd0e033352b262b", + "chksum_sha256": "9a0037e12d4e5d11a360d4522e64be506299bad16812825ebd7b5f0be9918524", "format": 1 }, { - "name": "tests/unit/mock/yaml_helper.py", + "name": ".yamllint", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "134eef238c83a9611799871b743e49e9bfbcd8bdddf2cc6a7bf69fd1000345b3", + "chksum_sha256": "827ef9e031ecdcaf137be239d33ef93fcbbc3611cbb6b30b0e507d0e03373d0e", "format": 1 }, { - "name": "tests/unit/mock/path.py", + "name": "test-requirements.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a402ff41d20717a59a59e360966df71293571ff7bab36af7d55ab3bdcbda0014", + "chksum_sha256": "93efb16371b32630b2f25924dc7aae81c2ae1c0a20b568c457019a14bae135bf", "format": 1 }, { - "name": "tests/unit/modules", + "name": ".prettierignore", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5c227902cb92d03412c05c2fd86d8aa4f5d32afddbd718da067b02a3eef4b358", + "format": 1 + }, + { + "name": "tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "name": "tests/integration", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/conftest.py", + "name": "tests/integration/target-prefixes.network", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e0ae70fa7c2a5e56d7f02a47c3602398cff60c8eb021772ac59a76df2a234048", + "chksum_sha256": "e3f98508805af0da212b0fd104e964e875cc1964a31ed0e264fad016ac56f037", "format": 1 }, { - "name": "tests/unit/modules/utils.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6e21e604a63f7e84baf5dc408224b29638864242d11c0ccac4e56a8e2f1f5d15", + "name": "tests/integration/targets", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network", + "name": "tests/integration/targets/junos_security_zones", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos", + "name": "tests/integration/targets/junos_security_zones/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_scp.py", + "name": "tests/integration/targets/junos_security_zones/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "86a1def96c1f37faf45f72d304748b6123642646f1c9b264e9539582d2a04470", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_security_policies.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c411890cbe802c15cc841d2f783b476f2c49825c866a0ebf9dabc6b0fb7ae531", + "name": "tests/integration/targets/junos_security_zones/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_ntp_global.py", + "name": "tests/integration/targets/junos_security_zones/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2dc3549e0cfdb401166bc9c3a112a7202ad0ed55f340fef23d795db97ada6445", + "chksum_sha256": "af63125e0d6fbca0f844ff71b1f26210c452ad70cd094931bf0a177e1ddd73f7", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_l3_interfaces.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7d2db61567220c96e4887bd3383d25631bd759b0e22757e2b1a8c27aa1d0f214", + "name": "tests/integration/targets/junos_security_zones/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_facts.py", + "name": "tests/integration/targets/junos_security_zones/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "12a78a7e5aef66b5eea9e60ef9f48140ed96384f712a980126b5d9f4d78dc218", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_hostname.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cb1d2e7cae039c517d42c1e1d328ce004f7a9c78cb3bfcdde3dabc60bbf161a0", + "name": "tests/integration/targets/junos_security_zones/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_ospf_interfaces.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "987a7c3d65d856973d8c775225d23da22b5cdfe2ebf4aef39300b177f57f45a7", + "name": "tests/integration/targets/junos_security_zones/tests/netconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_routing_options.py", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "66303035081d82b0e2eae079f9a826d5be699cdf4485381c012431dfb77a50d5", + "chksum_sha256": "8a7c2f670c6bc9435a0bd6eca8d81fdbd924cf4140c149c11a1b5623709d7dea", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_snmp_server.py", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "722ef94abda593d283489624726c0c994eceb42e8f45ef1a219264ce88bb15fe", + "chksum_sha256": "0b0a4ab8f0b94769621bd3585b2338252acb7bb110fba2eaa0033eee5c669d48", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_ospfv3.py", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b70336d1f08b0bebff0e06bfd07f9909d7004c8157facb0afd36e81517a394a5", + "chksum_sha256": "8cc511b2192c8ed212733f44b30dc4ed907865504d862ef3701150be9366cc41", "format": 1 }, { - "name": "tests/unit/modules/network/junos/__init__.py", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "8ac531e0078326b78ed040e715ced5c69a57266a7ba0f8e878b5a132b3268a16", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_ping.py", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "598585442aa7c45c51a328d1767bdfe554b9efa0f88108312699c597e1860f57", + "chksum_sha256": "29fb25dec128037263716c898deb0aaeb5aca9b98b069a7a4c3d0b941417f57b", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_ospfv2.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5bc7a90753a688333f39f6482b7ea4ca49c887939a6fe9eb3d8df9a773ffd68d", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/fixtures", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_vlans.py", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "623946836ebc7547eea1151c17dc3baf22214108db1c339ffa0936e75eb3b002", + "chksum_sha256": "72a5d8773cfbf73e55a219ddd23fc03d5698af853088f5087cb9d3916a7e2743", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_bgp_address_family.py", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "07f74b42154bbc08b9d6d6800070b83627b6225107a1b3fbe4b792cff611d2c1", + "chksum_sha256": "ae8d6e41134cd6292e031bde0a1e41390a0877b7a8aa2609b0611d21f8c92dd7", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_bgp_global.py", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/rtt.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0bd60871d00cd1630ce390242532897ecdd0d778bdf22d5f40070b752aba8a40", + "chksum_sha256": "8610a0f4f2176625cff923f881740f3834ae1e11eb3707ee655a9a5bc28f66ec", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_package.py", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/_initial_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e68ac4279a6613f90c8fd53cd0d42fefb661f8504bf44c841314a010dcd87249", + "chksum_sha256": "97f5b6df3ba9463c6bffe711cf66d9f7ee8efeb65f153e4b47de128dc68e6a48", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_l2_interfaces.py", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5dc8d64fcad89065457b3b2ba60029ef87cecd2c61283e13d98c7655c39a3325", + "chksum_sha256": "8d240f3c782eef1fd316414e92647db865fd6d8f416f4444f9c9fc13626703f3", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_netconf.py", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2482f6a254651cd65365975d516df3dabc36dabb335e01b78a743596ad357f1c", + "chksum_sha256": "8d829c21014964be69edddccf727e72f3e20c6e97019bede439270ad4f5edcc5", "format": 1 }, { - "name": "tests/unit/modules/network/junos/junos_module.py", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "77b38ebd0d49b8a6297e4f186dab942d645747a40ee376a6422e4cb1e465593e", + "chksum_sha256": "f7a29442765f7f3776e1b43980900eb7f2ebe5d17904e3fc36c601c41b7d28fb", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_security_zones.py", + "name": "tests/integration/targets/junos_security_zones/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24102393aa0eae8c5db9e6daf1ccbcfdf01a6862e2db2bb24f549d4ea4c9ae81", + "chksum_sha256": "76407a5ce6e30b3b6bf16b5ae782d4fd7a0b92ae49ef92a7b77c755bbcbe2969", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_routing_instances.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f57731c928380c9a8ca2f09710f64f5c147809f9e8e9e766dd760a6e9146ba26", + "name": "tests/integration/targets/junos_security_zones/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_interfaces.py", + "name": "tests/integration/targets/junos_security_zones/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d666cca7056d62e78df27ccbb5d5f172ca4b24a8694a79e1fedec943bd537f7f", + "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_command.py", + "name": "tests/integration/targets/junos_security_zones/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c3bd50b38ae745e2d13c3dde3a0196cff99cdc61474fefeb81e8f11d20e370b4", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_logging_global.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "dad36e0bafdcec3bde8808b305f972f1a2e19cddd5b4ebcb1bd65d1097ab4490", + "name": "tests/integration/targets/junos_routing_instances", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_security_policies_global.py", + "name": "tests/integration/targets/junos_routing_instances/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_routing_instances/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "026e23b951c6f79e30b389efad8874eb4c59f751829e5df870f489e12567383b", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures", + "name": "tests/integration/targets/junos_routing_instances/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_routing_instances_config.cfg", + "name": "tests/integration/targets/junos_routing_instances/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9492071c37154f5769046e38477904bf0829498697f3c2b4fd0b214ef14a27da", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/get_configuration_rpc_reply_xml.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9646d44347455a648826a01a979a033c85488b33f0663ef83a1602f98a3eabd0", + "name": "tests/integration/targets/junos_routing_instances/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/load_configuration_xml.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b9095b5352838f46207fca0046504e331c8d370dc85332520ccc0247028479f9", + "name": "tests/integration/targets/junos_routing_instances/tests/netconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/get_configuration_rpc_reply_text.txt", + "name": "tests/integration/targets/junos_routing_instances/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b8288d3ef161c912a6016c1979234cfb8061d730f90ad6cac8a55de097d5ea1c", + "chksum_sha256": "707b5d9aa8e023d22f7ea57a1cce39fe05c6079f01c69dfe0d6312b76363cdba", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_config.set", + "name": "tests/integration/targets/junos_routing_instances/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "533fb52817ff0c37cf4de7ad9fee8fb63587882fccfdbcd1f6a928b5f4ac0165", + "chksum_sha256": "41158fc9c9c801d84be463ea99b38536554851c6a8a4427a333793b78b542869", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/show_version_json.txt", + "name": "tests/integration/targets/junos_routing_instances/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "00d9dd3100b96e96a6692f58f5d3a792275f1703a64acdbddf69601a7c93834c", + "chksum_sha256": "4245f6c677e2c7abffa6c8be158ba432af572304448f2f7baa8156e107938c86", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/show_interfaces_details_xml.txt", + "name": "tests/integration/targets/junos_routing_instances/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5da1160ee1c09d42921f8664244e49c31ac21bf2b784e94794b4f134a36af4ed", + "chksum_sha256": "a8d2acc111a2980a9bc317bac9d08c68230f8b44cef3ffb56b516c0a71596bc1", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_config.text", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "52acbee815525e2a4ce9fca63c85297c52a32a0d6957c41bc3f37c3b90b4ae3b", + "name": "tests/integration/targets/junos_routing_instances/tests/netconf/fixtures", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/show_system_memory_xml.txt", + "name": "tests/integration/targets/junos_routing_instances/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "962e8ea71a1ac6eb59d63e094f6fdc59afa2906c2d566a6f6092a8ec5e3f8e6f", + "chksum_sha256": "049f649304e92c13c8f5e6d00b7deeac4bd7dd1c3b14321407a46ee15863d544", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_routing_options_config.cfg", + "name": "tests/integration/targets/junos_routing_instances/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "28bb98e8ecfb270479852cb8a0ab34c6e6362ec60e7858f64bd4843c76d548b7", + "chksum_sha256": "7f82e8795705fb9302d04f74dcce0137f7a8788c9c85eb2379ca6acdae0482d6", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_ping_ping_10.10.10.11_count_5_size_512_interval_2", + "name": "tests/integration/targets/junos_routing_instances/tests/netconf/_initial_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2dc39ef974356df3ba62871556a0253541b5fad3cad4e3ff1ea3d69101b6ad43", + "chksum_sha256": "618fd41de1d2ba07af50f84e9e7e25ffee98121299422765bbd6a4cd43ea615c", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_bgp_global_config.cfg", + "name": "tests/integration/targets/junos_routing_instances/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8951ff0e1a3b6d71c64c3c00e22d6a9abf665c4ba9cc9ac55aa3f2fc487c7a22", + "chksum_sha256": "8ba46007f3628fbe6ee4591f4ad6b279f6f19ac5d91248ff4cec5fee3a3be931", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/show_system_storage_xml.txt", + "name": "tests/integration/targets/junos_routing_instances/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "95430aab542287c13556d64fedaa017250d82bcd09bd9fcca6f7439838d9af7f", + "chksum_sha256": "d32cbe476e915ccf76733adf534ccf9309395d6799353ef8aed11b3fbd6ca301", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_prefix_lists_config.cfg", + "name": "tests/integration/targets/junos_routing_instances/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bbb29c36dc361586ea1762fbb6f8ded0716e7046e0b3ab5022b3c96ba4b45dce", + "chksum_sha256": "e4083fb5493628e48734ba76d4cf99b1f4e7fe815a6aa18f740e6021310a1f3f", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_ospfv2.cfg", + "name": "tests/integration/targets/junos_routing_instances/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0fb6b3eba75e5cf010f196a9f376f6d890508caa25726faeeec3cf0b8120579c", + "chksum_sha256": "2629804c535bb7e552f7d44b7ffced5fa494809e44aa0a016dd4bea636741c08", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_bgp_global.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7b3b18f683207cb7d272bbc509b50c37eda8b58dc6cfe4aa04978241a32c802b", + "name": "tests/integration/targets/junos_routing_instances/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_bgp_address_family_config.cfg", + "name": "tests/integration/targets/junos_routing_instances/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c0bf370e7a4fd2b80232065fd7c03cfc5ef7aaecc5597a7d8e6e45dda8301dee", + "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_logging_global_config.cfg", + "name": "tests/integration/targets/junos_routing_instances/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0536991827ef435cce6176c19a2fd1f906673459e231018172247fac6f606f7b", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/__init__.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "name": "tests/integration/targets/junos_user", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_ping_ping_10.10.10.10_count_2", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "45b8dcf26e3f693cbfd5e66a886f6c42c8427844e62cc3fee6fa02950c80e832", + "name": "tests/integration/targets/junos_user/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_ospf_interfaces.cfg", + "name": "tests/integration/targets/junos_user/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "50828852d511aafe1ec8580f427386ded914d7cfcd79fe6ccaadab5f8128164a", + "chksum_sha256": "58c4318f7d20aff7df7bc4267d1f9fe62a4333a9012420e84274b35d4adf1b26", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_config.json", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "38efed50de799e3f3a85e4609ee840ad8dd285d1e59d2c21d30dacbb136e85b7", + "name": "tests/integration/targets/junos_user/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/get_configuration_rpc_reply_set.txt", + "name": "tests/integration/targets/junos_user/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0b9e2ca1106615a162444ab130bdeb6c56f601e617060022b96ad5ff2311d0d6", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/show_chassis_hardware_xml.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "d6d686902c059632720826594a665ebdda8cfe166ec082796ae56da11d64e421", + "name": "tests/integration/targets/junos_user/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_interfaces_config.xml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e0dcf81fecfea2443b931ea13585c90f86328910b71285add801bda7265c3636", + "name": "tests/integration/targets/junos_user/tests/netconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/get_configuration_rpc_reply_diff.txt", + "name": "tests/integration/targets/junos_user/tests/netconf/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3c61cfce095ac967c024d72f88f3f6fb02d8597af464fe68aed4e19ee125fa0a", + "chksum_sha256": "e8e92d7542ad280130c12b8a8b2a964692a947cfbd81f71b79a72ea0a47824e8", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_ospfv2_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "71b084d4497ff84b165285a49320f353fc97f2839bcf47fcad05bd3b5e05b036", + "name": "tests/integration/targets/junos_user/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/get_configuration_rpc_reply.txt", + "name": "tests/integration/targets/junos_user/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c1794bf9ef01dea9904756da46036db8e8520e95c292a68bcf3e8545ef0c9f90", + "chksum_sha256": "e727033350980ea9df8bbfde6b874c51150f907f51fa8fc4cc8070e3f50ec5d3", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_ospf_interfaces_config.cfg", + "name": "tests/integration/targets/junos_user/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b9f3fc1df4bee23098cf23bfa6a67d0c6fb9f1cae822426af13ad6c4268b3361", + "chksum_sha256": "1946facde8e5b023ffc633db3d6261d8de690c1fb2101af1214f8d4d55ce1f56", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_l2_interfaces.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "24c59086e1366073480715f57aacecc54e44c120e17b25b2f7402333aa1cb0ef", + "name": "tests/integration/targets/junos_smoke", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_security_policies_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1216c97a8cdee96ebcab47ca43769b6ed167880e85eef5e9ccb179ce19ccafd0", + "name": "tests/integration/targets/junos_smoke/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_ping_ping_10.10.10.12_count_5_do-not-fragment_rapid", + "name": "tests/integration/targets/junos_smoke/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "58cfa0cf75995cf12c2dc3bc72fc13182c13f1cbbab31543a07e8545350d19b1", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_l3_interfaces.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "98490f3b9ec1e6e82897e25048eec0a74e602fba1047832f132ab97b87e3e2fa", + "name": "tests/integration/targets/junos_smoke/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_ospfv3_config.cfg", + "name": "tests/integration/targets/junos_smoke/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b9f3fc1df4bee23098cf23bfa6a67d0c6fb9f1cae822426af13ad6c4268b3361", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_snmp_server_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ff3d690032a33fc60a78b722b81c3f2038df2cb1b8aa56d5b186c80bfecdd195", + "name": "tests/integration/targets/junos_smoke/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_ntp_global_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cf65e12feb7d404a9b0e0a999103bf037c07ed11709f676988d5debcbaadafbf", + "name": "tests/integration/targets/junos_smoke/tests/cli", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/show_version_text.txt", + "name": "tests/integration/targets/junos_smoke/tests/cli/reboot.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2a1956bb5615571aa71269bb65caae43c44f59430097b755eaee205ce60c4da8", + "chksum_sha256": "54db130663eff024eb5b3fb6ac61d79ffae1ded3c341a1062579ae1c63be4e11", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_security_policies_global_config.cfg", + "name": "tests/integration/targets/junos_smoke/tests/cli/caching.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e9462852c080047c4d22f2521a2915964b45d55848dbc2c348bf6238f1b4114b", + "chksum_sha256": "63d3d2578702ff3bc51e29d16b7b4e63ed28edbddda8627ba2fd65b29f07315e", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_bgp_address_family.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7b3b18f683207cb7d272bbc509b50c37eda8b58dc6cfe4aa04978241a32c802b", + "name": "tests/integration/targets/junos_smoke/tests/netconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_l2_interfaces_config.cfg", + "name": "tests/integration/targets/junos_smoke/tests/netconf/common_utils.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e0dcf81fecfea2443b931ea13585c90f86328910b71285add801bda7265c3636", + "chksum_sha256": "86f1d6186d9036ff2cda9b18be64f04264be2052476b9585b46f1cc18393299a", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/show_version_xml.txt", + "name": "tests/integration/targets/junos_smoke/tests/netconf/module_utils_junos.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "919747d67bc939991faa1a64441e9a22b997d240df74c0991e361776dc8ecaa2", + "chksum_sha256": "591380db5e46372be7cdbe63d11848b9cef38dd8e57da857aad9739025919641", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_config.xml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7f20565b1504913b40b5e6c3a181a184884847beaad0b5e9d153f4695acd6c8d", + "name": "tests/integration/targets/junos_smoke/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_ospfv3.cfg", + "name": "tests/integration/targets/junos_smoke/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4473a0f4634d65ecdf1d9ab0e02ad91ffc7a6ed9031abe91a0ef9e4e02aadd58", + "chksum_sha256": "1ed6aab865c43fdcad8b6871d5800e82ca311f8f3823e56bca3d06b9bf7ba94c", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_interfaces.cfg", + "name": "tests/integration/targets/junos_smoke/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "65df2d02ae1f7f5dca4d74f0ae59e12737cdf93eb7ea35de636b0d14ea9322c6", + "chksum_sha256": "7bfbffe2f1c1a542332fdcbc89d4a3854ff15259e01a6bafef86a83fae35e3c2", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_ping_ping_10.10.10.20_count_4", + "name": "tests/integration/targets/junos_smoke/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bf73afa78e3abecd0fd0f9fcce47d0e8684deed25a54bccdcfce911a083e7c0c", + "chksum_sha256": "fc09c85d3d223c19ea63a3fae43eb5638f3b5e6651609cf4d321208639122cbd", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/show_chassis_routing-engine_xml.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a9818e113293701cc01971ed0c7edb733f81384d539c08d49af16b56356ead12", + "name": "tests/integration/targets/junos_ospfv3", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_vlans_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3b3800aac4bb8cb5e3e3d7e95fafdf870ad2bcff4507f9d4f763c8229d4dd4e3", + "name": "tests/integration/targets/junos_ospfv3/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_security_zones_config.cfg", + "name": "tests/integration/targets/junos_ospfv3/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "72a5d8773cfbf73e55a219ddd23fc03d5698af853088f5087cb9d3916a7e2743", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/junos_hostname_config.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "86436c245da27a6ddaf085a66679b98fcba33b0d5ef801652d8bde564c5f4417", + "name": "tests/integration/targets/junos_ospfv3/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/modules/network/junos/fixtures/get_configuration_rpc_reply_json.txt", + "name": "tests/integration/targets/junos_ospfv3/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1e77d8a4c829ca72a36c925ed12e7dcb6117ab7369f1f059b4fa9dedbea7f589", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_rpc.py", + "name": "tests/integration/targets/junos_ospfv3/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_ospfv3/tests/netconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_ospfv3/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e670798774f32d6efafa3a49802553e74792652b3b8b31ecef594c0415bcad80", + "chksum_sha256": "19b7947b6ab8252d1d76661d734eefeded6aaeb7d951aeffa0addce670aa4bd3", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_prefix_lists.py", + "name": "tests/integration/targets/junos_ospfv3/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "444602e7a299d6b905bfdb9704682185ee37c0d3b3cf8ca79fc33bf5b1f094db", + "chksum_sha256": "ce5f704892852d0f18b14dc4ee89678a1d4341668e44751b7b2d6b7db5d04e14", "format": 1 }, { - "name": "tests/unit/modules/network/junos/test_junos_config.py", + "name": "tests/integration/targets/junos_ospfv3/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1773063d097955568b73d812bb8a7823a80051db27c2956ac3ff0eb8f51cf4ab", + "chksum_sha256": "58a66e5c8859a7cfe9748fc0e87cbc5d065357a9b8f240661b2f734eb288099f", "format": 1 }, { - "name": "tests/unit/modules/network/__init__.py", + "name": "tests/integration/targets/junos_ospfv3/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "a885760267113e8d1431f886e7343dd134a8eb31f591c9ece9a30a9febfb31c5", "format": 1 }, { - "name": "tests/unit/compat", + "name": "tests/integration/targets/junos_ospfv3/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/compat/unittest.py", + "name": "tests/integration/targets/junos_ospfv3/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "727203a3846be41893b78a4b77852a1658925e936fb19539551958a5d8e8fb81", + "chksum_sha256": "1d77e679fba773847ebcac2d2eb479c251beeaacdac14521dd6666ac539891a4", "format": 1 }, { - "name": "tests/unit/compat/__init__.py", + "name": "tests/integration/targets/junos_ospfv3/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "f230ac640c63bd54e9ab49277ca63565f2940fc4a4ed7acab1d9c26708ff4235", "format": 1 }, { - "name": "tests/unit/compat/mock.py", + "name": "tests/integration/targets/junos_ospfv3/tests/netconf/_initial_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ad85c7a32b4c62ac4a75fbe82c0c973d5d20691b258ea7c64c4aa8901fe26ccf", + "chksum_sha256": "a504de6423c5338c5335fc35422b5bb0040370537b529008a363efe601aa16b6", "format": 1 }, { - "name": "tests/integration", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_ospfv3/tests/netconf/_reset_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cb7b37b391d8a5a6d9e12999a355740df8805aa64ce189981b4ef4c658735470", "format": 1 }, { - "name": "tests/integration/targets", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_ospfv3/tests/netconf/overridden.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "8421f06b4b592969a37a8fb0d739edeeb7d5b096030096ae8541a9d929787082", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_ospfv3/tests/netconf/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6e462265ffe66572c162f4f28c563b3dfd4c0c23d915355e7cfee914a2308cca", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_ospfv3/tests/netconf/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "350496d406c1e1d55725df0ecb5fd30400275042de4daf41ae92cc70e380e334", "format": 1 }, { @@ -3193,185 +3424,213 @@ "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/meta", + "name": "tests/integration/targets/junos_routing_options", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/meta/main.yaml", + "name": "tests/integration/targets/junos_routing_options/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_routing_options/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/defaults", + "name": "tests/integration/targets/junos_routing_options/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/defaults/main.yaml", + "name": "tests/integration/targets/junos_routing_options/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "b0dad22bd982e1dc14740d32937c7c31ddf82f5fe6d1689a15fc723aa2fe5f91", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests", + "name": "tests/integration/targets/junos_routing_options/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests/netconf", + "name": "tests/integration/targets/junos_routing_options/meta/main.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_routing_options/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests/netconf/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f230ac640c63bd54e9ab49277ca63565f2940fc4a4ed7acab1d9c26708ff4235", + "name": "tests/integration/targets/junos_routing_options/tests/netconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_routing_options/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "58a66e5c8859a7cfe9748fc0e87cbc5d065357a9b8f240661b2f734eb288099f", + "chksum_sha256": "140f095f42a3049193e72a297b0f320e4f3c9d9bf630fd555033db3cb796e90b", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_routing_options/tests/netconf/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a885760267113e8d1431f886e7343dd134a8eb31f591c9ece9a30a9febfb31c5", + "chksum_sha256": "aeec20572a2337eb6920f08c1e683df42a2d77157b627cc3c702ae785f381d6e", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests/netconf/_initial_config.yaml", + "name": "tests/integration/targets/junos_routing_options/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a504de6423c5338c5335fc35422b5bb0040370537b529008a363efe601aa16b6", + "chksum_sha256": "f691b0994a2a45d0cb98c0f6fe2b9e9970be59a4dc8e48297d425499e52d1ba4", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_routing_options/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6e462265ffe66572c162f4f28c563b3dfd4c0c23d915355e7cfee914a2308cca", + "chksum_sha256": "88a72f59e38cc345203ff46ac64edf209142a669b6775a94ed60408dbce4fae3", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_routing_options/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8421f06b4b592969a37a8fb0d739edeeb7d5b096030096ae8541a9d929787082", + "chksum_sha256": "4f23a00ee4e2d649c926dfe56c6e601bf176145dafc88442dda848aa492d8797", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_routing_options/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_routing_options/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1d77e679fba773847ebcac2d2eb479c251beeaacdac14521dd6666ac539891a4", + "chksum_sha256": "aa310db3ac9c122a80e375582988ad5f7e3b27ee1ef2984a09e92db2826f4d1f", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_routing_options/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "350496d406c1e1d55725df0ecb5fd30400275042de4daf41ae92cc70e380e334", + "chksum_sha256": "5afe0b0a0f964bbb1eacf828241f9d6880d4155e07dddebbc06cbab4fe1177be", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_routing_options/tests/netconf/rtt.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "19b7947b6ab8252d1d76661d734eefeded6aaeb7d951aeffa0addce670aa4bd3", + "chksum_sha256": "97ed698e3215b67ef24ac3aa69d44da18c193f9f02d3ea2a876ea637273cd02c", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests/netconf/_reset_config.yaml", + "name": "tests/integration/targets/junos_routing_options/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cb7b37b391d8a5a6d9e12999a355740df8805aa64ce189981b4ef4c658735470", + "chksum_sha256": "feacd22c689c662edd50c17c3daf13276734c2aea867a7af21dbeb13a309a6e2", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv3/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_routing_options/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ce5f704892852d0f18b14dc4ee89678a1d4341668e44751b7b2d6b7db5d04e14", + "chksum_sha256": "38c77427a98ffbc4a623dc01722e565c08754282a0a0eaf02e7dfe440badb6ef", "format": 1 }, { - "name": "tests/integration/targets/junos_static_routes", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_routing_options/tests/netconf/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "33aaaf4d48243dbe9296e9e042cb27f360bee34a8587a1516ce0e8796e498fce", "format": 1 }, { - "name": "tests/integration/targets/junos_static_routes/tasks", + "name": "tests/integration/targets/junos_routing_options/tests/netconf/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b9eb04d768dfe49511a2c8588034ed0e5a60781148eaa462083fde53f558a501", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_routing_options/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_static_routes/tasks/main.yaml", + "name": "tests/integration/targets/junos_routing_options/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/integration/targets/junos_static_routes/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_routing_options/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_static_routes/meta", + "name": "tests/integration/targets/junos_static_routes", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_static_routes/meta/main.yaml", + "name": "tests/integration/targets/junos_static_routes/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_static_routes/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "efb275d54a7c21fd007e1d1c8b10b65d148a9121af425a4e7fbd60abacd23fc8", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_static_routes/defaults", + "name": "tests/integration/targets/junos_static_routes/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_static_routes/defaults/main.yaml", + "name": "tests/integration/targets/junos_static_routes/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "efb275d54a7c21fd007e1d1c8b10b65d148a9121af425a4e7fbd60abacd23fc8", "format": 1 }, { @@ -3389,10 +3648,10 @@ "format": 1 }, { - "name": "tests/integration/targets/junos_static_routes/tests/netconf/_remove_config.yaml", + "name": "tests/integration/targets/junos_static_routes/tests/netconf/_base_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5171aa16ecd105acab742140d5bf420826bb08bcf99443a828654fc43aa6d85c", + "chksum_sha256": "bfa5d38b676c52b6303d08a88a4ee86a430b36fa79822eb251fda92224af9933", "format": 1 }, { @@ -3403,24 +3662,24 @@ "format": 1 }, { - "name": "tests/integration/targets/junos_static_routes/tests/netconf/_base_config.yaml", + "name": "tests/integration/targets/junos_static_routes/tests/netconf/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bfa5d38b676c52b6303d08a88a4ee86a430b36fa79822eb251fda92224af9933", + "chksum_sha256": "5171aa16ecd105acab742140d5bf420826bb08bcf99443a828654fc43aa6d85c", "format": 1 }, { - "name": "tests/integration/targets/junos_static_routes/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_static_routes/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "66c6475bd4eee3d410773a8ce7967c9418330832db74cd3837caf59c1453f33a", + "chksum_sha256": "db7a3b1bfe392ac0508c34d9ac8f2703cfce6e40b18084df4174f2bbbaab5180", "format": 1 }, { - "name": "tests/integration/targets/junos_static_routes/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_static_routes/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "db7a3b1bfe392ac0508c34d9ac8f2703cfce6e40b18084df4174f2bbbaab5180", + "chksum_sha256": "66c6475bd4eee3d410773a8ce7967c9418330832db74cd3837caf59c1453f33a", "format": 1 }, { @@ -3431,5547 +3690,5442 @@ "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/junos_logging_global/tasks", + "name": "tests/integration/targets/junos_static_routes/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tasks/main.yaml", + "name": "tests/integration/targets/junos_static_routes/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4239ce4ad6fc58a529cc073139b7b2abbdba62ae32bfc234e309af398d365eb6", + "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_static_routes/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/meta", + "name": "tests/integration/targets/junos_acl_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/meta/main.yml", + "name": "tests/integration/targets/junos_acl_interfaces/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_acl_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/defaults", + "name": "tests/integration/targets/junos_acl_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/defaults/main.yaml", + "name": "tests/integration/targets/junos_acl_interfaces/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests", + "name": "tests/integration/targets/junos_acl_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf", + "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1fc1a701e79dff995f7c73be2b536802657e37759b52c424d86cc6a08049956a", + "chksum_sha256": "856be5720d341ecfe38ed73a6fc5b38bef58ba3cabda135a42df90fd65db649b", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f562cdcf46e8914526dc833ea9dcd7853ce5f0889c860b253bf29a76d63e13ff", + "chksum_sha256": "91b36b428ce955f7929ec4195a256dccb2d2b5926093c9cfdfb969895c50786e", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9af6e95d468868608a8ee2ac5a736e05d0912abf883f3004305aab0b12a64dbf", + "chksum_sha256": "ef107c677fdfb30ff79d823577ee1c84890bd7886acb6fb2396107b99fbcab53", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/_initial_config.yaml", + "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/_initial_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f3e5d31b5c95eeddd8db1b98e3d236b1845b57b8ec6325e7c72b58ed4f74b9d7", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/backups", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "47cd198cd9eb3a08e813c896b92cfc0eda48eb31e4b11a35b55a7b97a0eb8932", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/backups/empty_config.yaml", + "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a199720ea8a377c143b7563572b60e1e5bb12f929695b914785cd436ccb89d4a", + "chksum_sha256": "1b74a6f4e78bc9098e835c4eaa579a97f4264f521bbb3e5c2fb1b30e956370c1", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2ced1cd369a59d60b9f2de48c0d3e6284d71a54821f3f6501106a2ad7e0e90f0", + "chksum_sha256": "4e8c520f54c6ce56d0da73b90650b12c638dc19db9ee6df206077bdd6b07a626", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "326e85d7a20fce18191830f205ede5126f8e739e284bd9fbcc1dee1d311c9c34", + "chksum_sha256": "b0433b5d3c8b197deeb46826bc3d796bdecc84e7eb860984bbf654aa610c6e6b", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/rtt.yml", + "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "34d2a9f5f1d5f2a942c6e963a493f71ba5404cf0f39bb6a6a549b956babf55c3", + "chksum_sha256": "382845484c54c164ed28ab7b0ec3ee53e12e7d5c15f449715d5aa50aa201372b", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_acl_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_acl_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "610b72bbd1a2b52abebcad6740fe0e311eba9491d685a7132db0eb9ba367a205", + "chksum_sha256": "dedf802497c657594764c710abb69c6a2eb5bf58fc7d51282731973a56e85168", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_acl_interfaces/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0d1cf41f011d78e8e4acb637d236eeec13f124dfa19a4426b91fcc5d2b938f5e", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/parsed.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bd4bc36fdaf73489ea9f8b6ccadb9eed4444fb5a042f87b57c45d03ebfbccd2d", + "name": "tests/integration/targets/junos_rpc", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/_reset_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "076fe1eb3dc4643aeee762bbd4d9539893b4dd224deac32f9593f6ac93c2eddd", + "name": "tests/integration/targets/junos_rpc/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_rpc/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2d7f42fa466e6c747d83a19b6f437295ad2d3a3aae822c5b87218ad38a939acc", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/vars", + "name": "tests/integration/targets/junos_rpc/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_logging_global/vars/main.yaml", + "name": "tests/integration/targets/junos_rpc/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "65beace3c6c7aeebd3ba5c0fce3d511c1a854c59b787d7c484a3b47f765ef66d", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces", + "name": "tests/integration/targets/junos_rpc/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tasks", + "name": "tests/integration/targets/junos_rpc/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/junos_rpc/tests/netconf/rpc.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5faeba3c6c57e0ac48c1b15188434458eec4ad6520920210114d67e2a65aac57", + "chksum_sha256": "6dcf22486f6872bfad638a22b0bf0c9d3bd8014426f56b5336a1a54cde62a6a0", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_rpc/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_rpc/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "chksum_sha256": "e727033350980ea9df8bbfde6b874c51150f907f51fa8fc4cc8070e3f50ec5d3", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/meta", + "name": "tests/integration/targets/junos_rpc/tasks/netconf.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1946facde8e5b023ffc633db3d6261d8de690c1fb2101af1214f8d4d55ce1f56", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_bgp_address_family", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/meta/main.yaml", + "name": "tests/integration/targets/junos_bgp_address_family/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_bgp_address_family/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/defaults", + "name": "tests/integration/targets/junos_bgp_address_family/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/junos_bgp_address_family/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests", + "name": "tests/integration/targets/junos_bgp_address_family/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf", + "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "847f8aba20c0bcaf2784b4838a5a5e7ecdf1b796e81534aff0bffc84da5ef14e", + "chksum_sha256": "38b76b973ae8e0c22e1c02fbd879d4924a8ddce3c54671353956c5aaacf59531", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d638bd2d4b3aeb159dae307c1deadf8ceb7d1f750beda0f59aca094c4873924b", + "chksum_sha256": "cb5ceb89fa49b884da83854ef39519368b95df370bf98871b10d6ea9403f55df", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "97384a43d4050a4fcd2e7d6bc07b458ac7123a090a225decd7a4563d9aba491a", + "chksum_sha256": "fdea66c1005edd57bc77c5e95dc0d4db878e448ecaa2d766efdcc45f09fe8533", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/merged_update.yaml", + "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "92c2ca40e73c8e2fa9addbe09f6a07743a7434233b046d5780684bf21e2b3f5a", + "chksum_sha256": "f03982c9fa9c148a3bce04ab16a14073564d6b96fb0dc9d80a4280d44bae67e6", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/_initial_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a4c7314dd0a394dfe668ed11858428df5b2c29b573ce7cda69c3328a266a1419", + "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/fixtures", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "89d7df715e2566cbb2623be0dae95dd17499fa0bb60ac266e692b327441e1fca", + "chksum_sha256": "21f4f80f8a632bb05e189b506b3dd4ee2c52927fd9cb4023d5b1d2a307044983", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24468c08de78c5021ba88a104de643df2e29ef6057a7071a9f5df57fe6de9898", + "chksum_sha256": "70bf59e2250beff1ce0bc112e7a8c542b7f6182bf0e9f47fbbda45da3ec06de5", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/fixtures", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/_reset_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0017fbbaa15229f0e59e1565894ec6236a9b6c38a0791822e83a0176d133559e", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/fixtures/parse_ospf_router_id.cfg", + "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a0460d8722acf4ccb04f2421ea81f55174132aec6b6f5aff0f3164a8378d7462", + "chksum_sha256": "5608ca62c28b3bf93f65e7eaad6130bb108162210583bf0538a6dbf212b8e2ff", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f60999fbccc0af10279afdf8e6f48d83e58d392e0b7c2559e11747d039b261ee", + "chksum_sha256": "c59df9ef3ff42cfd3bdd470925c0a3e1f8fdbead2dc6e2d201e46a2aa827d64a", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d2a0a5e986d21f4febfc5d62bf68182848d907d8e4fa5dce4ac84ce608ddb5ce", + "chksum_sha256": "4cea93e925dd207634a39d7db89f41b3226361b684cd4e73907528b76b2de868", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/parsed.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "fe59572095f90670742714b59e6e2927e7586519f509e1f47ab61cff0f77c894", + "name": "tests/integration/targets/junos_bgp_address_family/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/_reset_config.yaml", + "name": "tests/integration/targets/junos_bgp_address_family/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b8723cfc473ca01e7be478bd87f74df0b993c1fd59a23faa21f75e08e63b7299", + "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_bgp_address_family/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "768de6cab48ef7da91e3a62d9c1b220e11ebec0a87edc69c0f5434d518ced61c", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_facts", + "name": "tests/integration/targets/junos_security_policies", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_facts/tasks", + "name": "tests/integration/targets/junos_security_policies/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_facts/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e727033350980ea9df8bbfde6b874c51150f907f51fa8fc4cc8070e3f50ec5d3", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_facts/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_security_policies/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "be90db2aa35bf39ec0fc02a996e8d5e40b83b0917dab8aa2339a1d22ed5cad0e", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_facts/meta", + "name": "tests/integration/targets/junos_security_policies/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_facts/meta/main.yml", + "name": "tests/integration/targets/junos_security_policies/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "4deaf51b2f16c99c7681725fb943e6aebbd1148a35a640be0ab3eb755840ba3a", "format": 1 }, { - "name": "tests/integration/targets/junos_facts/defaults", + "name": "tests/integration/targets/junos_security_policies/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_facts/defaults/main.yaml", + "name": "tests/integration/targets/junos_security_policies/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_facts/tests", + "name": "tests/integration/targets/junos_security_policies/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_facts/tests/netconf", + "name": "tests/integration/targets/junos_security_policies/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_facts/tests/netconf/facts.yaml", + "name": "tests/integration/targets/junos_security_policies/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9c4d7fd03f0a950b13ed257fd81af007019fa35f6b8e088b83ebc8195b5ef0a3", + "chksum_sha256": "016771aea305560bd8dd151b5c956fc76a005fb72cb9499de0c379c194d1a704", "format": 1 }, { - "name": "tests/integration/targets/junos_rpc", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_security_policies/tests/netconf/_populate_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f28b62ace16039ab3d1a158658ad0eee2a5aa1b60759cf1f61e6f2b1257254df", "format": 1 }, { - "name": "tests/integration/targets/junos_rpc/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_security_policies/tests/netconf/rendered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e14fe35238c7a90cbc7404ad0f44596371a2eebaaa1a212d64f6e34cbffb21eb", "format": 1 }, { - "name": "tests/integration/targets/junos_rpc/tasks/main.yaml", + "name": "tests/integration/targets/junos_security_policies/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e727033350980ea9df8bbfde6b874c51150f907f51fa8fc4cc8070e3f50ec5d3", + "chksum_sha256": "e26d1bb898a8b80c5a4409fa8347b4686d22d68995c386b88b1acea58052b98b", "format": 1 }, { - "name": "tests/integration/targets/junos_rpc/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_security_policies/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1946facde8e5b023ffc633db3d6261d8de690c1fb2101af1214f8d4d55ce1f56", + "chksum_sha256": "3cb5abb3511da59cc841edf9b3120380ace3f373903d49a8df724d34940aefce", "format": 1 }, { - "name": "tests/integration/targets/junos_rpc/meta", + "name": "tests/integration/targets/junos_security_policies/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_rpc/meta/main.yml", + "name": "tests/integration/targets/junos_security_policies/tests/netconf/fixtures/parsed.xml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "c675cea3f99d7bc6a5a9416e9ba20e6745aa981968cab970fb378e6ee37ce5aa", "format": 1 }, { - "name": "tests/integration/targets/junos_rpc/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_security_policies/tests/netconf/deleted.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "39cd5df63bd55f3ddf784e611627b54029596c80fc25189fd00499a82de7d3ba", "format": 1 }, { - "name": "tests/integration/targets/junos_rpc/defaults/main.yaml", + "name": "tests/integration/targets/junos_security_policies/tests/netconf/rtt.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "5ce4ffcc6b729daec418088a402e4625e7ac2b65af7260c79adb6f11c8ed2ec5", "format": 1 }, { - "name": "tests/integration/targets/junos_rpc/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_security_policies/tests/netconf/_initial_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "63cb2d305f3b2b8375cfe110ccc027d605eb168ba862699a3b3a544b8d87296f", "format": 1 }, { - "name": "tests/integration/targets/junos_rpc/tests/netconf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_security_policies/tests/netconf/_reset_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "904c7f297382fe7a7994ee762c1baa400d1350c1b305e6969014d151de1d1a9a", "format": 1 }, { - "name": "tests/integration/targets/junos_rpc/tests/netconf/rpc.yaml", + "name": "tests/integration/targets/junos_security_policies/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6dcf22486f6872bfad638a22b0bf0c9d3bd8014426f56b5336a1a54cde62a6a0", + "chksum_sha256": "76982131c022074bcf992f16061721685fa1136d527793ff18ff6470b0c1fb93", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_security_policies/tests/netconf/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a7b3535922126dceed45fd5938029e83cd6184a6d2385e22e5ebc6bf5cd41f75", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tasks", + "name": "tests/integration/targets/junos_security_policies/tests/netconf/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ecf1c66717a28d45cca3e598f7209834214cabedd726c3471116221f2e11f638", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_security_policies/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tasks/main.yaml", + "name": "tests/integration/targets/junos_security_policies/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5faeba3c6c57e0ac48c1b15188434458eec4ad6520920210114d67e2a65aac57", + "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_security_policies/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/meta", + "name": "tests/integration/targets/junos_l2_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/meta/main.yaml", + "name": "tests/integration/targets/junos_l2_interfaces/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_l2_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/defaults", + "name": "tests/integration/targets/junos_l2_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/defaults/main.yaml", + "name": "tests/integration/targets/junos_l2_interfaces/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests", + "name": "tests/integration/targets/junos_l2_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf", + "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "17825b257c688893464a0094b309efd2e078fb8157f8477f5328a1ab6c5fbd97", + "chksum_sha256": "b373b23c8385fde76eadd95edcfb45d2fe71f8b3e3b9b6554b311163d949ffc3", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c5a6cb013c7e5d0568303d0ee58bcd26dcd3448f3b06dd34c9d599c34bd3f36a", + "chksum_sha256": "19eb1cb8c4c2f40071b029eb62a7312e6b3273c7948a438b1b35ce780c32475b", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9a4b7443f9567b41727a5d357e31f0495ef92d9b8d3d928f8567f8b2894f921a", + "chksum_sha256": "af33aa7223a48cab620bb31a6d1dfad55ea995fee1851de39926776775837cbc", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf/_initial_config.yaml", + "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/fixtures", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "973f85046cde058aa91399f01aafb04c042c52c802538639c1770c55cecf0c8d", + "chksum_sha256": "e0dcf81fecfea2443b931ea13585c90f86328910b71285add801bda7265c3636", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf/rtt.yaml", + "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/_base_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f078d10b5fe4ca0a4caa44b968c5a9aead11e220f22ffe5d00845d02c8f881da", + "chksum_sha256": "c17ed7273352e5ae3a01737054081b89f5daeef876d1c5fac0db5b2ecb8950e6", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "82ecb5453d4c76f99446240c9c1fa2d7f5fc45304d559325184bce03ba0f64a6", + "chksum_sha256": "bac996860ada5e921e149d186b95533139cbfaac0cac8424783899b2179a8d24", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/rtt.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cc2334e44cc814227f9f8c50446f4e005363b94642fd37455b8f902dde65ab24", + "chksum_sha256": "537973ad6900cd3468e46654ad124dc5ef17c11a13c2a18e391d8e15b44e752f", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf/fixtures", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/_remove_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2c23e7e54ae73e30c371d44aa84bd5e4e3e095b1b373afc52d4e7ec6f3bc258b", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a690256e56d841b0e69010998ef63e9816121db1ac2a994f8800578e206c9fa2", + "chksum_sha256": "0504fd9e84a3385d66e31ef84a8c7ffb8ddb525819593d5248a77947d9c78044", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f769f1442dfcb26eeefc4a20808e773eb1d5db8b0ce698e5af0f0d43405f7e28", + "chksum_sha256": "13024460e326b04fd6fe6a7825e9a46b8bc6ce9819ba6cf5a846a341d58a3507", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24110506dce6a1acf10ba1ee0f7991f69fb454c9c464058dc6660085aeaac754", + "chksum_sha256": "6edd256af87afe61f3caa203f0d37301b58de62653a331fa388dde0a69eb6cc3", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf/_reset_config.yaml", + "name": "tests/integration/targets/junos_l2_interfaces/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_l2_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aa0d973fb111eb73bcbe02116f395956d21c2fd6a4c8a64cba5b53feb156a3dd", + "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/integration/targets/junos_ospfv2/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_l2_interfaces/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7442893271080723d682b5872b45909e0dd7832305a9ff3c5c9ba5edba5cd857", + "chksum_sha256": "45637e547498ff1d584b43d64cdb545283055dd51e7cbce649a1b344a5566cb0", "format": 1 }, { - "name": "tests/integration/targets/junos_command", + "name": "tests/integration/targets/junos_config", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_command/tasks", + "name": "tests/integration/targets/junos_config/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_command/tasks/netconf_json.yaml", + "name": "tests/integration/targets/junos_config/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "71516dbb78c53604148415ad5626c34ee3030c82728bc9f3c2a032851648e339", + "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "612a33b6753baaf0154b2a0690b744deae539de705558c4a56d317ccd2d8b854", + "name": "tests/integration/targets/junos_config/templates", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_command/tasks/netconf_xml.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4c722c2d0b825c5c6e8d522640ecdc98b26084946a59de82cf0bfff07dac1fa7", + "name": "tests/integration/targets/junos_config/templates/basic", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_command/tasks/netconf_text.yaml", + "name": "tests/integration/targets/junos_config/templates/basic/config.xml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "274fd845f69a5501756cb86bbd41088eec2a0cbc69250153f587976727e1011f", + "chksum_sha256": "4d6334450d173802f80b0c55ea41fa8e094afeabfe76c14d54c036b8d48a9eee", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tasks/cli.yaml", + "name": "tests/integration/targets/junos_config/templates/basic/config.j2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8bf3d8209693784fd02f0c9f430519c3ee9d27d90c5aef93fb06efe0541cf77f", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_command/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "7f984e7d5384674518e1bd994d53139ad2a3d56cc8d823c078c00a1e65c94cda", "format": 1 }, { - "name": "tests/integration/targets/junos_command/meta/main.yml", + "name": "tests/integration/targets/junos_config/templates/basic/config.set", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "e55d8c57f22746493a68395134a4c07e361bf83a7f5b21a95905ef7ee40cbda1", "format": 1 }, { - "name": "tests/integration/targets/junos_command/defaults", + "name": "tests/integration/targets/junos_config/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_command/defaults/main.yaml", + "name": "tests/integration/targets/junos_config/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests", + "name": "tests/integration/targets/junos_config/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/cli", + "name": "tests/integration/targets/junos_config/tests/redirection", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/cli/cli_commmand.yaml", + "name": "tests/integration/targets/junos_config/tests/redirection/shortname.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5266fa0edc63b6ca83fbb7074bc8203ca4eefe09492e44bba140eb2cd6d1aefc", + "chksum_sha256": "6b1f7d41f6377e7456ac464eef4de5bc86a5dbef030d57b77b361c73471b91b3", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_json", + "name": "tests/integration/targets/junos_config/tests/cli_config", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_json/lessthan.yaml", + "name": "tests/integration/targets/junos_config/tests/cli_config/cli_backup.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "46f3b7e08ea7e59fd6d233657dd93eda7ef4730f8057ea0c8f2e53d278f83ad9", + "chksum_sha256": "1cfa70ec55d445903975a372167840d1f175641604c847f8741acf28ee8e378b", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_json/greaterthanorequal.yaml", + "name": "tests/integration/targets/junos_config/tests/cli_config/cli_replace.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0ba61dab7a4acd479e39df8039d99d80242f5d6cdd90f85b2e1ab9208fb17743", + "chksum_sha256": "b1a748515ac3e7ede4724251b01372dcc5b4a9676a417aaf744fdbfb1e597994", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_json/contains.yaml", + "name": "tests/integration/targets/junos_config/tests/cli_config/cli_basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "71a375a286b4f440c50a9c6c82c36045ca7ecec6a29816386559b792ff4d066b", + "chksum_sha256": "eba80fbddca0baa46c7439ee80946990cd91e55da912b9571ae6559288b6d15c", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_json/equal.yaml", + "name": "tests/integration/targets/junos_config/tests/netconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_config/tests/netconf/bad_action.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "44f8cdd9fde78c55275e2339c33bb12dddfce2ca2d5f0f2e0bd59907beae8a3a", + "chksum_sha256": "1a8a59bf146aaa8353f85ecae0b178f16409782aa376f42ff22c7707ec351b6c", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_json/bad_operator.yaml", + "name": "tests/integration/targets/junos_config/tests/netconf/invalid.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b5fd958f25016372728899436773ee543050da327e509f090ba88ca4636c0d2d", + "chksum_sha256": "76594cda9479fe42fcc322308d028e273d33d8f54f4be9ae59d47fbf2b64c611", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_json/lessthanorequal.yaml", + "name": "tests/integration/targets/junos_config/tests/netconf/src_invalid.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "991acfafd4fb6ca665f33465692ad8b12d01bd6526b5e9f2b1880a3ce3cfbcbe", + "chksum_sha256": "c2d40a306a95cbd2ec37c729bba258c2a7acdded7eac74eb3fc18f5c78e83e60", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_json/output.yaml", + "name": "tests/integration/targets/junos_config/tests/netconf/single.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1ff281d2c6a00c5a8966af7c146013d28215b96e501ce445d99e12fc204aa313", + "chksum_sha256": "8a764839bae6345fe760c187666e16afa24c8ef0e1d2394976516abe824c041a", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_json/greaterthan.yaml", + "name": "tests/integration/targets/junos_config/tests/netconf/backup.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aa183d6e2138a9213b5e2522db349163d9da96ad375fc17c9ad11bede8c7fce4", + "chksum_sha256": "fc13146756466fb242b2846c094c66512bef612525d04b84ec383e2ae76b58f8", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_json/notequal.yaml", + "name": "tests/integration/targets/junos_config/tests/netconf/multiple.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6a3de2915a9be18c95ba8bd1053dddc9868f43ce7f85cb15518f449b26974ed9", + "chksum_sha256": "a101529e9f690d667375cbc2c1af3c165b84bbf028a57e32e656335bc6fd8b48", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_text", + "name": "tests/integration/targets/junos_config/tests/netconf/src_basic.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "48b84bd53ef11400ce442cba8558667a982dd8e84497e3e23ffa7791b1c342dd", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_config/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_text/invalid.yaml", + "name": "tests/integration/targets/junos_config/tasks/redirection.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3e93db6f55ae56facb4e9d839a4c3cf32e2501c0eb96e5e31f1683bef67e21f", + "chksum_sha256": "fc890d4d4d13191bbbbe07f1edf38861cd83759d33e4456fdacfc21acce63db3", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_text/contains.yaml", + "name": "tests/integration/targets/junos_config/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "36ca486cc8cdded6e343c1f81b51d4a9749a855ad43c890bfa0784357eaa7d4d", + "chksum_sha256": "fba795a2f2f8c6b449e057d2c14be5aa9ea9e94bfc19aa628dddb26130e7911f", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_text/bad_operator.yaml", + "name": "tests/integration/targets/junos_config/tasks/cli_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fb8f6aad9b9a23d02a7883bb702bad2ba5a4eb2124412357c186da75147632f7", + "chksum_sha256": "898ac0c25c8756735dba3ece1d68f589e01c1351ddae4f4d045873fe65c9f064", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_text/output.yaml", + "name": "tests/integration/targets/junos_config/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c13ff65171668de3ae66eae7ab6f2cd1319440eb88a02330b5efc8ba41bcddeb", + "chksum_sha256": "be90db2aa35bf39ec0fc02a996e8d5e40b83b0917dab8aa2339a1d22ed5cad0e", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_text/timeout.yaml", + "name": "tests/integration/targets/junos_vlans", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_vlans/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_vlans/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2a9576208f842de6adbae341991bc32516d8ceef291d14bcdf2221d7769c87ca", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_text/no_config.yaml", + "name": "tests/integration/targets/junos_vlans/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_vlans/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4656bc0775ed558f79cb2db08097be7a3fe6fe119b69bf0e59236165a4bd51e2", + "chksum_sha256": "efb275d54a7c21fd007e1d1c8b10b65d148a9121af425a4e7fbd60abacd23fc8", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_xml", + "name": "tests/integration/targets/junos_vlans/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_xml/lessthan.yaml", + "name": "tests/integration/targets/junos_vlans/tests/netconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_vlans/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7ad0acba5ab78a50a2fc805c83c96b6e2a9c482c9981f66692654df0c7a4305d", + "chksum_sha256": "8c4c751a8589f2f8b9398d2f308546c9fd6f6786945135cafe407f05a7d6a551", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_xml/invalid.yaml", + "name": "tests/integration/targets/junos_vlans/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f5fd5a9a1d9d45b784d9acec4738d7ba8476d9b19f6226796b9e819b5cecba88", + "chksum_sha256": "df538e025fc1c99a5bcd71a5fa94ef936be10c15b8cb69ee3eacc97c3ec1d526", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_xml/greaterthanorequal.yaml", + "name": "tests/integration/targets/junos_vlans/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8ddb628e09f70a9736acacf44235afb4e35b18d56bc8efbbe6d0f8b200ce03a5", + "chksum_sha256": "640ec1521d32739f67366042c0ec200638ed1b81603b55af0fd7300a7a6ad9b0", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_xml/contains.yaml", + "name": "tests/integration/targets/junos_vlans/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9ba38e35af89df460e59da5f49f3e326f4e59b095b08827478bd6529b428b0e8", + "chksum_sha256": "ae5ea725cc0a012e0c98b0a0e9d3d172dd8bb364f2e50779c4e6876b2e61c6bc", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_xml/equal.yaml", + "name": "tests/integration/targets/junos_vlans/tests/netconf/fixtures", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_vlans/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "27cf24898299e694a84f6984d1e94b61c859b565868803d4891450e79dabc09d", + "chksum_sha256": "3baba00d1d6d1dadb4b5976f47607540d8771ea4f07dcdcee03f5e376dd61165", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_xml/bad_operator.yaml", + "name": "tests/integration/targets/junos_vlans/tests/netconf/_base_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "66a36b766c06b4b70d12b42a83fb66740b0a82288cc9b71604daee36a158cd96", + "chksum_sha256": "5d3cc2b3afe3dc0dadeea0b369c6745302fbbb6ada04c3defb870fea734f2d7b", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_xml/lessthanorequal.yaml", + "name": "tests/integration/targets/junos_vlans/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "77b6fdaa510c5b4d2829d3cba8a685b1b510f1f4dbf9b2adadec7ac5f1de247d", + "chksum_sha256": "217ad5b6e68a2d1cfdef9b4841dc5f91714a5034424265409be1ca7c7546c9a7", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_xml/output.yaml", + "name": "tests/integration/targets/junos_vlans/tests/netconf/rtt.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c9ebd6b3029527e75e68e93f4708ed227221406982dd3908fb0ceb37bf96142f", + "chksum_sha256": "cfff19b900dd791ca391b9fd18742fc3c355acfa6d00810d24214ac0f6bfc871", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_xml/greaterthan.yaml", + "name": "tests/integration/targets/junos_vlans/tests/netconf/_initial_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "22850c6970343bb05f625f546b1f92a6deb8756549234f11056405077e43f953", + "chksum_sha256": "f2bf894f4956d79da86103eab885a01457f893317ded8b0cf5f2cd0f63ab2239", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_xml/timeout.yaml", + "name": "tests/integration/targets/junos_vlans/tests/netconf/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cdca9d6014c8b58811033e57029c08288af780cb15957fde32b40019868cebd9", + "chksum_sha256": "771b5ef527b2dc79fd79336d9485837675f5f6cf429434fc27943f49a7e164ee", "format": 1 }, { - "name": "tests/integration/targets/junos_command/tests/netconf_xml/notequal.yaml", + "name": "tests/integration/targets/junos_vlans/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0a2cefdd4e1e0b7deb888b200e6dfbe0dc1c1e2288b3e9266ac0443b6f6aac09", + "chksum_sha256": "5ea25501651a613ba680c4da9b6a018d85408f3bbe1290d9c79360ad041d0ac0", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_vlans/tests/netconf/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4fb4c83265fed002fe9ec78794e29394b3c567bdaf8df25da466ea56ad380bd2", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tasks", + "name": "tests/integration/targets/junos_vlans/tests/netconf/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "63f819af50f638193f92ae6d4550e1db2ecc3e7f80eb2beade2288944c607988", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_vlans/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/junos_vlans/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "da661e43be2450ce0a58c2d1bd37b7670c88e33fba0da29cd410c6f23e189b9f", + "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_vlans/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/meta", + "name": "tests/integration/targets/junos_command", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/meta/main.yaml", + "name": "tests/integration/targets/junos_command/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_command/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "efb275d54a7c21fd007e1d1c8b10b65d148a9121af425a4e7fbd60abacd23fc8", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/defaults", + "name": "tests/integration/targets/junos_command/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/junos_command/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tests", + "name": "tests/integration/targets/junos_command/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf", + "name": "tests/integration/targets/junos_command/tests/netconf_text", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/_remove_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "cd919eaf78c0d5b2990f067ae16f1402f344ace9925c189958f7067884345d09", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_text/invalid.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d1add93a918bfef3d70aef062c3aae94a47d1b3716a74b89358e966283c08ccf", + "chksum_sha256": "e3e93db6f55ae56facb4e9d839a4c3cf32e2501c0eb96e5e31f1683bef67e21f", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_text/timeout.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1215e9671a99210505a60d59ba0f148a8ec0fa67d333f82d3ec0fb7d8d872dcb", + "chksum_sha256": "2a9576208f842de6adbae341991bc32516d8ceef291d14bcdf2221d7769c87ca", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/_base_config.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_text/no_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7782df6c4b604977c0c7f281092fbf10cbc91720007ef8e67dba22003450d145", + "chksum_sha256": "4656bc0775ed558f79cb2db08097be7a3fe6fe119b69bf0e59236165a4bd51e2", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/rtt.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_text/bad_operator.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "498586a44d564daabbc39fc40cb7d8a4469f5882406a8ab46dc065412556c947", + "chksum_sha256": "fb8f6aad9b9a23d02a7883bb702bad2ba5a4eb2124412357c186da75147632f7", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_text/output.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "35ee38eac192f14a4904e7a0255a696112a831ecdf2a5c24f74a097f4500252c", + "chksum_sha256": "c13ff65171668de3ae66eae7ab6f2cd1319440eb88a02330b5efc8ba41bcddeb", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/overridden.yml", + "name": "tests/integration/targets/junos_command/tests/netconf_text/contains.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0d53434db13dd5c50d5a7cd84e3403b617f4c551b6aa7f51e298d0385de30133", + "chksum_sha256": "36ca486cc8cdded6e343c1f81b51d4a9749a855ad43c890bfa0784357eaa7d4d", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_command/tests/netconf_json", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_command/tests/netconf_json/notequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "77112338be093f7a03c25fd8749011e7ad7de2066542b44c09f291405a76da00", + "chksum_sha256": "6a3de2915a9be18c95ba8bd1053dddc9868f43ce7f85cb15518f449b26974ed9", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_json/equal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9e01243ac9906911f80837437215ddaaa5f2a25167bf042048a974f0b209500f", + "chksum_sha256": "44f8cdd9fde78c55275e2339c33bb12dddfce2ca2d5f0f2e0bd59907beae8a3a", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_json/greaterthanorequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5507c1e13968eac2c90f6662a91ba3420c9af38e538372e9a64534cdd5952c61", + "chksum_sha256": "0ba61dab7a4acd479e39df8039d99d80242f5d6cdd90f85b2e1ab9208fb17743", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_json/lessthanorequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1ada2eacba8eb22edcabe39600c85b3d8089699d0664aeb08fe7ff322e910fca", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_vrf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/junos_vrf/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "991acfafd4fb6ca665f33465692ad8b12d01bd6526b5e9f2b1880a3ce3cfbcbe", "format": 1 }, { - "name": "tests/integration/targets/junos_vrf/tasks/main.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_json/lessthan.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e727033350980ea9df8bbfde6b874c51150f907f51fa8fc4cc8070e3f50ec5d3", + "chksum_sha256": "46f3b7e08ea7e59fd6d233657dd93eda7ef4730f8057ea0c8f2e53d278f83ad9", "format": 1 }, { - "name": "tests/integration/targets/junos_vrf/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_json/bad_operator.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1946facde8e5b023ffc633db3d6261d8de690c1fb2101af1214f8d4d55ce1f56", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_vrf/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "b5fd958f25016372728899436773ee543050da327e509f090ba88ca4636c0d2d", "format": 1 }, { - "name": "tests/integration/targets/junos_vrf/meta/main.yml", + "name": "tests/integration/targets/junos_command/tests/netconf_json/greaterthan.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_vrf/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "aa183d6e2138a9213b5e2522db349163d9da96ad375fc17c9ad11bede8c7fce4", "format": 1 }, { - "name": "tests/integration/targets/junos_vrf/defaults/main.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_json/output.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "1ff281d2c6a00c5a8966af7c146013d28215b96e501ce445d99e12fc204aa313", "format": 1 }, { - "name": "tests/integration/targets/junos_vrf/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_command/tests/netconf_json/contains.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "71a375a286b4f440c50a9c6c82c36045ca7ecec6a29816386559b792ff4d066b", "format": 1 }, { - "name": "tests/integration/targets/junos_vrf/tests/netconf", + "name": "tests/integration/targets/junos_command/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_vrf/tests/netconf/basic.yaml", + "name": "tests/integration/targets/junos_command/tests/cli/cli_commmand.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d1b0fe67be093ce85673fdb2a29646edd61025742313f8ee12467201c6301d1c", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_lacp", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "5266fa0edc63b6ca83fbb7074bc8203ca4eefe09492e44bba140eb2cd6d1aefc", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tasks", + "name": "tests/integration/targets/junos_command/tests/netconf_xml", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tasks/main.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_xml/notequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "695c1124ba12e4fd97496b87a4a4cad41e513d56e0b9f2996da640f035ed2085", + "chksum_sha256": "0a2cefdd4e1e0b7deb888b200e6dfbe0dc1c1e2288b3e9266ac0443b6f6aac09", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_xml/equal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_lacp/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "27cf24898299e694a84f6984d1e94b61c859b565868803d4891450e79dabc09d", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/meta/main.yml", + "name": "tests/integration/targets/junos_command/tests/netconf_xml/greaterthanorequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_lacp/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "8ddb628e09f70a9736acacf44235afb4e35b18d56bc8efbbe6d0f8b200ce03a5", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/defaults/main.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_xml/lessthanorequal.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "77b6fdaa510c5b4d2829d3cba8a685b1b510f1f4dbf9b2adadec7ac5f1de247d", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_command/tests/netconf_xml/invalid.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f5fd5a9a1d9d45b784d9acec4738d7ba8476d9b19f6226796b9e819b5cecba88", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tests/netconf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_command/tests/netconf_xml/timeout.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cdca9d6014c8b58811033e57029c08288af780cb15957fde32b40019868cebd9", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tests/netconf/_remove_config.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_xml/lessthan.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "98170a2521713ea54e67c82e273e1746738ed54819eb2fbb0856710d189d173d", + "chksum_sha256": "7ad0acba5ab78a50a2fc805c83c96b6e2a9c482c9981f66692654df0c7a4305d", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_xml/bad_operator.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a5d0751e9f34444306957e4c7708e1e52f275b3b11a1ae206641c3bd821fbe86", + "chksum_sha256": "66a36b766c06b4b70d12b42a83fb66740b0a82288cc9b71604daee36a158cd96", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_xml/greaterthan.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7456e8a75e4d01f284aadd830c4b3250aa7168aeece0f0ada452c16eaec6946e", + "chksum_sha256": "22850c6970343bb05f625f546b1f92a6deb8756549234f11056405077e43f953", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tests/netconf/rtt.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_xml/output.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5b50a1144438b3f499d9e8f6538323ef0af12994ccf5d3611ff695e8ef2a7022", + "chksum_sha256": "c9ebd6b3029527e75e68e93f4708ed227221406982dd3908fb0ceb37bf96142f", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_command/tests/netconf_xml/contains.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "18a72bc9fa7af695681d1c5ad174431624a61b1d23646111622aa4badecabe67", + "chksum_sha256": "9ba38e35af89df460e59da5f49f3e326f4e59b095b08827478bd6529b428b0e8", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_command/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_command/tasks/netconf_json.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7206ec05e4a9670e83cc407c9ca5649eb57f01d30d3b176dece84accdeca69ae", + "chksum_sha256": "71516dbb78c53604148415ad5626c34ee3030c82728bc9f3c2a032851648e339", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_command/tasks/netconf_text.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2ab346f49b577ac56280a71bdb32cbc24d44a6aab4daaccf3adc2b75510463ba", + "chksum_sha256": "274fd845f69a5501756cb86bbd41088eec2a0cbc69250153f587976727e1011f", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_command/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9ac7dea1e62e62fc54d2af0f219eaee161e74dc246d6ef5639a8f254443390a6", + "chksum_sha256": "612a33b6753baaf0154b2a0690b744deae539de705558c4a56d317ccd2d8b854", "format": 1 }, { - "name": "tests/integration/targets/junos_lacp/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_command/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b4e206e6b128a783f03fdf33dc3e968fb730fb59f6f082db89a1be5f4c28a8ff", + "chksum_sha256": "8bf3d8209693784fd02f0c9f430519c3ee9d27d90c5aef93fb06efe0541cf77f", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_command/tasks/netconf_xml.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4c722c2d0b825c5c6e8d522640ecdc98b26084946a59de82cf0bfff07dac1fa7", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tasks", + "name": "tests/integration/targets/junos_logging_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", + "name": "tests/integration/targets/junos_logging_global/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_logging_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/meta", + "name": "tests/integration/targets/junos_logging_global/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/meta/main.yml", + "name": "tests/integration/targets/junos_logging_global/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "65beace3c6c7aeebd3ba5c0fce3d511c1a854c59b787d7c484a3b47f765ef66d", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/defaults", + "name": "tests/integration/targets/junos_logging_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/defaults/main.yaml", + "name": "tests/integration/targets/junos_logging_global/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tests", + "name": "tests/integration/targets/junos_logging_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf", + "name": "tests/integration/targets/junos_logging_global/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "70bf59e2250beff1ce0bc112e7a8c542b7f6182bf0e9f47fbbda45da3ec06de5", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fdea66c1005edd57bc77c5e95dc0d4db878e448ecaa2d766efdcc45f09fe8533", + "chksum_sha256": "bd4bc36fdaf73489ea9f8b6ccadb9eed4444fb5a042f87b57c45d03ebfbccd2d", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f03982c9fa9c148a3bce04ab16a14073564d6b96fb0dc9d80a4280d44bae67e6", + "chksum_sha256": "2d7f42fa466e6c747d83a19b6f437295ad2d3a3aae822c5b87218ad38a939acc", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c59df9ef3ff42cfd3bdd470925c0a3e1f8fdbead2dc6e2d201e46a2aa827d64a", + "chksum_sha256": "f562cdcf46e8914526dc833ea9dcd7853ce5f0889c860b253bf29a76d63e13ff", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5608ca62c28b3bf93f65e7eaad6130bb108162210583bf0538a6dbf212b8e2ff", + "chksum_sha256": "9af6e95d468868608a8ee2ac5a736e05d0912abf883f3004305aab0b12a64dbf", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/fixtures/parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "21f4f80f8a632bb05e189b506b3dd4ee2c52927fd9cb4023d5b1d2a307044983", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4cea93e925dd207634a39d7db89f41b3226361b684cd4e73907528b76b2de868", + "chksum_sha256": "610b72bbd1a2b52abebcad6740fe0e311eba9491d685a7132db0eb9ba367a205", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "38b76b973ae8e0c22e1c02fbd879d4924a8ddce3c54671353956c5aaacf59531", + "chksum_sha256": "1fc1a701e79dff995f7c73be2b536802657e37759b52c424d86cc6a08049956a", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/_reset_config.yaml", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/rtt.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0017fbbaa15229f0e59e1565894ec6236a9b6c38a0791822e83a0176d133559e", + "chksum_sha256": "34d2a9f5f1d5f2a942c6e963a493f71ba5404cf0f39bb6a6a549b956babf55c3", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_address_family/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/_initial_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cb5ceb89fa49b884da83854ef39519368b95df370bf98871b10d6ea9403f55df", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_system", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/junos_system/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "f3e5d31b5c95eeddd8db1b98e3d236b1845b57b8ec6325e7c72b58ed4f74b9d7", "format": 1 }, { - "name": "tests/integration/targets/junos_system/tasks/main.yaml", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e727033350980ea9df8bbfde6b874c51150f907f51fa8fc4cc8070e3f50ec5d3", + "chksum_sha256": "076fe1eb3dc4643aeee762bbd4d9539893b4dd224deac32f9593f6ac93c2eddd", "format": 1 }, { - "name": "tests/integration/targets/junos_system/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3006a95309847acbfecc0a9c6cbeaad782956e7814679010a9bbb7782cab4aa8", + "chksum_sha256": "326e85d7a20fce18191830f205ede5126f8e739e284bd9fbcc1dee1d311c9c34", "format": 1 }, { - "name": "tests/integration/targets/junos_system/meta", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/backups", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_system/meta/main.yml", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/backups/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_system/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "a199720ea8a377c143b7563572b60e1e5bb12f929695b914785cd436ccb89d4a", "format": 1 }, { - "name": "tests/integration/targets/junos_system/defaults/main.yaml", + "name": "tests/integration/targets/junos_logging_global/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "2ced1cd369a59d60b9f2de48c0d3e6284d71a54821f3f6501106a2ad7e0e90f0", "format": 1 }, { - "name": "tests/integration/targets/junos_system/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_logging_global/tests/netconf/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0d1cf41f011d78e8e4acb637d236eeec13f124dfa19a4426b91fcc5d2b938f5e", "format": 1 }, { - "name": "tests/integration/targets/junos_system/tests/netconf", + "name": "tests/integration/targets/junos_logging_global/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_system/tests/netconf/basic.yaml", + "name": "tests/integration/targets/junos_logging_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "737db05e1953f8db6a60807a390b2ade773dcf92b8f21d3aed93f10aa6a1c87b", + "chksum_sha256": "4239ce4ad6fc58a529cc073139b7b2abbdba62ae32bfc234e309af398d365eb6", "format": 1 }, { - "name": "tests/integration/targets/junos_system/aliases", + "name": "tests/integration/targets/junos_logging_global/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server", + "name": "tests/integration/targets/junos_hostname", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tasks", + "name": "tests/integration/targets/junos_hostname/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_snmp_server/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_hostname/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/meta", + "name": "tests/integration/targets/junos_hostname/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/meta/main.yml", + "name": "tests/integration/targets/junos_hostname/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "b98e791e7ad4cbfbd8ce30cb3022b270230ab2e45847c04fe77d5d1dd5bf7b12", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/defaults", + "name": "tests/integration/targets/junos_hostname/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/defaults/main.yaml", + "name": "tests/integration/targets/junos_hostname/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests", + "name": "tests/integration/targets/junos_hostname/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf", + "name": "tests/integration/targets/junos_hostname/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "92e2829fa0cb2f63063f5aace2377e2921f9321dd1e5268674a62dbd0d77a224", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_hostname/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6efb62f03f36c571dd83d43b78e7497edde18648430fea073e5ec4dd671b8201", + "chksum_sha256": "9d45b2a71361361156bc82215ae1acecdf8e0c6c198564221878e7aab20b9b29", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_hostname/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ec3e130e584202fe4c138bb15e0474f12f42d852180097e5723932d797e8842f", + "chksum_sha256": "7d34df5a47ff725e6c4b985f52025390db4b2f74d6d6b75cb8999cf2efc26eb3", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/_initial_config.yaml", + "name": "tests/integration/targets/junos_hostname/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9f4be4ad7d63358e8190d2fc6fcda1669d77b59e1e0d232e15ad338974d07c3a", + "chksum_sha256": "3b282d6a72bc4377ddfa8b8ca7739d097ab1d89a467ea7b1ba95f5380f512643", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/rtt.yaml", + "name": "tests/integration/targets/junos_hostname/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a7ff7fb0534ca8b333f965e51ff3fd5ebe47e18dc407ccf019e1d2e7f3e568d4", + "chksum_sha256": "600c48f1df3955d538656c3432aa43ea2adba586c577263aa7daa1f152e8446b", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/backups", + "name": "tests/integration/targets/junos_hostname/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/backups/empty_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a199720ea8a377c143b7563572b60e1e5bb12f929695b914785cd436ccb89d4a", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_hostname/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dc9d8ff5760507223877b37bb65c6083f14304740ead70129662304267d8324c", + "chksum_sha256": "bd14466157e5abe475ca8fa042823fb202ce9d4d5e507b377f1548a1cc73940d", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_hostname/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8cadf8b80457c955f22c1080c709652ac57874cd2ed8e5093086625d3e4fbc60", + "chksum_sha256": "26dabccea514448a4e4fcd5bb157ebf911ad78dcd005dad730fda67f7dee8f25", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/_populate_config.yaml", + "name": "tests/integration/targets/junos_hostname/tests/netconf/rtt.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dba186fea16ddf43f92a52e12447abb35f8768fa4ca4d4e197f40f4d67bbc6d9", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/fixtures", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "41871f4904f54fa80565b1e0d226e8f6c67ec826ad5aea279eb6961d82ac2996", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_hostname/tests/netconf/_initial_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "75d7ce74bc974651f36b79e38f6d82fa194348da859316ba96f7c8b46a462746", + "chksum_sha256": "230a242d02636957af38a09910128f5e3471a27c0895f4d02bf3b2c36c9720f5", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_hostname/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5b04a13a51a36b464330f8caf574c37db0e8da91c0149bfd246aa070c948c7b2", + "chksum_sha256": "3fcfdba1e96a9f37052d4971ca05776b4d52d6f4584cba773052ed6ea56ed3c7", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_hostname/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "05b7d590b4a4a01cef48c86b56ba744e3b28e8fe1aab50a1ebcad40ac25fb79c", + "chksum_sha256": "1bdcb4db12340c90eb076083e5e5e7ae60b3121b779016b7727822bd6fe55ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/_reset_config.yaml", + "name": "tests/integration/targets/junos_hostname/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f3c990bf8e5f662b59917bc792379f273fffe3268231ab5690d20283782ea3d5", + "chksum_sha256": "78b87fda1deca6d9a6d8decd0fb14b255db836008cc0325dbc179870e1640a65", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_hostname/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a10f5a5ea42df2a8c92afedc170caa9fb6b9bf04a3799e93f854f3a7faca8392", + "chksum_sha256": "015ba9b5d86865fa7e149a48af30c36323b5225c6142346863587bdd1c2d7b63", "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/vars", + "name": "tests/integration/targets/junos_hostname/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_snmp_server/vars/main.yaml", + "name": "tests/integration/targets/junos_hostname/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b78ff73f201d89a20ea8a6caee05dc207b6b68dc4c42e2790474775f17a28f", + "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_hostname/tasks/netconf.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tasks", + "name": "tests/integration/targets/junos_lacp", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_security_zones/tasks/netconf.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_security_zones/meta", + "name": "tests/integration/targets/junos_lacp/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/meta/main.yml", + "name": "tests/integration/targets/junos_lacp/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/defaults", + "name": "tests/integration/targets/junos_lacp/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/defaults/main.yaml", + "name": "tests/integration/targets/junos_lacp/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests", + "name": "tests/integration/targets/junos_lacp/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf", + "name": "tests/integration/targets/junos_lacp/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_lacp/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ae8d6e41134cd6292e031bde0a1e41390a0877b7a8aa2609b0611d21f8c92dd7", + "chksum_sha256": "9ac7dea1e62e62fc54d2af0f219eaee161e74dc246d6ef5639a8f254443390a6", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_lacp/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8ac531e0078326b78ed040e715ced5c69a57266a7ba0f8e878b5a132b3268a16", + "chksum_sha256": "b4e206e6b128a783f03fdf33dc3e968fb730fb59f6f082db89a1be5f4c28a8ff", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_lacp/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "29fb25dec128037263716c898deb0aaeb5aca9b98b069a7a4c3d0b941417f57b", + "chksum_sha256": "7456e8a75e4d01f284aadd830c4b3250aa7168aeece0f0ada452c16eaec6946e", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/_initial_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "97f5b6df3ba9463c6bffe711cf66d9f7ee8efeb65f153e4b47de128dc68e6a48", + "name": "tests/integration/targets/junos_lacp/tests/netconf/fixtures", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_lacp/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f7a29442765f7f3776e1b43980900eb7f2ebe5d17904e3fc36c601c41b7d28fb", + "chksum_sha256": "7206ec05e4a9670e83cc407c9ca5649eb57f01d30d3b176dece84accdeca69ae", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_lacp/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8d829c21014964be69edddccf727e72f3e20c6e97019bede439270ad4f5edcc5", + "chksum_sha256": "a5d0751e9f34444306957e4c7708e1e52f275b3b11a1ae206641c3bd821fbe86", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/rtt.yml", + "name": "tests/integration/targets/junos_lacp/tests/netconf/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8610a0f4f2176625cff923f881740f3834ae1e11eb3707ee655a9a5bc28f66ec", + "chksum_sha256": "98170a2521713ea54e67c82e273e1746738ed54819eb2fbb0856710d189d173d", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/_populate_config.yaml", + "name": "tests/integration/targets/junos_lacp/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0b0a4ab8f0b94769621bd3585b2338252acb7bb110fba2eaa0033eee5c669d48", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/fixtures", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "18a72bc9fa7af695681d1c5ad174431624a61b1d23646111622aa4badecabe67", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_lacp/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "72a5d8773cfbf73e55a219ddd23fc03d5698af853088f5087cb9d3916a7e2743", + "chksum_sha256": "2ab346f49b577ac56280a71bdb32cbc24d44a6aab4daaccf3adc2b75510463ba", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_lacp/tests/netconf/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "76407a5ce6e30b3b6bf16b5ae782d4fd7a0b92ae49ef92a7b77c755bbcbe2969", + "chksum_sha256": "5b50a1144438b3f499d9e8f6538323ef0af12994ccf5d3611ff695e8ef2a7022", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/parsed.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8a7c2f670c6bc9435a0bd6eca8d81fdbd924cf4140c149c11a1b5623709d7dea", + "name": "tests/integration/targets/junos_lacp/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/_reset_config.yaml", + "name": "tests/integration/targets/junos_lacp/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8d240f3c782eef1fd316414e92647db865fd6d8f416f4444f9c9fc13626703f3", + "chksum_sha256": "695c1124ba12e4fd97496b87a4a4cad41e513d56e0b9f2996da640f035ed2085", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_lacp/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8cc511b2192c8ed212733f44b30dc4ed907865504d862ef3701150be9366cc41", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/vars", + "name": "tests/integration/targets/junos_lldp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_zones/vars/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "af63125e0d6fbca0f844ff71b1f26210c452ad70cd094931bf0a177e1ddd73f7", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_hostname", + "name": "tests/integration/targets/junos_lldp_global/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tasks", + "name": "tests/integration/targets/junos_lldp_global/defaults/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_lldp_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tasks/main.yaml", + "name": "tests/integration/targets/junos_lldp_global/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tasks/netconf.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "name": "tests/integration/targets/junos_lldp_global/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/meta", + "name": "tests/integration/targets/junos_lldp_global/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/meta/main.yml", + "name": "tests/integration/targets/junos_lldp_global/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_hostname/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "bfc0302be4a1562069cc24b33ad2f6032ec18c776cae96f47ac225a17caf4168", "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/defaults/main.yaml", + "name": "tests/integration/targets/junos_lldp_global/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "302ab946a8bae94f9da38cc06e80451b1fbd778790ab2de216e309847f7b5425", "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_lldp_global/tests/netconf/gathered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d7b7d07fb1999244297de1f6b4586ae441d7ac97d9cfa8ce29e8efc98d4f4b4c", "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests/netconf", + "name": "tests/integration/targets/junos_lldp_global/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests/netconf/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "26dabccea514448a4e4fcd5bb157ebf911ad78dcd005dad730fda67f7dee8f25", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_hostname/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_lldp_global/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3b282d6a72bc4377ddfa8b8ca7739d097ab1d89a467ea7b1ba95f5380f512643", + "chksum_sha256": "dd2bd6bf5e3586c5121310490846758eeb302931b2b2a3fbce16e9405c849f67", "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_lldp_global/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "600c48f1df3955d538656c3432aa43ea2adba586c577263aa7daa1f152e8446b", + "chksum_sha256": "1bfa3e00a1ee208f76f178cb14758673ee897155206b335bfb79b822bda7d809", "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests/netconf/_initial_config.yaml", + "name": "tests/integration/targets/junos_lldp_global/tests/netconf/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "230a242d02636957af38a09910128f5e3471a27c0895f4d02bf3b2c36c9720f5", + "chksum_sha256": "7678b66e0721e989ac00cb0fabc55742be8954ee0fdbfaa4345c3068b4e1d7d4", "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_lldp_global/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "78b87fda1deca6d9a6d8decd0fb14b255db836008cc0325dbc179870e1640a65", + "chksum_sha256": "f6e3d2216d5e7a2065ca2473544679e8ccd268d9768d4e3be595dff8bd82e714", "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_lldp_global/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1bdcb4db12340c90eb076083e5e5e7ae60b3121b779016b7727822bd6fe55ce1", + "chksum_sha256": "40f118df09dc8e09b05a021a4968bca80384856a19502d0474c386c64fd0ca1b", "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests/netconf/rtt.yml", + "name": "tests/integration/targets/junos_lldp_global/tests/netconf/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "41871f4904f54fa80565b1e0d226e8f6c67ec826ad5aea279eb6961d82ac2996", + "chksum_sha256": "b7516dd5a2f70ddc84f498cb4119e6f66d077a0e5dac0360a943531a2b6bbcd4", "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_lldp_global/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_lldp_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bd14466157e5abe475ca8fa042823fb202ce9d4d5e507b377f1548a1cc73940d", + "chksum_sha256": "4239ce4ad6fc58a529cc073139b7b2abbdba62ae32bfc234e309af398d365eb6", "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_lldp_global/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "015ba9b5d86865fa7e149a48af30c36323b5225c6142346863587bdd1c2d7b63", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests/netconf/parsed.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "9d45b2a71361361156bc82215ae1acecdf8e0c6c198564221878e7aab20b9b29", + "name": "tests/integration/targets/junos_lag_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests/netconf/_reset_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3fcfdba1e96a9f37052d4971ca05776b4d52d6f4584cba773052ed6ea56ed3c7", + "name": "tests/integration/targets/junos_lag_interfaces/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_lag_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7d34df5a47ff725e6c4b985f52025390db4b2f74d6d6b75cb8999cf2efc26eb3", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/vars", + "name": "tests/integration/targets/junos_lag_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_hostname/vars/main.yaml", + "name": "tests/integration/targets/junos_lag_interfaces/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b98e791e7ad4cbfbd8ce30cb3022b270230ab2e45847c04fe77d5d1dd5bf7b12", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces", + "name": "tests/integration/targets/junos_lag_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tasks", + "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", + "chksum_sha256": "f6a63f014861a62d22b7969689f1dc3966a4282b8c95a165b1cc3d35018ae88e", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "45637e547498ff1d584b43d64cdb545283055dd51e7cbce649a1b344a5566cb0", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_l2_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "657037ae627b0e9265dbf5ed20bcd7e0e10f3987c751a443e5708a47df928de9", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/meta/main.yaml", + "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "bcf0f0aeee50ed4d9bafe71db01017fc7f05ef1d8451bd48cc8bb7ca7d309593", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/defaults", + "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "6362681d72bb84236c6063867d677a9c6802996a268047dc081ae4dead5345fe", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/_base_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "422b30525a97a151a644f4ef3e0905f48f6baba2382b53fda2d0670bcdc47c68", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/deleted.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "72efe0c964cbc8425cf2dbcd901ae1e93d5702142a0b3b7531686f4dbe896dd8", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/_remove_config.yaml", + "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2c23e7e54ae73e30c371d44aa84bd5e4e3e095b1b373afc52d4e7ec6f3bc258b", + "chksum_sha256": "1cb41bf2ef192855fa29d8ba1fc78380ae705498ba17b54345b003c15d8eea30", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bac996860ada5e921e149d186b95533139cbfaac0cac8424783899b2179a8d24", + "chksum_sha256": "d15eee369dbf92bd5b263170f19ecceccb1d29295f86f1ec0afa1b2542f8a43a", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "af33aa7223a48cab620bb31a6d1dfad55ea995fee1851de39926776775837cbc", + "chksum_sha256": "0354f48c3517eea3b0643f7999f6d127c124f7990be5cd6be92bba3c87aec71b", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/_base_config.yaml", + "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c17ed7273352e5ae3a01737054081b89f5daeef876d1c5fac0db5b2ecb8950e6", + "chksum_sha256": "cac34b639c32c5c27f26cda22f7d9aa11b4cbcaf8a8c2694622e3890526ebcc7", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/merged.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "13024460e326b04fd6fe6a7825e9a46b8bc6ce9819ba6cf5a846a341d58a3507", + "name": "tests/integration/targets/junos_lag_interfaces/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_lag_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0504fd9e84a3385d66e31ef84a8c7ffb8ddb525819593d5248a77947d9c78044", + "chksum_sha256": "4239ce4ad6fc58a529cc073139b7b2abbdba62ae32bfc234e309af398d365eb6", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/rtt.yml", + "name": "tests/integration/targets/junos_lag_interfaces/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "adda5cc44c1ab6f4eb7fa0a2f3812d0836957bdfc6e7eddfb8932d17a1895eb2", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_ospfv2", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/fixtures/parsed.cfg", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e0dcf81fecfea2443b931ea13585c90f86328910b71285add801bda7265c3636", + "name": "tests/integration/targets/junos_ospfv2/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_ospfv2/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6edd256af87afe61f3caa203f0d37301b58de62653a331fa388dde0a69eb6cc3", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/parsed.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b373b23c8385fde76eadd95edcfb45d2fe71f8b3e3b9b6554b311163d949ffc3", + "name": "tests/integration/targets/junos_ospfv2/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_l2_interfaces/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_ospfv2/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "19eb1cb8c4c2f40071b029eb62a7312e6b3273c7948a438b1b35ce780c32475b", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_banner", + "name": "tests/integration/targets/junos_ospfv2/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_banner/tasks", + "name": "tests/integration/targets/junos_ospfv2/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_banner/tasks/main.yaml", + "name": "tests/integration/targets/junos_ospfv2/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e727033350980ea9df8bbfde6b874c51150f907f51fa8fc4cc8070e3f50ec5d3", + "chksum_sha256": "24110506dce6a1acf10ba1ee0f7991f69fb454c9c464058dc6660085aeaac754", "format": 1 }, { - "name": "tests/integration/targets/junos_banner/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_ospfv2/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "be90db2aa35bf39ec0fc02a996e8d5e40b83b0917dab8aa2339a1d22ed5cad0e", + "chksum_sha256": "7442893271080723d682b5872b45909e0dd7832305a9ff3c5c9ba5edba5cd857", "format": 1 }, { - "name": "tests/integration/targets/junos_banner/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_ospfv2/tests/netconf/gathered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c5a6cb013c7e5d0568303d0ee58bcd26dcd3448f3b06dd34c9d599c34bd3f36a", "format": 1 }, { - "name": "tests/integration/targets/junos_banner/meta/main.yml", + "name": "tests/integration/targets/junos_ospfv2/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "9a4b7443f9567b41727a5d357e31f0495ef92d9b8d3d928f8567f8b2894f921a", "format": 1 }, { - "name": "tests/integration/targets/junos_banner/defaults", + "name": "tests/integration/targets/junos_ospfv2/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_banner/defaults/main.yaml", + "name": "tests/integration/targets/junos_ospfv2/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", + "chksum_sha256": "a690256e56d841b0e69010998ef63e9816121db1ac2a994f8800578e206c9fa2", "format": 1 }, { - "name": "tests/integration/targets/junos_banner/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_ospfv2/tests/netconf/deleted.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "17825b257c688893464a0094b309efd2e078fb8157f8477f5328a1ab6c5fbd97", "format": 1 }, { - "name": "tests/integration/targets/junos_banner/tests/netconf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_ospfv2/tests/netconf/_initial_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "973f85046cde058aa91399f01aafb04c042c52c802538639c1770c55cecf0c8d", "format": 1 }, { - "name": "tests/integration/targets/junos_banner/tests/netconf/basic.yaml", + "name": "tests/integration/targets/junos_ospfv2/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "560415c9318dc6aa3e10ceb7116f47daafb741ca68c148a09bc1acc3aa169354", + "chksum_sha256": "aa0d973fb111eb73bcbe02116f395956d21c2fd6a4c8a64cba5b53feb156a3dd", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_ospfv2/tests/netconf/overridden.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "cc2334e44cc814227f9f8c50446f4e005363b94642fd37455b8f902dde65ab24", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_ospfv2/tests/netconf/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "82ecb5453d4c76f99446240c9c1fa2d7f5fc45304d559325184bce03ba0f64a6", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tasks/main.yaml", + "name": "tests/integration/targets/junos_ospfv2/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", + "chksum_sha256": "f769f1442dfcb26eeefc4a20808e773eb1d5db8b0ce698e5af0f0d43405f7e28", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_ospfv2/tests/netconf/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "chksum_sha256": "f078d10b5fe4ca0a4caa44b968c5a9aead11e220f22ffe5d00845d02c8f881da", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/meta", + "name": "tests/integration/targets/junos_ospfv2/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/meta/main.yml", + "name": "tests/integration/targets/junos_ospfv2/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_security_policies_global/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "5faeba3c6c57e0ac48c1b15188434458eec4ad6520920210114d67e2a65aac57", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/defaults/main.yaml", + "name": "tests/integration/targets/junos_ospfv2/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests", + "name": "tests/integration/targets/junos_lacp_interfaces", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf", + "name": "tests/integration/targets/junos_lacp_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_lacp_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bb80b4f48c8de02108eb0fea7d780d64e59eb7326362ac192eb782391cf7181c", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/gathered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "16c2a1698ee0dbd5edc0c239f8986c08f8159528fe3b7990ed5873f60d003f8b", + "name": "tests/integration/targets/junos_lacp_interfaces/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_lacp_interfaces/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fafc2da62cf712d0117ae338fe363b040f5c7dd4969ce287dfa3318f6ac4423f", + "chksum_sha256": "efb275d54a7c21fd007e1d1c8b10b65d148a9121af425a4e7fbd60abacd23fc8", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/_initial_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ae8128c308746259f25d9bc41d97ee15b5c7405e674891d8ae599fc3e2328879", + "name": "tests/integration/targets/junos_lacp_interfaces/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/merged.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a589f47fc49da28c7f380734b48db2f682c1b2e432d77ab227d2f6f30682ff39", + "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "935fcb42d47d2cfe6ea5cd8aba20e8a83461f822ae45de8e2881c3393ae32139", + "chksum_sha256": "5507c1e13968eac2c90f6662a91ba3420c9af38e538372e9a64534cdd5952c61", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/rtt.yml", + "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "251482cdb55715eb323cb0c10b29292c8e73ba800d0fed4f4c192a846b25877a", + "chksum_sha256": "1ada2eacba8eb22edcabe39600c85b3d8089699d0664aeb08fe7ff322e910fca", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/_populate_config.yaml", + "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b7bb3d4ac43a4b6c4920580458fde90451217805f6fbe2e8d26507559f083519", + "chksum_sha256": "1215e9671a99210505a60d59ba0f148a8ec0fa67d333f82d3ec0fb7d8d872dcb", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4a98bcfdfa2c2acbd0f2bc2061457d855d4e18bfccd39d517aa1fb43fc2ade15", + "chksum_sha256": "77112338be093f7a03c25fd8749011e7ad7de2066542b44c09f291405a76da00", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/_base_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f42d4ccdf3bbc1b40266f59bb4bf7bb5d17522b9f9024108c8e04b749cd0589", + "chksum_sha256": "7782df6c4b604977c0c7f281092fbf10cbc91720007ef8e67dba22003450d145", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4905f9e7594d4b1d98f41721a16a66a810b538fbc0d6a85c0ce71f352c251523", + "chksum_sha256": "d1add93a918bfef3d70aef062c3aae94a47d1b3716a74b89358e966283c08ccf", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/_reset_config.yaml", + "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "95666f3ea0c587421ce2de87a8d6335bbfff236e8b4d1a9835a0278f186867cd", + "chksum_sha256": "cd919eaf78c0d5b2990f067ae16f1402f344ace9925c189958f7067884345d09", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ac117f64285489963952a8c90bcf8a5eb34e6f73f47814300043e78bee1efce9", + "chksum_sha256": "35ee38eac192f14a4904e7a0255a696112a831ecdf2a5c24f74a097f4500252c", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9e01243ac9906911f80837437215ddaaa5f2a25167bf042048a974f0b209500f", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies_global/vars/main.yaml", + "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cc9a26cdbd03e746f437f26100d24dbea854043ca957d63a3238e8da719c29e9", + "chksum_sha256": "498586a44d564daabbc39fc40cb7d8a4469f5882406a8ab46dc065412556c947", "format": 1 }, { - "name": "tests/integration/targets/junos_netconf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_lacp_interfaces/tests/netconf/overridden.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0d53434db13dd5c50d5a7cd84e3403b617f4c551b6aa7f51e298d0385de30133", "format": 1 }, { - "name": "tests/integration/targets/junos_netconf/tasks", + "name": "tests/integration/targets/junos_lacp_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_netconf/tasks/main.yaml", + "name": "tests/integration/targets/junos_lacp_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aa875f9fe92d7067f287fc4dbfb86e48469088e4f4d18ce116da50ca903ee0f7", + "chksum_sha256": "da661e43be2450ce0a58c2d1bd37b7670c88e33fba0da29cd410c6f23e189b9f", "format": 1 }, { - "name": "tests/integration/targets/junos_netconf/tasks/cli.yaml", + "name": "tests/integration/targets/junos_lacp_interfaces/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "826c7e9a0626f7e2c4e1f2565a026941489817111fe1c3013140672889e409ea", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_netconf/defaults", + "name": "tests/integration/targets/junos_snmp_server", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_netconf/defaults/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_netconf/tests", + "name": "tests/integration/targets/junos_snmp_server/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_netconf/tests/cli", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_snmp_server/defaults/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_netconf/tests/cli/netconf.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3823390234f45e755bc5d70615e1cc5e3d30ee5443be234fb4e8c9e788cee4b6", + "name": "tests/integration/targets/junos_snmp_server/vars", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_netconf/tests/cli/changeport.yaml", + "name": "tests/integration/targets/junos_snmp_server/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d37e2286b38da041dcf797bf980112ec1d49cde6a186eef9d07888ca60ef40af", + "chksum_sha256": "e3b78ff73f201d89a20ea8a6caee05dc207b6b68dc4c42e2790474775f17a28f", "format": 1 }, { - "name": "tests/integration/targets/junos_netconf/tests/utils", + "name": "tests/integration/targets/junos_snmp_server/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_netconf/tests/utils/junos_command.yaml", + "name": "tests/integration/targets/junos_snmp_server/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fe2b80159d9e159e367a89bbfaee14d1ad2a2a09c3ab0968e5891ab6adb9cee3", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies", + "name": "tests/integration/targets/junos_snmp_server/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tasks", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tasks/main.yaml", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", + "chksum_sha256": "05b7d590b4a4a01cef48c86b56ba744e3b28e8fe1aab50a1ebcad40ac25fb79c", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_security_policies/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "dba186fea16ddf43f92a52e12447abb35f8768fa4ca4d4e197f40f4d67bbc6d9", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/meta/main.yml", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "a10f5a5ea42df2a8c92afedc170caa9fb6b9bf04a3799e93f854f3a7faca8392", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/gathered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6efb62f03f36c571dd83d43b78e7497edde18648430fea073e5ec4dd671b8201", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/defaults/main.yaml", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "ec3e130e584202fe4c138bb15e0474f12f42d852180097e5723932d797e8842f", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/fixtures/parsed.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "75d7ce74bc974651f36b79e38f6d82fa194348da859316ba96f7c8b46a462746", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "39cd5df63bd55f3ddf784e611627b54029596c80fc25189fd00499a82de7d3ba", + "chksum_sha256": "92e2829fa0cb2f63063f5aace2377e2921f9321dd1e5268674a62dbd0d77a224", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/_initial_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e26d1bb898a8b80c5a4409fa8347b4686d22d68995c386b88b1acea58052b98b", + "chksum_sha256": "9f4be4ad7d63358e8190d2fc6fcda1669d77b59e1e0d232e15ad338974d07c3a", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3cb5abb3511da59cc841edf9b3120380ace3f373903d49a8df724d34940aefce", + "chksum_sha256": "f3c990bf8e5f662b59917bc792379f273fffe3268231ab5690d20283782ea3d5", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/_initial_config.yaml", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "63cb2d305f3b2b8375cfe110ccc027d605eb168ba862699a3b3a544b8d87296f", + "chksum_sha256": "8cadf8b80457c955f22c1080c709652ac57874cd2ed8e5093086625d3e4fbc60", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/backups", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/backups/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a7b3535922126dceed45fd5938029e83cd6184a6d2385e22e5ebc6bf5cd41f75", + "chksum_sha256": "a199720ea8a377c143b7563572b60e1e5bb12f929695b914785cd436ccb89d4a", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "76982131c022074bcf992f16061721685fa1136d527793ff18ff6470b0c1fb93", + "chksum_sha256": "dc9d8ff5760507223877b37bb65c6083f14304740ead70129662304267d8324c", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/rtt.yml", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5ce4ffcc6b729daec418088a402e4625e7ac2b65af7260c79adb6f11c8ed2ec5", + "chksum_sha256": "5b04a13a51a36b464330f8caf574c37db0e8da91c0149bfd246aa070c948c7b2", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/_populate_config.yaml", + "name": "tests/integration/targets/junos_snmp_server/tests/netconf/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f28b62ace16039ab3d1a158658ad0eee2a5aa1b60759cf1f61e6f2b1257254df", + "chksum_sha256": "a7ff7fb0534ca8b333f965e51ff3fd5ebe47e18dc407ccf019e1d2e7f3e568d4", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_snmp_server/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/fixtures/parsed.xml", + "name": "tests/integration/targets/junos_snmp_server/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c675cea3f99d7bc6a5a9416e9ba20e6745aa981968cab970fb378e6ee37ce5aa", + "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_snmp_server/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ecf1c66717a28d45cca3e598f7209834214cabedd726c3471116221f2e11f638", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/parsed.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "016771aea305560bd8dd151b5c956fc76a005fb72cb9499de0c379c194d1a704", + "name": "tests/integration/targets/junos_l3_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/_reset_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "904c7f297382fe7a7994ee762c1baa400d1350c1b305e6969014d151de1d1a9a", + "name": "tests/integration/targets/junos_l3_interfaces/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_l3_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e14fe35238c7a90cbc7404ad0f44596371a2eebaaa1a212d64f6e34cbffb21eb", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/vars", + "name": "tests/integration/targets/junos_l3_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_security_policies/vars/main.yaml", + "name": "tests/integration/targets/junos_l3_interfaces/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4deaf51b2f16c99c7681725fb943e6aebbd1148a35a640be0ab3eb755840ba3a", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_smoke", + "name": "tests/integration/targets/junos_l3_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_smoke/tasks", + "name": "tests/integration/targets/junos_l3_interfaces/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_smoke/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1ed6aab865c43fdcad8b6871d5800e82ca311f8f3823e56bca3d06b9bf7ba94c", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_smoke/tasks/cli.yaml", + "name": "tests/integration/targets/junos_l3_interfaces/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7bfbffe2f1c1a542332fdcbc89d4a3854ff15259e01a6bafef86a83fae35e3c2", + "chksum_sha256": "aae73401a3875d3e300c6cb1feaecfb90dda0960cb8a5e90ea0315542f199dc9", "format": 1 }, { - "name": "tests/integration/targets/junos_smoke/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_l3_interfaces/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fc09c85d3d223c19ea63a3fae43eb5638f3b5e6651609cf4d321208639122cbd", + "chksum_sha256": "800b45c331345dde3e54b0b067ff922982049dfa5f38a66d4dd3d84aba033581", "format": 1 }, { - "name": "tests/integration/targets/junos_smoke/meta", + "name": "tests/integration/targets/junos_l3_interfaces/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_smoke/meta/main.yml", + "name": "tests/integration/targets/junos_l3_interfaces/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_smoke/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "e1de14afc1f1c7fdfd493a909abb1a7750c41e523202b5f1b28b5e72697dc392", "format": 1 }, { - "name": "tests/integration/targets/junos_smoke/defaults/main.yaml", + "name": "tests/integration/targets/junos_l3_interfaces/tests/netconf/junos_l3_interfaces.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_smoke/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "13a0fdaad9f2c794ac4176d880607e72107f644d0cb12e7751bb487b4ad59f55", "format": 1 }, { - "name": "tests/integration/targets/junos_smoke/tests/cli", + "name": "tests/integration/targets/junos_l3_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_smoke/tests/cli/caching.yaml", + "name": "tests/integration/targets/junos_l3_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "63d3d2578702ff3bc51e29d16b7b4e63ed28edbddda8627ba2fd65b29f07315e", + "chksum_sha256": "4239ce4ad6fc58a529cc073139b7b2abbdba62ae32bfc234e309af398d365eb6", "format": 1 }, { - "name": "tests/integration/targets/junos_smoke/tests/cli/reboot.yaml", + "name": "tests/integration/targets/junos_l3_interfaces/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "54db130663eff024eb5b3fb6ac61d79ffae1ded3c341a1062579ae1c63be4e11", + "chksum_sha256": "07a74b16a6595dcb47295bc6af7c5d3d58f1e5920c9c3d9ff99d2c0b644897a7", "format": 1 }, { - "name": "tests/integration/targets/junos_smoke/tests/netconf", + "name": "tests/integration/targets/prepare_junos_tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_smoke/tests/netconf/common_utils.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "86f1d6186d9036ff2cda9b18be64f04264be2052476b9585b46f1cc18393299a", + "name": "tests/integration/targets/prepare_junos_tests/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_smoke/tests/netconf/module_utils_junos.yaml", + "name": "tests/integration/targets/prepare_junos_tests/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "591380db5e46372be7cdbe63d11848b9cef38dd8e57da857aad9739025919641", + "chksum_sha256": "851860fe2ed1258710d7fcf89ac5b7d8c3c87755e89ca56fdd79bea022eb2b92", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global", + "name": "tests/integration/targets/prepare_junos_tests/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/prepare_junos_tests/tasks/prepare.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "74b314e77e169d5a6035c8142bc45f78a868d1fccecef3e27cb3f3c750f72959", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tasks/main.yaml", + "name": "tests/integration/targets/prepare_junos_tests/tasks/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4239ce4ad6fc58a529cc073139b7b2abbdba62ae32bfc234e309af398d365eb6", + "chksum_sha256": "a8893cac7b99500ebfe79f20e4944144677404e0d3816991427c7a55add78d10", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tasks/netconf.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "name": "tests/integration/targets/junos_ospf_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/meta", + "name": "tests/integration/targets/junos_ospf_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/meta/main.yml", + "name": "tests/integration/targets/junos_ospf_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/defaults", + "name": "tests/integration/targets/junos_ospf_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/defaults/main.yaml", + "name": "tests/integration/targets/junos_ospf_interfaces/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests", + "name": "tests/integration/targets/junos_ospf_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5bea4a301b248089d1242c4856ce936920e927adf0f90bc87340ffdde692bb7c", + "chksum_sha256": "fe59572095f90670742714b59e6e2927e7586519f509e1f47ab61cff0f77c894", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f0c1fb4c8cf84929a522258d16fae2b12ae43b0bc2583c53ff1947c696b7219e", + "chksum_sha256": "768de6cab48ef7da91e3a62d9c1b220e11ebec0a87edc69c0f5434d518ced61c", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "753d4fd7d42e83bbb8a3ce79a2461ae524c7562be29ba448400ce1cd7444d7c5", + "chksum_sha256": "d638bd2d4b3aeb159dae307c1deadf8ceb7d1f750beda0f59aca094c4873924b", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/_initial_config.yaml", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "125dc25abbdefc1a5141d4e4b804774970b0edb77b4e7cb39f9aed1539671b17", + "chksum_sha256": "97384a43d4050a4fcd2e7d6bc07b458ac7123a090a225decd7a4563d9aba491a", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/backups", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/backups/empty_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a199720ea8a377c143b7563572b60e1e5bb12f929695b914785cd436ccb89d4a", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/fixtures/parse_ospf_router_id.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "875d944f33fb23214309cf2e6f915a7574d52b491c889bfea7d3fa3acb28f3b9", + "chksum_sha256": "a0460d8722acf4ccb04f2421ea81f55174132aec6b6f5aff0f3164a8378d7462", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f3e6613c568b4ed1e5d6f2e4a547cc0e2a256962622b8c8696f09e2e87a4889", + "chksum_sha256": "f60999fbccc0af10279afdf8e6f48d83e58d392e0b7c2559e11747d039b261ee", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/rtt.yml", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "63461bfdd8462a284de6db8f29fbc55a93ba7ba225ed31cd7dc87bc114239db7", + "chksum_sha256": "847f8aba20c0bcaf2784b4838a5a5e7ecdf1b796e81534aff0bffc84da5ef14e", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/_populate_config.yaml", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/_initial_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2828dbbe09b33274e4134fc6961743ca83b7e62889d178f07b71c0d2d6284cc8", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/fixtures", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "a4c7314dd0a394dfe668ed11858428df5b2c29b573ce7cda69c3328a266a1419", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bd14466157e5abe475ca8fa042823fb202ce9d4d5e507b377f1548a1cc73940d", + "chksum_sha256": "d87ee05d0ba2b1954bfdd3f9fd5c8671a94ea99331641ce8056515ca7fd7b5fb", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f9be81e5e1dc8e6df7b47cb2acea87f32e01204b2c1b499aee7b9d4044c4d01f", + "chksum_sha256": "24468c08de78c5021ba88a104de643df2e29ef6057a7071a9f5df57fe6de9898", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "06eb47716788d5240ba254ecefdb3f1d409876044e37eff9497968ffb2242777", + "chksum_sha256": "89d7df715e2566cbb2623be0dae95dd17499fa0bb60ac266e692b327441e1fca", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/_reset_config.yaml", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9d00d9a386f386ddb75b879de83a5ee69411386a8dedac51dccc0088290a5ee1", + "chksum_sha256": "d2a0a5e986d21f4febfc5d62bf68182848d907d8e4fa5dce4ac84ce608ddb5ce", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_ospf_interfaces/tests/netconf/merged_update.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0223fd85a1c3f6e28b13edac1b465269dcdc5ea469049fad798edec9ff6f75cb", + "chksum_sha256": "92c2ca40e73c8e2fa9addbe09f6a07743a7434233b046d5780684bf21e2b3f5a", "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/vars", + "name": "tests/integration/targets/junos_ospf_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_ntp_global/vars/main.yaml", + "name": "tests/integration/targets/junos_ospf_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8942f742ca8c7e92dfe7a19192742bcd5ece3d60e64ecdd055e6744f59e1b3b1", + "chksum_sha256": "5faeba3c6c57e0ac48c1b15188434458eec4ad6520920210114d67e2a65aac57", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_ospf_interfaces/tasks/netconf.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tasks", + "name": "tests/integration/targets/junos_ntp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", + "name": "tests/integration/targets/junos_ntp_global/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_ntp_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/meta", + "name": "tests/integration/targets/junos_ntp_global/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/meta/main.yml", + "name": "tests/integration/targets/junos_ntp_global/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "8942f742ca8c7e92dfe7a19192742bcd5ece3d60e64ecdd055e6744f59e1b3b1", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/defaults", + "name": "tests/integration/targets/junos_ntp_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/defaults/main.yaml", + "name": "tests/integration/targets/junos_ntp_global/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tests", + "name": "tests/integration/targets/junos_ntp_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tests/netconf", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "260cdebe02248e2994669ddf2406dacf75f35d794c7aa1bb632fc206aab4969e", + "chksum_sha256": "06eb47716788d5240ba254ecefdb3f1d409876044e37eff9497968ffb2242777", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bd88ebcdf63e03aa530319364228caa369894890daf117f259ba892e53973a60", + "chksum_sha256": "2828dbbe09b33274e4134fc6961743ca83b7e62889d178f07b71c0d2d6284cc8", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "99934f97a7d51eb4294206cbe75acc56c55895b6decbe884b613055e2179fc54", + "chksum_sha256": "0223fd85a1c3f6e28b13edac1b465269dcdc5ea469049fad798edec9ff6f75cb", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0f4c5c4214a07fe02adb0b614cae5b5ba8cef25129ace9de71e03ef43edd0dcf", + "chksum_sha256": "f0c1fb4c8cf84929a522258d16fae2b12ae43b0bc2583c53ff1947c696b7219e", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f3451d6348f96082b66fc6d5b7c0fd7ab01d3e77e22f69090177fda3fdf7bc5", + "chksum_sha256": "753d4fd7d42e83bbb8a3ce79a2461ae524c7562be29ba448400ce1cd7444d7c5", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2cfa6379cd3bac4d9b364334ad4812ee7ec214ed4f113fa5d5c9689148261e4d", + "chksum_sha256": "bd14466157e5abe475ca8fa042823fb202ce9d4d5e507b377f1548a1cc73940d", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9118328badb1bdd0fb390c0cd680051da3810adb7417c8d74a9560ae25f6daf7", + "chksum_sha256": "5bea4a301b248089d1242c4856ce936920e927adf0f90bc87340ffdde692bb7c", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/rtt.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "148be2f8a0bfff029ecc9b20ce6de3c0c2504c0a3f44e797f1523549d269e38d", + "chksum_sha256": "63461bfdd8462a284de6db8f29fbc55a93ba7ba225ed31cd7dc87bc114239db7", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/_reset_config.yaml", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/_initial_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eb71d58e72f9a854cbcf5528dadd4abf4134f8284c86e1f46fdc2e3b4e43a79d", + "chksum_sha256": "125dc25abbdefc1a5141d4e4b804774970b0edb77b4e7cb39f9aed1539671b17", "format": 1 }, { - "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "841e97d3c2594908704ec3742b171855dcc0bd3e66f350ac38335219c99a9a43", + "chksum_sha256": "9d00d9a386f386ddb75b879de83a5ee69411386a8dedac51dccc0088290a5ee1", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/overridden.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4f3e6613c568b4ed1e5d6f2e4a547cc0e2a256962622b8c8696f09e2e87a4889", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/backups", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tasks", + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/backups/empty_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a199720ea8a377c143b7563572b60e1e5bb12f929695b914785cd436ccb89d4a", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "875d944f33fb23214309cf2e6f915a7574d52b491c889bfea7d3fa3acb28f3b9", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_ntp_global/tests/netconf/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f9be81e5e1dc8e6df7b47cb2acea87f32e01204b2c1b499aee7b9d4044c4d01f", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_ntp_global/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tasks/main.yaml", + "name": "tests/integration/targets/junos_ntp_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "4239ce4ad6fc58a529cc073139b7b2abbdba62ae32bfc234e309af398d365eb6", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_ntp_global/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/meta", + "name": "tests/integration/targets/junos_prefix_lists", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/meta/main.yml", + "name": "tests/integration/targets/junos_prefix_lists/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_prefix_lists/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/defaults", + "name": "tests/integration/targets/junos_prefix_lists/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/defaults/main.yaml", + "name": "tests/integration/targets/junos_prefix_lists/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tests", + "name": "tests/integration/targets/junos_prefix_lists/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tests/netconf", + "name": "tests/integration/targets/junos_prefix_lists/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tests/netconf/_remove_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7678b66e0721e989ac00cb0fabc55742be8954ee0fdbfaa4345c3068b4e1d7d4", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_lldp_global/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1bfa3e00a1ee208f76f178cb14758673ee897155206b335bfb79b822bda7d809", + "chksum_sha256": "148be2f8a0bfff029ecc9b20ce6de3c0c2504c0a3f44e797f1523549d269e38d", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d7b7d07fb1999244297de1f6b4586ae441d7ac97d9cfa8ce29e8efc98d4f4b4c", + "chksum_sha256": "841e97d3c2594908704ec3742b171855dcc0bd3e66f350ac38335219c99a9a43", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tests/netconf/rtt.yaml", + "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b7516dd5a2f70ddc84f498cb4119e6f66d077a0e5dac0360a943531a2b6bbcd4", + "chksum_sha256": "bd88ebcdf63e03aa530319364228caa369894890daf117f259ba892e53973a60", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f6e3d2216d5e7a2065ca2473544679e8ccd268d9768d4e3be595dff8bd82e714", + "chksum_sha256": "99934f97a7d51eb4294206cbe75acc56c55895b6decbe884b613055e2179fc54", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dd2bd6bf5e3586c5121310490846758eeb302931b2b2a3fbce16e9405c849f67", + "chksum_sha256": "2cfa6379cd3bac4d9b364334ad4812ee7ec214ed4f113fa5d5c9689148261e4d", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "40f118df09dc8e09b05a021a4968bca80384856a19502d0474c386c64fd0ca1b", + "chksum_sha256": "260cdebe02248e2994669ddf2406dacf75f35d794c7aa1bb632fc206aab4969e", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bfc0302be4a1562069cc24b33ad2f6032ec18c776cae96f47ac225a17caf4168", + "chksum_sha256": "eb71d58e72f9a854cbcf5528dadd4abf4134f8284c86e1f46fdc2e3b4e43a79d", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_global/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "302ab946a8bae94f9da38cc06e80451b1fbd778790ab2de216e309847f7b5425", + "chksum_sha256": "4f3451d6348f96082b66fc6d5b7c0fd7ab01d3e77e22f69090177fda3fdf7bc5", "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0f4c5c4214a07fe02adb0b614cae5b5ba8cef25129ace9de71e03ef43edd0dcf", "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tasks", + "name": "tests/integration/targets/junos_prefix_lists/tests/netconf/replaced.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9118328badb1bdd0fb390c0cd680051da3810adb7417c8d74a9560ae25f6daf7", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_prefix_lists/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/junos_prefix_lists/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_prefix_lists/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/meta", + "name": "tests/integration/targets/junos_system", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/meta/main.yaml", + "name": "tests/integration/targets/junos_system/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_system/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/defaults", + "name": "tests/integration/targets/junos_system/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/junos_system/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests", + "name": "tests/integration/targets/junos_system/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf", + "name": "tests/integration/targets/junos_system/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf/_remove_config.yaml", + "name": "tests/integration/targets/junos_system/tests/netconf/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d9825909d170137f0169fb716d817d0aa41e949db1eea8d373f6723f57cba116", + "chksum_sha256": "737db05e1953f8db6a60807a390b2ade773dcf92b8f21d3aed93f10aa6a1c87b", "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "334b7920b11f296e7600cd48baeb18ce5cd288717543853461bc91e022041222", + "name": "tests/integration/targets/junos_system/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_system/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6a059ca58a6906d2b6480ac0296a83f7ca7d61af0aaeb5d9ed342299c366bb32", + "chksum_sha256": "e727033350980ea9df8bbfde6b874c51150f907f51fa8fc4cc8070e3f50ec5d3", "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf/groups.yaml", + "name": "tests/integration/targets/junos_system/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9e318dceb6f81af373d743ffa5272a28422a7e5f33f5a958cf2860c839901390", + "chksum_sha256": "3006a95309847acbfecc0a9c6cbeaad782956e7814679010a9bbb7782cab4aa8", "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf/_initial_config.yaml", + "name": "tests/integration/targets/junos_system/aliases", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "14b9c10e6800af658dc1f3fcdfb13e168951de360be87867f15411b43076c223", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf/rtt.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "95dc5232d1a73bc72ffb5dfab754c6d9971a24cf422e9001dc60ddaec899da07", + "name": "tests/integration/targets/junos_lldp_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf/merged.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "87e878b3a8097ffcca1fae275d5a643d86456c96f63ea9bafb5b7b7355afd10b", + "name": "tests/integration/targets/junos_lldp_interfaces/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_lldp_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "41a3d2ec866ea5cf2258c06ffbbe31038cab3cc1d6f79cdff6a99f88190a39e5", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_lldp_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_lldp_interfaces/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e0dcf81fecfea2443b931ea13585c90f86328910b71285add801bda7265c3636", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf/replaced.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "52957ef7daf70f40bf6a4741a42da5e7f82bbc6b67b830899667b62b6a5a4f85", + "name": "tests/integration/targets/junos_lldp_interfaces/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6dc3ad5aaaa7664632e3d9aba1a81f29423fff040085b78ca0eed5aa60530b58", + "chksum_sha256": "cb72a9194b46ee33eabbf1e9b67bb9e982f0033cb3ce2b1b19370db793c395e7", "format": 1 }, { - "name": "tests/integration/targets/junos_interfaces/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a745fb6c5059eb9c77cca93ddb1e91755acaa867ffd5f481395d43ad3728f5a5", + "chksum_sha256": "512148e07b86f3dfcda14c159b99af790e502329decce28fdad7dc87996133e7", "format": 1 }, { - "name": "tests/integration/targets/junos_acls", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/gathered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a91c48dc2e5c6fd960e2bac1fe2f708ef5ec53b73b5c58d4e2953479486935cc", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tasks", + "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tasks/main.yaml", + "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2f6151e4a2a93bc086b790ee3a501cdb7250d7f3f5a71fd06a1b89fe3881b101", + "chksum_sha256": "6eb35350f92a0ae0527f94e27daa5506279c181db31be1a332a9f74cee66ad8f", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "chksum_sha256": "f8da092b479832d981e18a403a247a5f398be51d3618bf9bcd6adecd6ade6603", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/_remove_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "064e57d0ef1ecabdf04ecbd83a445a257815c58717956e79fe358948b5189c8a", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/meta/main.yaml", + "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "b55ace9a6f0bfc64c2403a0dc378ad9ea4992f51795dd7e9580c244247ea688c", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "724ff8d403f1e5199c4782652db55274115ea8129b74ef73a7c231ef394e2bb4", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/defaults/main.yaml", + "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "1f0d41c05af0cfa16b80b0d129425353225ba19ea33206cf6dc4510f6efbffa1", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/rtt.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3789650f6288e17a8c1999331b043bf9403a7a5afeac87b647348f1ba9a3c05a", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf", + "name": "tests/integration/targets/junos_lldp_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/idempotent.yaml", + "name": "tests/integration/targets/junos_lldp_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "59eec828971eae9ba7b584d87b4e15dc788791d7e9a438765277f92163cea99f", + "chksum_sha256": "4239ce4ad6fc58a529cc073139b7b2abbdba62ae32bfc234e309af398d365eb6", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_lldp_interfaces/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4d36906bc9d6cb7839a210f7c688af552aced4332fe6d294c028c99c5d192808", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/gathered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1c78a03edc62e8fe5093769559049598ec54eed6ee34ff1be7a4bd7ca1d0f334", + "name": "tests/integration/targets/junos_netconf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/reset_policy_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3133d054fb17cecc431da4aacabda89136ea669baf1f930c8dd8bf961d850d2d", + "name": "tests/integration/targets/junos_netconf/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_netconf/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aa32412720d18dead847f85cd22c35705724541e489f3f045b117265c2da2b75", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/config_policy.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a7b613e7f4b3d626ddc5821c283c9d55ddbba350d37d7c523bf248e0fc599bf4", + "name": "tests/integration/targets/junos_netconf/tests", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/merged.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3f489f5450522cf2ca9078abbba22c104222032df32804d3be2fef2878c426b9", + "name": "tests/integration/targets/junos_netconf/tests/utils", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_netconf/tests/utils/junos_command.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f53e6ab652b057dfaccda221c21c65173c5d42ae6fb848ba73396771a3d5fa63", + "chksum_sha256": "fe2b80159d9e159e367a89bbfaee14d1ad2a2a09c3ab0968e5891ab6adb9cee3", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_netconf/tests/cli", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_netconf/tests/cli/changeport.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9692a9cc1e4349d5055f6592296758c5612979b869549b261d7f8cb22076ff52", + "chksum_sha256": "d37e2286b38da041dcf797bf980112ec1d49cde6a186eef9d07888ca60ef40af", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_netconf/tests/cli/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "05b0bcb9ae22db881ed263fa127eac84a234021ee88118dbca5c5656679ff978", + "chksum_sha256": "3823390234f45e755bc5d70615e1cc5e3d30ee5443be234fb4e8c9e788cee4b6", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/parsed.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c23da5d3f436231b378533a5ab89b086b7fa023f7a9780461f2d9c9ff3cdcab9", + "name": "tests/integration/targets/junos_netconf/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/_reset_config.yaml", + "name": "tests/integration/targets/junos_netconf/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "65b95de98f801d3efbbcc7c4ba777dc8af5e89a18d85876a2296d819243e9a4c", + "chksum_sha256": "aa875f9fe92d7067f287fc4dbfb86e48469088e4f4d18ce116da50ca903ee0f7", "format": 1 }, { - "name": "tests/integration/targets/junos_acls/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_netconf/tasks/cli.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "08e46921760c563c33b03eac99d451230904fffa85ee387ae65f51e61cf05c19", + "chksum_sha256": "826c7e9a0626f7e2c4e1f2565a026941489817111fe1c3013140672889e409ea", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans", + "name": "tests/integration/targets/junos_bgp_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tasks", + "name": "tests/integration/targets/junos_bgp_global/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_vlans/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_bgp_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/meta", + "name": "tests/integration/targets/junos_bgp_global/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/meta/main.yaml", + "name": "tests/integration/targets/junos_bgp_global/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "efb275d54a7c21fd007e1d1c8b10b65d148a9121af425a4e7fbd60abacd23fc8", + "chksum_sha256": "b153b729248015e1aaa1e5bc6f4db2bfa87170e1cd347099f4f4a31fb86a2b02", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/defaults", + "name": "tests/integration/targets/junos_bgp_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/defaults/main.yaml", + "name": "tests/integration/targets/junos_bgp_global/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests", + "name": "tests/integration/targets/junos_bgp_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf", + "name": "tests/integration/targets/junos_bgp_global/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/_remove_config.yaml", + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "771b5ef527b2dc79fd79336d9485837675f5f6cf429434fc27943f49a7e164ee", + "chksum_sha256": "f766f5ed3acca8c6b754d2bcdbbbbf459b75391dc12a6b63cef730358a39409f", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "217ad5b6e68a2d1cfdef9b4841dc5f91714a5034424265409be1ca7c7546c9a7", + "chksum_sha256": "92cf627fa61c4f4a4678156b3fa873264b1ced99c1c6bd2a93d8ccfa853aeb92", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "640ec1521d32739f67366042c0ec200638ed1b81603b55af0fd7300a7a6ad9b0", + "chksum_sha256": "1afed1f11693d4fcfcef6f5404d1bc14d62fdeb26bd3f43cc05ba1efd41762d6", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ae5ea725cc0a012e0c98b0a0e9d3d172dd8bb364f2e50779c4e6876b2e61c6bc", + "chksum_sha256": "a5ef27e2b0c24a04e52b871c4f660a2f2edd8420a4a5380c73da9382587bce8e", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/_base_config.yaml", + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/fixtures", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5d3cc2b3afe3dc0dadeea0b369c6745302fbbb6ada04c3defb870fea734f2d7b", + "chksum_sha256": "2d162dc9b1404da0180805dc8bf0f1b96f65950cbec78041396108887715866a", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/_initial_config.yaml", + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f2bf894f4956d79da86103eab885a01457f893317ded8b0cf5f2cd0f63ab2239", + "chksum_sha256": "8531868c12a65d880e751f8fccfdaa091562f8dea89c8641240946ec028f92af", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/rtt.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4fb4c83265fed002fe9ec78794e29394b3c567bdaf8df25da466ea56ad380bd2", + "chksum_sha256": "4dc545f32755c069f4533ed048730ad70050aea906982c181d43ec77cc4b7b1e", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/_initial_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5ea25501651a613ba680c4da9b6a018d85408f3bbe1290d9c79360ad041d0ac0", + "chksum_sha256": "20a1538392897f7778c8219a43a8662cd4e63e8568bca44f0437de3d4bc2e621", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/rtt.yml", + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cfff19b900dd791ca391b9fd18742fc3c355acfa6d00810d24214ac0f6bfc871", + "chksum_sha256": "b29393a5633254b0ccc43252a26235d5ddd9bae978d9a042ad63d114b99f3047", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/fixtures", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/overridden.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6271267f45321582881e7c1b8b0a4d4edd7f37b5f79a9e12d0a4d856b048871b", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3baba00d1d6d1dadb4b5976f47607540d8771ea4f07dcdcee03f5e376dd61165", + "chksum_sha256": "aa3d594cdca27a7016fbedcfa2fb295611ebdc65dc26af22ba18ec6c8a4d617c", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "63f819af50f638193f92ae6d4550e1db2ecc3e7f80eb2beade2288944c607988", + "chksum_sha256": "8e52f99edc30a0e4ee431600fea788437a003b5c6035ec22bf22fa5abf03cc7a", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_bgp_global/tests/netconf/purged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8c4c751a8589f2f8b9398d2f308546c9fd6f6786945135cafe407f05a7d6a551", + "chksum_sha256": "d916c1d36d28898d24fa09e1345f52f171b57e994cbcb06de96c726ddd2facab", "format": 1 }, { - "name": "tests/integration/targets/junos_vlans/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_bgp_global/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_bgp_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "df538e025fc1c99a5bcd71a5fa94ef936be10c15b8cb69ee3eacc97c3ec1d526", + "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/integration/targets/prepare_junos_tests", + "name": "tests/integration/targets/junos_bgp_global/tasks/netconf.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_acls", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/prepare_junos_tests/tasks", + "name": "tests/integration/targets/junos_acls/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/prepare_junos_tests/tasks/main.yml", + "name": "tests/integration/targets/junos_acls/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "74b314e77e169d5a6035c8142bc45f78a868d1fccecef3e27cb3f3c750f72959", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/prepare_junos_tests/meta", + "name": "tests/integration/targets/junos_acls/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/prepare_junos_tests/meta/main.yaml", + "name": "tests/integration/targets/junos_acls/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "851860fe2ed1258710d7fcf89ac5b7d8c3c87755e89ca56fdd79bea022eb2b92", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces", + "name": "tests/integration/targets/junos_acls/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tasks", + "name": "tests/integration/targets/junos_acls/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tasks/main.yaml", + "name": "tests/integration/targets/junos_acls/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4239ce4ad6fc58a529cc073139b7b2abbdba62ae32bfc234e309af398d365eb6", + "chksum_sha256": "c23da5d3f436231b378533a5ab89b086b7fa023f7a9780461f2d9c9ff3cdcab9", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_acls/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "chksum_sha256": "08e46921760c563c33b03eac99d451230904fffa85ee387ae65f51e61cf05c19", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_acls/tests/netconf/gathered.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1c78a03edc62e8fe5093769559049598ec54eed6ee34ff1be7a4bd7ca1d0f334", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/meta/main.yaml", + "name": "tests/integration/targets/junos_acls/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "aa32412720d18dead847f85cd22c35705724541e489f3f045b117265c2da2b75", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/defaults", + "name": "tests/integration/targets/junos_acls/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/junos_acls/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9692a9cc1e4349d5055f6592296758c5612979b869549b261d7f8cb22076ff52", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_acls/tests/netconf/reset_policy_config.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3133d054fb17cecc431da4aacabda89136ea669baf1f930c8dd8bf961d850d2d", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_acls/tests/netconf/config_policy.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a7b613e7f4b3d626ddc5821c283c9d55ddbba350d37d7c523bf248e0fc599bf4", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/_remove_config.yaml", + "name": "tests/integration/targets/junos_acls/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "064e57d0ef1ecabdf04ecbd83a445a257815c58717956e79fe358948b5189c8a", + "chksum_sha256": "4d36906bc9d6cb7839a210f7c688af552aced4332fe6d294c028c99c5d192808", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_acls/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f8da092b479832d981e18a403a247a5f398be51d3618bf9bcd6adecd6ade6603", + "chksum_sha256": "65b95de98f801d3efbbcc7c4ba777dc8af5e89a18d85876a2296d819243e9a4c", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_acls/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a91c48dc2e5c6fd960e2bac1fe2f708ef5ec53b73b5c58d4e2953479486935cc", + "chksum_sha256": "f53e6ab652b057dfaccda221c21c65173c5d42ae6fb848ba73396771a3d5fa63", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/rtt.yaml", + "name": "tests/integration/targets/junos_acls/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3789650f6288e17a8c1999331b043bf9403a7a5afeac87b647348f1ba9a3c05a", + "chksum_sha256": "3f489f5450522cf2ca9078abbba22c104222032df32804d3be2fef2878c426b9", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_acls/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "724ff8d403f1e5199c4782652db55274115ea8129b74ef73a7c231ef394e2bb4", + "chksum_sha256": "05b0bcb9ae22db881ed263fa127eac84a234021ee88118dbca5c5656679ff978", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_acls/tests/netconf/idempotent.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b55ace9a6f0bfc64c2403a0dc378ad9ea4992f51795dd7e9580c244247ea688c", + "chksum_sha256": "59eec828971eae9ba7b584d87b4e15dc788791d7e9a438765277f92163cea99f", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_acls/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_acls/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6eb35350f92a0ae0527f94e27daa5506279c181db31be1a332a9f74cee66ad8f", + "chksum_sha256": "2f6151e4a2a93bc086b790ee3a501cdb7250d7f3f5a71fd06a1b89fe3881b101", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_acls/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1f0d41c05af0cfa16b80b0d129425353225ba19ea33206cf6dc4510f6efbffa1", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_vrf", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_vrf/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_vrf/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cb72a9194b46ee33eabbf1e9b67bb9e982f0033cb3ce2b1b19370db793c395e7", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/junos_lldp_interfaces/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_vrf/meta", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_vrf/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "512148e07b86f3dfcda14c159b99af790e502329decce28fdad7dc87996133e7", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_user", + "name": "tests/integration/targets/junos_vrf/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_user/tasks", + "name": "tests/integration/targets/junos_vrf/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_user/tasks/main.yaml", + "name": "tests/integration/targets/junos_vrf/tests/netconf/basic.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d1b0fe67be093ce85673fdb2a29646edd61025742313f8ee12467201c6301d1c", + "format": 1 + }, + { + "name": "tests/integration/targets/junos_vrf/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_vrf/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "e727033350980ea9df8bbfde6b874c51150f907f51fa8fc4cc8070e3f50ec5d3", "format": 1 }, { - "name": "tests/integration/targets/junos_user/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_vrf/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "1946facde8e5b023ffc633db3d6261d8de690c1fb2101af1214f8d4d55ce1f56", "format": 1 }, { - "name": "tests/integration/targets/junos_user/meta", + "name": "tests/integration/targets/junos_banner", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_user/meta/main.yml", + "name": "tests/integration/targets/junos_banner/defaults", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/targets/junos_banner/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/junos_user/defaults", + "name": "tests/integration/targets/junos_banner/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_user/defaults/main.yaml", + "name": "tests/integration/targets/junos_banner/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "58c4318f7d20aff7df7bc4267d1f9fe62a4333a9012420e84274b35d4adf1b26", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_user/tests", + "name": "tests/integration/targets/junos_banner/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_user/tests/netconf", + "name": "tests/integration/targets/junos_banner/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_user/tests/netconf/basic.yaml", + "name": "tests/integration/targets/junos_banner/tests/netconf/basic.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e8e92d7542ad280130c12b8a8b2a964692a947cfbd81f71b79a72ea0a47824e8", + "chksum_sha256": "560415c9318dc6aa3e10ceb7116f47daafb741ca68c148a09bc1acc3aa169354", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global", + "name": "tests/integration/targets/junos_banner/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_banner/tasks/main.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e727033350980ea9df8bbfde6b874c51150f907f51fa8fc4cc8070e3f50ec5d3", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tasks/main.yaml", + "name": "tests/integration/targets/junos_banner/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", + "chksum_sha256": "be90db2aa35bf39ec0fc02a996e8d5e40b83b0917dab8aa2339a1d22ed5cad0e", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tasks/netconf.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "name": "tests/integration/targets/junos_interfaces", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/meta", + "name": "tests/integration/targets/junos_interfaces/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/meta/main.yml", + "name": "tests/integration/targets/junos_interfaces/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/defaults", + "name": "tests/integration/targets/junos_interfaces/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/defaults/main.yaml", + "name": "tests/integration/targets/junos_interfaces/meta/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests", + "name": "tests/integration/targets/junos_interfaces/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf", + "name": "tests/integration/targets/junos_interfaces/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_interfaces/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8531868c12a65d880e751f8fccfdaa091562f8dea89c8641240946ec028f92af", + "chksum_sha256": "6dc3ad5aaaa7664632e3d9aba1a81f29423fff040085b78ca0eed5aa60530b58", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_interfaces/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1afed1f11693d4fcfcef6f5404d1bc14d62fdeb26bd3f43cc05ba1efd41762d6", + "chksum_sha256": "a745fb6c5059eb9c77cca93ddb1e91755acaa867ffd5f481395d43ad3728f5a5", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/empty_config.yaml", + "name": "tests/integration/targets/junos_interfaces/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a5ef27e2b0c24a04e52b871c4f660a2f2edd8420a4a5380c73da9382587bce8e", + "chksum_sha256": "6a059ca58a6906d2b6480ac0296a83f7ca7d61af0aaeb5d9ed342299c366bb32", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/_initial_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "20a1538392897f7778c8219a43a8662cd4e63e8568bca44f0437de3d4bc2e621", + "name": "tests/integration/targets/junos_interfaces/tests/netconf/fixtures", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_interfaces/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aa3d594cdca27a7016fbedcfa2fb295611ebdc65dc26af22ba18ec6c8a4d617c", + "chksum_sha256": "e0dcf81fecfea2443b931ea13585c90f86328910b71285add801bda7265c3636", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_interfaces/tests/netconf/groups.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6271267f45321582881e7c1b8b0a4d4edd7f37b5f79a9e12d0a4d856b048871b", + "chksum_sha256": "9e318dceb6f81af373d743ffa5272a28422a7e5f33f5a958cf2860c839901390", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/rtt.yml", + "name": "tests/integration/targets/junos_interfaces/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4dc545f32755c069f4533ed048730ad70050aea906982c181d43ec77cc4b7b1e", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/fixtures", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "334b7920b11f296e7600cd48baeb18ce5cd288717543853461bc91e022041222", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_interfaces/tests/netconf/_initial_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2d162dc9b1404da0180805dc8bf0f1b96f65950cbec78041396108887715866a", + "chksum_sha256": "14b9c10e6800af658dc1f3fcdfb13e168951de360be87867f15411b43076c223", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_interfaces/tests/netconf/_remove_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8e52f99edc30a0e4ee431600fea788437a003b5c6035ec22bf22fa5abf03cc7a", + "chksum_sha256": "d9825909d170137f0169fb716d817d0aa41e949db1eea8d373f6723f57cba116", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_interfaces/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f766f5ed3acca8c6b754d2bcdbbbbf459b75391dc12a6b63cef730358a39409f", + "chksum_sha256": "41a3d2ec866ea5cf2258c06ffbbe31038cab3cc1d6f79cdff6a99f88190a39e5", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/_reset_config.yaml", + "name": "tests/integration/targets/junos_interfaces/tests/netconf/merged.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b29393a5633254b0ccc43252a26235d5ddd9bae978d9a042ad63d114b99f3047", + "chksum_sha256": "87e878b3a8097ffcca1fae275d5a643d86456c96f63ea9bafb5b7b7355afd10b", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/purged.yaml", + "name": "tests/integration/targets/junos_interfaces/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d916c1d36d28898d24fa09e1345f52f171b57e994cbcb06de96c726ddd2facab", + "chksum_sha256": "52957ef7daf70f40bf6a4741a42da5e7f82bbc6b67b830899667b62b6a5a4f85", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_interfaces/tests/netconf/rtt.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "92cf627fa61c4f4a4678156b3fa873264b1ced99c1c6bd2a93d8ccfa853aeb92", + "chksum_sha256": "95dc5232d1a73bc72ffb5dfab754c6d9971a24cf422e9001dc60ddaec899da07", "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/vars", + "name": "tests/integration/targets/junos_interfaces/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_bgp_global/vars/main.yaml", + "name": "tests/integration/targets/junos_interfaces/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b153b729248015e1aaa1e5bc6f4db2bfa87170e1cd347099f4f4a31fb86a2b02", + "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/integration/targets/junos_acl_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_interfaces/tasks/netconf.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_acl_interfaces/tasks", + "name": "tests/integration/targets/junos_facts", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acl_interfaces/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "dedf802497c657594764c710abb69c6a2eb5bf58fc7d51282731973a56e85168", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_acl_interfaces/tasks/netconf.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_acl_interfaces/meta", + "name": "tests/integration/targets/junos_facts/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acl_interfaces/meta/main.yaml", + "name": "tests/integration/targets/junos_facts/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a", "format": 1 }, { - "name": "tests/integration/targets/junos_acl_interfaces/defaults", + "name": "tests/integration/targets/junos_facts/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acl_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/junos_facts/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_acl_interfaces/tests", + "name": "tests/integration/targets/junos_facts/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf", + "name": "tests/integration/targets/junos_facts/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "ef107c677fdfb30ff79d823577ee1c84890bd7886acb6fb2396107b99fbcab53", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/gathered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "856be5720d341ecfe38ed73a6fc5b38bef58ba3cabda135a42df90fd65db649b", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/empty_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "91b36b428ce955f7929ec4195a256dccb2d2b5926093c9cfdfb969895c50786e", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/_initial_config.yaml", + "name": "tests/integration/targets/junos_facts/tests/netconf/network_facts.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "47cd198cd9eb3a08e813c896b92cfc0eda48eb31e4b11a35b55a7b97a0eb8932", + "chksum_sha256": "3235c9f223c17727372acb2d2bcd4045f28605d5e60afb7ec0d9fb4f4da89758", "format": 1 }, { - "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_facts/tests/netconf/facts.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b0433b5d3c8b197deeb46826bc3d796bdecc84e7eb860984bbf654aa610c6e6b", + "chksum_sha256": "9c4d7fd03f0a950b13ed257fd81af007019fa35f6b8e088b83ebc8195b5ef0a3", "format": 1 }, { - "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/overridden.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4e8c520f54c6ce56d0da73b90650b12c638dc19db9ee6df206077bdd6b07a626", + "name": "tests/integration/targets/junos_facts/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_facts/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "382845484c54c164ed28ab7b0ec3ee53e12e7d5c15f449715d5aa50aa201372b", + "chksum_sha256": "e727033350980ea9df8bbfde6b874c51150f907f51fa8fc4cc8070e3f50ec5d3", "format": 1 }, { - "name": "tests/integration/targets/junos_acl_interfaces/tests/netconf/_reset_config.yaml", + "name": "tests/integration/targets/junos_facts/tasks/netconf.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1b74a6f4e78bc9098e835c4eaa579a97f4264f521bbb3e5c2fb1b30e956370c1", + "chksum_sha256": "be90db2aa35bf39ec0fc02a996e8d5e40b83b0917dab8aa2339a1d22ed5cad0e", "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces", + "name": "tests/integration/targets/junos_security_policies_global", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tasks", + "name": "tests/integration/targets/junos_security_policies_global/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tasks/main.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4239ce4ad6fc58a529cc073139b7b2abbdba62ae32bfc234e309af398d365eb6", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_lag_interfaces/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_security_policies_global/defaults/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/meta", + "name": "tests/integration/targets/junos_security_policies_global/vars", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/meta/main.yaml", + "name": "tests/integration/targets/junos_security_policies_global/vars/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "cc9a26cdbd03e746f437f26100d24dbea854043ca957d63a3238e8da719c29e9", "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/defaults", + "name": "tests/integration/targets/junos_security_policies_global/meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/defaults/main.yaml", + "name": "tests/integration/targets/junos_security_policies_global/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tests", + "name": "tests/integration/targets/junos_security_policies_global/tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/_remove_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1cb41bf2ef192855fa29d8ba1fc78380ae705498ba17b54345b003c15d8eea30", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/deleted.yaml", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/parsed.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "72efe0c964cbc8425cf2dbcd901ae1e93d5702142a0b3b7531686f4dbe896dd8", + "chksum_sha256": "4905f9e7594d4b1d98f41721a16a66a810b538fbc0d6a85c0ce71f352c251523", "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/gathered.yaml", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/_populate_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bcf0f0aeee50ed4d9bafe71db01017fc7f05ef1d8451bd48cc8bb7ca7d309593", + "chksum_sha256": "b7bb3d4ac43a4b6c4920580458fde90451217805f6fbe2e8d26507559f083519", "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/_base_config.yaml", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/rendered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "422b30525a97a151a644f4ef3e0905f48f6baba2382b53fda2d0670bcdc47c68", + "chksum_sha256": "ac117f64285489963952a8c90bcf8a5eb34e6f73f47814300043e78bee1efce9", "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/merged.yaml", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/gathered.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0354f48c3517eea3b0643f7999f6d127c124f7990be5cd6be92bba3c87aec71b", + "chksum_sha256": "16c2a1698ee0dbd5edc0c239f8986c08f8159528fe3b7990ed5873f60d003f8b", "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/overridden.yaml", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/empty_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d15eee369dbf92bd5b263170f19ecceccb1d29295f86f1ec0afa1b2542f8a43a", + "chksum_sha256": "fafc2da62cf712d0117ae338fe363b040f5c7dd4969ce287dfa3318f6ac4423f", "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/fixtures", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/fixtures/parsed.cfg", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/fixtures/parsed.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6362681d72bb84236c6063867d677a9c6802996a268047dc081ae4dead5345fe", + "chksum_sha256": "4a98bcfdfa2c2acbd0f2bc2061457d855d4e18bfccd39d517aa1fb43fc2ade15", "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/replaced.yaml", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/deleted.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cac34b639c32c5c27f26cda22f7d9aa11b4cbcaf8a8c2694622e3890526ebcc7", + "chksum_sha256": "bb80b4f48c8de02108eb0fea7d780d64e59eb7326362ac192eb782391cf7181c", "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/parsed.yaml", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/rtt.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f6a63f014861a62d22b7969689f1dc3966a4282b8c95a165b1cc3d35018ae88e", + "chksum_sha256": "251482cdb55715eb323cb0c10b29292c8e73ba800d0fed4f4c192a846b25877a", "format": 1 }, { - "name": "tests/integration/targets/junos_lag_interfaces/tests/netconf/rendered.yaml", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/_initial_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "657037ae627b0e9265dbf5ed20bcd7e0e10f3987c751a443e5708a47df928de9", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_routing_options", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/junos_routing_options/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "ae8128c308746259f25d9bc41d97ee15b5c7405e674891d8ae599fc3e2328879", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tasks/main.yaml", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/_reset_config.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", + "chksum_sha256": "95666f3ea0c587421ce2de87a8d6335bbfff236e8b4d1a9835a0278f186867cd", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tasks/netconf.yaml", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/overridden.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", + "chksum_sha256": "935fcb42d47d2cfe6ea5cd8aba20e8a83461f822ae45de8e2881c3393ae32139", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/merged.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a589f47fc49da28c7f380734b48db2f682c1b2e432d77ab227d2f6f30682ff39", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/meta/main.yml", + "name": "tests/integration/targets/junos_security_policies_global/tests/netconf/replaced.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "4f42d4ccdf3bbc1b40266f59bb4bf7bb5d17522b9f9024108c8e04b749cd0589", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/defaults", + "name": "tests/integration/targets/junos_security_policies_global/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/defaults/main.yaml", + "name": "tests/integration/targets/junos_security_policies_global/tasks/main.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/targets/junos_security_policies_global/tasks/netconf.yaml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf", + "name": "tests/sanity", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf/deleted.yaml", + "name": "tests/sanity/ignore-2.15.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5afe0b0a0f964bbb1eacf828241f9d6880d4155e07dddebbc06cbab4fe1177be", + "chksum_sha256": "18bf204fc6f6e08b0c20807cd7974995ed92b7d77df238e11ca5f3116c537e29", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf/gathered.yaml", + "name": "tests/sanity/ignore-2.14.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "88a72f59e38cc345203ff46ac64edf209142a669b6775a94ed60408dbce4fae3", + "chksum_sha256": "18bf204fc6f6e08b0c20807cd7974995ed92b7d77df238e11ca5f3116c537e29", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf/empty_config.yaml", + "name": "tests/sanity/ignore-2.18.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f23a00ee4e2d649c926dfe56c6e601bf176145dafc88442dda848aa492d8797", + "chksum_sha256": "18bf204fc6f6e08b0c20807cd7974995ed92b7d77df238e11ca5f3116c537e29", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf/merged.yaml", + "name": "tests/sanity/ignore-2.17.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "33aaaf4d48243dbe9296e9e042cb27f360bee34a8587a1516ce0e8796e498fce", + "chksum_sha256": "18bf204fc6f6e08b0c20807cd7974995ed92b7d77df238e11ca5f3116c537e29", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf/overridden.yaml", + "name": "tests/sanity/ignore-2.16.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "38c77427a98ffbc4a623dc01722e565c08754282a0a0eaf02e7dfe440badb6ef", + "chksum_sha256": "18bf204fc6f6e08b0c20807cd7974995ed92b7d77df238e11ca5f3116c537e29", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf/rtt.yml", + "name": "tests/config.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "97ed698e3215b67ef24ac3aa69d44da18c193f9f02d3ea2a876ea637273cd02c", + "chksum_sha256": "4129945061440c8d8c281590b8054b194f5958833c722aa40e878b09038c380e", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf/_populate_config.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "aeec20572a2337eb6920f08c1e683df42a2d77157b627cc3c702ae785f381d6e", + "name": "tests/unit", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf/fixtures", + "name": "tests/unit/mock", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf/fixtures/parsed.cfg", + "name": "tests/unit/mock/loader.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aa310db3ac9c122a80e375582988ad5f7e3b27ee1ef2984a09e92db2826f4d1f", + "chksum_sha256": "2343d1f644250d4b616f0bf0a826fdee8fe306243d8412d44dd0e033352b262b", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf/replaced.yaml", + "name": "tests/unit/mock/yaml_helper.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b9eb04d768dfe49511a2c8588034ed0e5a60781148eaa462083fde53f558a501", + "chksum_sha256": "134eef238c83a9611799871b743e49e9bfbcd8bdddf2cc6a7bf69fd1000345b3", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf/parsed.yaml", + "name": "tests/unit/mock/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "140f095f42a3049193e72a297b0f320e4f3c9d9bf630fd555033db3cb796e90b", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf/_reset_config.yaml", + "name": "tests/unit/mock/vault_helper.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "feacd22c689c662edd50c17c3daf13276734c2aea867a7af21dbeb13a309a6e2", + "chksum_sha256": "55bd0e924dcc22d050612c944bff0ef745e51faac9260dce9b9b2018c4c8a661", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/tests/netconf/rendered.yaml", + "name": "tests/unit/mock/procenv.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f691b0994a2a45d0cb98c0f6fe2b9e9970be59a4dc8e48297d425499e52d1ba4", + "chksum_sha256": "3ff983479d7aa4b90efe73337f723c14224edabcdfde4efe49f24cd905f45f1a", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_options/vars", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "tests/integration/targets/junos_routing_options/vars/main.yaml", + "name": "tests/unit/mock/path.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b0dad22bd982e1dc14740d32937c7c31ddf82f5fe6d1689a15fc723aa2fe5f91", + "chksum_sha256": "110552d5ab0ffabe2bc6b6c57e9f389be3920da2e0f37ea5b628795d1b426bfd", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances", + "name": "tests/unit/plugins", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tasks", + "name": "tests/unit/plugins/terminal", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tasks/main.yaml", + "name": "tests/unit/plugins/terminal/test_junos.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6859e775c6926fd41248bfce2e80a71c7e08cc626a5cf5882bbd5134e1e58e46", + "chksum_sha256": "0c1a68c4e3aa8f143a63f903461ac72b7db68911ec8800961455f6d68c5c7ffb", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tasks/netconf.yaml", + "name": "tests/unit/plugins/terminal/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "15aaeadf08b810a04988939fc6892194f234c2d34ed21230574d914448e20ce1", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_routing_instances/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/meta/main.yml", + "name": "tests/unit/plugins/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/defaults", + "name": "tests/unit/modules", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/defaults/main.yaml", + "name": "tests/unit/modules/conftest.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "e0ae70fa7c2a5e56d7f02a47c3602398cff60c8eb021772ac59a76df2a234048", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tests/netconf", + "name": "tests/unit/modules/network", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tests/netconf/deleted.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7f82e8795705fb9302d04f74dcce0137f7a8788c9c85eb2379ca6acdae0482d6", - "format": 1 - }, - { - "name": "tests/integration/targets/junos_routing_instances/tests/netconf/gathered.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4245f6c677e2c7abffa6c8be158ba432af572304448f2f7baa8156e107938c86", + "name": "tests/unit/modules/network/junos", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tests/netconf/empty_config.yaml", + "name": "tests/unit/modules/network/junos/test_junos_package.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a8d2acc111a2980a9bc317bac9d08c68230f8b44cef3ffb56b516c0a71596bc1", + "chksum_sha256": "e74fe746328d25c2d91e6b36d1cec21790944513db03b9fef7831f88237bd2fa", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tests/netconf/_initial_config.yaml", + "name": "tests/unit/modules/network/junos/test_junos_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "618fd41de1d2ba07af50f84e9e7e25ffee98121299422765bbd6a4cd43ea615c", + "chksum_sha256": "dfca738f321c8cad9917b4df3d8ade6e01e7c5db148839f7acfecb32f532af41", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tests/netconf/merged.yaml", + "name": "tests/unit/modules/network/junos/test_junos_facts.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e4083fb5493628e48734ba76d4cf99b1f4e7fe815a6aa18f740e6021310a1f3f", + "chksum_sha256": "0134d1cdb19aec1757ac485a4187a59e16c0eb7c6fd839007745ff8483ca8cb1", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tests/netconf/overridden.yaml", + "name": "tests/unit/modules/network/junos/test_junos_security_policies.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d32cbe476e915ccf76733adf534ccf9309395d6799353ef8aed11b3fbd6ca301", + "chksum_sha256": "de01636e26fd6ced0f76b08dd1e74616d95030b82e81ed52cb20530fb569b0de", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tests/netconf/fixtures", + "name": "tests/unit/modules/network/junos/fixtures", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tests/netconf/fixtures/parsed.cfg", + "name": "tests/unit/modules/network/junos/fixtures/junos_interfaces.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "049f649304e92c13c8f5e6d00b7deeac4bd7dd1c3b14321407a46ee15863d544", + "chksum_sha256": "65df2d02ae1f7f5dca4d74f0ae59e12737cdf93eb7ea35de636b0d14ea9322c6", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tests/netconf/replaced.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_interfaces_config.xml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2629804c535bb7e552f7d44b7ffced5fa494809e44aa0a016dd4bea636741c08", + "chksum_sha256": "e0dcf81fecfea2443b931ea13585c90f86328910b71285add801bda7265c3636", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tests/netconf/parsed.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_bgp_global.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "707b5d9aa8e023d22f7ea57a1cce39fe05c6079f01c69dfe0d6312b76363cdba", + "chksum_sha256": "7b3b18f683207cb7d272bbc509b50c37eda8b58dc6cfe4aa04978241a32c802b", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tests/netconf/_reset_config.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_ping_ping_10.10.10.20_count_4", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8ba46007f3628fbe6ee4591f4ad6b279f6f19ac5d91248ff4cec5fee3a3be931", + "chksum_sha256": "bf73afa78e3abecd0fd0f9fcce47d0e8684deed25a54bccdcfce911a083e7c0c", "format": 1 }, { - "name": "tests/integration/targets/junos_routing_instances/tests/netconf/rendered.yaml", + "name": "tests/unit/modules/network/junos/fixtures/get_configuration_rpc_reply_xml.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "41158fc9c9c801d84be463ea99b38536554851c6a8a4427a333793b78b542869", + "chksum_sha256": "9646d44347455a648826a01a979a033c85488b33f0663ef83a1602f98a3eabd0", "format": 1 }, { - "name": "tests/integration/targets/junos_config", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/get_configuration_rpc_reply.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c1794bf9ef01dea9904756da46036db8e8520e95c292a68bcf3e8545ef0c9f90", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/junos_bgp_address_family.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "7b3b18f683207cb7d272bbc509b50c37eda8b58dc6cfe4aa04978241a32c802b", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tasks/main.yaml", + "name": "tests/unit/modules/network/junos/fixtures/load_configuration_xml.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fba795a2f2f8c6b449e057d2c14be5aa9ea9e94bfc19aa628dddb26130e7911f", + "chksum_sha256": "b9095b5352838f46207fca0046504e331c8d370dc85332520ccc0247028479f9", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tasks/netconf.yaml", + "name": "tests/unit/modules/network/junos/fixtures/show_chassis_routing-engine_xml.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "be90db2aa35bf39ec0fc02a996e8d5e40b83b0917dab8aa2339a1d22ed5cad0e", + "chksum_sha256": "a9818e113293701cc01971ed0c7edb733f81384d539c08d49af16b56356ead12", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tasks/cli_config.yaml", + "name": "tests/unit/modules/network/junos/fixtures/show_version_json.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "898ac0c25c8756735dba3ece1d68f589e01c1351ddae4f4d045873fe65c9f064", + "chksum_sha256": "00d9dd3100b96e96a6692f58f5d3a792275f1703a64acdbddf69601a7c93834c", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tasks/redirection.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_l2_interfaces_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fc890d4d4d13191bbbbe07f1edf38861cd83759d33e4456fdacfc21acce63db3", + "chksum_sha256": "e0dcf81fecfea2443b931ea13585c90f86328910b71285add801bda7265c3636", "format": 1 }, { - "name": "tests/integration/targets/junos_config/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/show_chassis_hardware_xml.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d6d686902c059632720826594a665ebdda8cfe166ec082796ae56da11d64e421", "format": 1 }, { - "name": "tests/integration/targets/junos_config/meta/main.yml", + "name": "tests/unit/modules/network/junos/fixtures/get_configuration_rpc_reply_set.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "0b9e2ca1106615a162444ab130bdeb6c56f601e617060022b96ad5ff2311d0d6", "format": 1 }, { - "name": "tests/integration/targets/junos_config/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/junos_ospfv2_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "71b084d4497ff84b165285a49320f353fc97f2839bcf47fcad05bd3b5e05b036", "format": 1 }, { - "name": "tests/integration/targets/junos_config/defaults/main.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_ospfv3_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "b9f3fc1df4bee23098cf23bfa6a67d0c6fb9f1cae822426af13ad6c4268b3361", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/get_configuration_rpc_reply_diff.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3c61cfce095ac967c024d72f88f3f6fb02d8597af464fe68aed4e19ee125fa0a", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/netconf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/junos_config.set", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "533fb52817ff0c37cf4de7ad9fee8fb63587882fccfdbcd1f6a928b5f4ac0165", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/netconf/invalid.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_config.xml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "76594cda9479fe42fcc322308d028e273d33d8f54f4be9ae59d47fbf2b64c611", + "chksum_sha256": "7f20565b1504913b40b5e6c3a181a184884847beaad0b5e9d153f4695acd6c8d", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/netconf/multiple.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_ospfv3.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a101529e9f690d667375cbc2c1af3c165b84bbf028a57e32e656335bc6fd8b48", + "chksum_sha256": "4473a0f4634d65ecdf1d9ab0e02ad91ffc7a6ed9031abe91a0ef9e4e02aadd58", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/netconf/single.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_ospfv2.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8a764839bae6345fe760c187666e16afa24c8ef0e1d2394976516abe824c041a", + "chksum_sha256": "0fb6b3eba75e5cf010f196a9f376f6d890508caa25726faeeec3cf0b8120579c", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/netconf/bad_action.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_vlans_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1a8a59bf146aaa8353f85ecae0b178f16409782aa376f42ff22c7707ec351b6c", + "chksum_sha256": "3b3800aac4bb8cb5e3e3d7e95fafdf870ad2bcff4507f9d4f763c8229d4dd4e3", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/netconf/src_basic.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_l3_interfaces.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "48b84bd53ef11400ce442cba8558667a982dd8e84497e3e23ffa7791b1c342dd", + "chksum_sha256": "98490f3b9ec1e6e82897e25048eec0a74e602fba1047832f132ab97b87e3e2fa", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/netconf/backup.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_bgp_address_family_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fc13146756466fb242b2846c094c66512bef612525d04b84ec383e2ae76b58f8", + "chksum_sha256": "c0bf370e7a4fd2b80232065fd7c03cfc5ef7aaecc5597a7d8e6e45dda8301dee", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/netconf/src_invalid.yaml", + "name": "tests/unit/modules/network/junos/fixtures/show_system_memory_xml.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c2d40a306a95cbd2ec37c729bba258c2a7acdded7eac74eb3fc18f5c78e83e60", + "chksum_sha256": "962e8ea71a1ac6eb59d63e094f6fdc59afa2906c2d566a6f6092a8ec5e3f8e6f", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/redirection", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/__init__.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/redirection/shortname.yaml", + "name": "tests/unit/modules/network/junos/fixtures/show_system_storage_xml.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6b1f7d41f6377e7456ac464eef4de5bc86a5dbef030d57b77b361c73471b91b3", + "chksum_sha256": "95430aab542287c13556d64fedaa017250d82bcd09bd9fcca6f7439838d9af7f", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/cli_config", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/junos_ospf_interfaces_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b9f3fc1df4bee23098cf23bfa6a67d0c6fb9f1cae822426af13ad6c4268b3361", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/cli_config/cli_backup.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_routing_options_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1cfa70ec55d445903975a372167840d1f175641604c847f8741acf28ee8e378b", + "chksum_sha256": "28bb98e8ecfb270479852cb8a0ab34c6e6362ec60e7858f64bd4843c76d548b7", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/cli_config/cli_basic.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_ntp_global_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eba80fbddca0baa46c7439ee80946990cd91e55da912b9571ae6559288b6d15c", + "chksum_sha256": "cf65e12feb7d404a9b0e0a999103bf037c07ed11709f676988d5debcbaadafbf", "format": 1 }, { - "name": "tests/integration/targets/junos_config/tests/cli_config/cli_replace.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_ping_ping_10.10.10.11_count_5_size_512_interval_2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b1a748515ac3e7ede4724251b01372dcc5b4a9676a417aaf744fdbfb1e597994", + "chksum_sha256": "2dc39ef974356df3ba62871556a0253541b5fad3cad4e3ff1ea3d69101b6ad43", "format": 1 }, { - "name": "tests/integration/targets/junos_config/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/junos_ping_ping_10.10.10.12_count_5_do-not-fragment_rapid", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "58cfa0cf75995cf12c2dc3bc72fc13182c13f1cbbab31543a07e8545350d19b1", "format": 1 }, { - "name": "tests/integration/targets/junos_config/templates/basic", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/junos_logging_global_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0536991827ef435cce6176c19a2fd1f906673459e231018172247fac6f606f7b", "format": 1 }, { - "name": "tests/integration/targets/junos_config/templates/basic/config.xml", + "name": "tests/unit/modules/network/junos/fixtures/junos_ping_ping_10.10.10.10_count_2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4d6334450d173802f80b0c55ea41fa8e094afeabfe76c14d54c036b8d48a9eee", + "chksum_sha256": "45b8dcf26e3f693cbfd5e66a886f6c42c8427844e62cc3fee6fa02950c80e832", "format": 1 }, { - "name": "tests/integration/targets/junos_config/templates/basic/config.set", + "name": "tests/unit/modules/network/junos/fixtures/get_configuration_rpc_reply_json.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e55d8c57f22746493a68395134a4c07e361bf83a7f5b21a95905ef7ee40cbda1", + "chksum_sha256": "1e77d8a4c829ca72a36c925ed12e7dcb6117ab7369f1f059b4fa9dedbea7f589", "format": 1 }, { - "name": "tests/integration/targets/junos_config/templates/basic/config.j2", + "name": "tests/unit/modules/network/junos/fixtures/junos_ospf_interfaces.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7f984e7d5384674518e1bd994d53139ad2a3d56cc8d823c078c00a1e65c94cda", + "chksum_sha256": "50828852d511aafe1ec8580f427386ded914d7cfcd79fe6ccaadab5f8128164a", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/junos_security_policies_global_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e9462852c080047c4d22f2521a2915964b45d55848dbc2c348bf6238f1b4114b", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/show_version_xml.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "919747d67bc939991faa1a64441e9a22b997d240df74c0991e361776dc8ecaa2", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/tasks/main.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_snmp_server_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4239ce4ad6fc58a529cc073139b7b2abbdba62ae32bfc234e309af398d365eb6", + "chksum_sha256": "ff3d690032a33fc60a78b722b81c3f2038df2cb1b8aa56d5b186c80bfecdd195", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/tasks/netconf.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_config.text", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "07a74b16a6595dcb47295bc6af7c5d3d58f1e5920c9c3d9ff99d2c0b644897a7", + "chksum_sha256": "52acbee815525e2a4ce9fca63c85297c52a32a0d6957c41bc3f37c3b90b4ae3b", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/junos_security_policies_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1216c97a8cdee96ebcab47ca43769b6ed167880e85eef5e9ccb179ce19ccafd0", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/meta/main.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_prefix_lists_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "bbb29c36dc361586ea1762fbb6f8ded0716e7046e0b3ab5022b3c96ba4b45dce", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/junos_config.json", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "38efed50de799e3f3a85e4609ee840ad8dd285d1e59d2c21d30dacbb136e85b7", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/defaults/main.yaml", + "name": "tests/unit/modules/network/junos/fixtures/show_version_text.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9894ee154c7a39aa7a1e65d027dfc12b8643e1a3df53d3c09bbab9eeb44a1cf1", + "chksum_sha256": "2a1956bb5615571aa71269bb65caae43c44f59430097b755eaee205ce60c4da8", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/get_configuration_rpc_reply_text.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b8288d3ef161c912a6016c1979234cfb8061d730f90ad6cac8a55de097d5ea1c", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/tests/netconf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/junos_routing_instances_config.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "9492071c37154f5769046e38477904bf0829498697f3c2b4fd0b214ef14a27da", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/tests/netconf/junos_l3_interfaces.yml", + "name": "tests/unit/modules/network/junos/fixtures/junos_bgp_global_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "13a0fdaad9f2c794ac4176d880607e72107f644d0cb12e7751bb487b4ad59f55", + "chksum_sha256": "8951ff0e1a3b6d71c64c3c00e22d6a9abf665c4ba9cc9ac55aa3f2fc487c7a22", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/tests/netconf/fixtures", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/fixtures/junos_l2_interfaces.cfg", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "24c59086e1366073480715f57aacecc54e44c120e17b25b2f7402333aa1cb0ef", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/tests/netconf/fixtures/parsed.cfg", + "name": "tests/unit/modules/network/junos/fixtures/show_interfaces_details_xml.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e1de14afc1f1c7fdfd493a909abb1a7750c41e523202b5f1b28b5e72697dc392", + "chksum_sha256": "5da1160ee1c09d42921f8664244e49c31ac21bf2b784e94794b4f134a36af4ed", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/tests/netconf/parsed.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_hostname_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aae73401a3875d3e300c6cb1feaecfb90dda0960cb8a5e90ea0315542f199dc9", + "chksum_sha256": "86436c245da27a6ddaf085a66679b98fcba33b0d5ef801652d8bde564c5f4417", "format": 1 }, { - "name": "tests/integration/targets/junos_l3_interfaces/tests/netconf/rendered.yaml", + "name": "tests/unit/modules/network/junos/fixtures/junos_security_zones_config.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "800b45c331345dde3e54b0b067ff922982049dfa5f38a66d4dd3d84aba033581", + "chksum_sha256": "72a5d8773cfbf73e55a219ddd23fc03d5698af853088f5087cb9d3916a7e2743", "format": 1 }, { - "name": "tests/integration/targets/junos_logging", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/test_junos_snmp_server.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "400649e3f999cffb5f8b768ae70ec46b41e61fbc92e5c47ff24f1c7cc4ed9ca5", "format": 1 }, { - "name": "tests/integration/targets/junos_logging/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/test_junos_ospf_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "3e501f52f5f8c77263a01aeb701de55882953fb22e5e9ff6fccbfb6ad3141721", "format": 1 }, { - "name": "tests/integration/targets/junos_logging/tasks/main.yaml", + "name": "tests/unit/modules/network/junos/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "92cbd43574bbfdaa210122a3fbe9a20faf7284bd562f1f6a350853884fa4eac2", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/targets/junos_logging/tasks/netconf.yaml", + "name": "tests/unit/modules/network/junos/test_junos_hostname.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3006a95309847acbfecc0a9c6cbeaad782956e7814679010a9bbb7782cab4aa8", + "chksum_sha256": "9c5f1f36eaeb3674be89e4b008cdb73800017faa3fbf281b68a11865779e1f85", "format": 1 }, { - "name": "tests/integration/targets/junos_logging/meta", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/test_junos_config.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "adba877fad9c9748adad9582eb9d24efab8107d3c27a52c1d76b7649c1c21481", "format": 1 }, { - "name": "tests/integration/targets/junos_logging/meta/main.yml", + "name": "tests/unit/modules/network/junos/test_junos_ospfv3.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9bc68ec01fd23c20e3b8b8c51a032ab8839e7bb710a457f32a3627c9dd7f8591", + "chksum_sha256": "b156108ea990fe350fa2d7594080551e404a687ffa50e8c9b3e117268f64f783", "format": 1 }, { - "name": "tests/integration/targets/junos_logging/defaults", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/test_junos_scp.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0458ef1b267cc2ff50f2841cf6709212e4722275cd15d9071a54296c5598bd96", "format": 1 }, { - "name": "tests/integration/targets/junos_logging/defaults/main.yaml", + "name": "tests/unit/modules/network/junos/test_junos_netconf.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b6cec8117492a3110c2e9066aa77a54abd2b9774cea08d60eb42b01c51c3e032", + "chksum_sha256": "6ca952fd12ff2334f193b35b3c87bc05059f7635373ac88df5d693f3757e91f8", "format": 1 }, { - "name": "tests/integration/targets/junos_logging/tests", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/test_junos_l3_interfaces.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f857456d9eef4ec564d47807eb5f603d30419acbe24e9d1ec6cb5b9ecca2dede", "format": 1 }, { - "name": "tests/integration/targets/junos_logging/tests/netconf", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/test_junos_bgp_address_family.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5a4f0b3e42da9bc24a8e29f8202e7b7a737791d49fbc8cc5b3491ca26aee38b5", "format": 1 }, { - "name": "tests/integration/targets/junos_logging/tests/netconf/basic.yaml", + "name": "tests/unit/modules/network/junos/test_junos_prefix_lists.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e2b732c602d35d29c0c823ec48c9358fc33a537bf82295e1d0548884eb046872", + "chksum_sha256": "2496ce74c40a8698097d9842b10b1d32f446f6c28242487775ae9738a2c1881a", "format": 1 }, { - "name": "tests/integration/targets/junos_logging/aliases", + "name": "tests/unit/modules/network/junos/test_junos_vlans.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "d539f8b52e2ae0e2ed3e3154015d4e88396fd08425e0da65430a4712fdc31fa3", "format": 1 }, { - "name": "tests/integration/target-prefixes.network", + "name": "tests/unit/modules/network/junos/junos_module.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3f98508805af0da212b0fd104e964e875cc1964a31ed0e264fad016ac56f037", + "chksum_sha256": "77b38ebd0d49b8a6297e4f186dab942d645747a40ee376a6422e4cb1e465593e", "format": 1 }, { - "name": "tests/.gitignore", + "name": "tests/unit/modules/network/junos/test_junos_security_policies_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b5726d3ec9335a09c124469eca039523847a6b0f08a083efaefd002b83326600", + "chksum_sha256": "8d1c759b573dc7ad3b605d1b61ea990c0df0dd783aeb25393b2935e7ecbf1619", "format": 1 }, { - "name": "docs", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/modules/network/junos/test_junos_ntp_global.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0dc5cb3a8ac37be5772be0541c57814fbfa2cc9b68122134e1ddba0250d31451", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_cliconf.rst", + "name": "tests/unit/modules/network/junos/test_junos_bgp_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "61ef607afd8afff078c3787f3b75a4c870ac27a71aeb77037b02d909c304298b", + "chksum_sha256": "9c9d69827221d1abb7eabcc148f6013a2d79bff8776a7b2a8b84fe0cb483df68", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_lag_interfaces_module.rst", + "name": "tests/unit/modules/network/junos/test_junos_routing_instances.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "787d7b1e44363c18b45a8471765f6937e1235a8499865000bd700ecb3c893f54", + "chksum_sha256": "d3b4f70903ee6b27f54d5124d750c93f296f98866917a794bb1a417377852e90", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_ospfv2_module.rst", + "name": "tests/unit/modules/network/junos/test_junos_logging_global.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bcbecba974a852853e4ffde32b3c9d1c68dc618d2ab5a7aef9d98dd4ea87917e", + "chksum_sha256": "e6c1bcc7309b08cd608fb33f78abd436919b2fdacfd67004468c9f9dfececfe0", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_scp_module.rst", + "name": "tests/unit/modules/network/junos/test_junos_ping.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3502ed01a666b445e325e1e2abf8bc04c81a8cfc7f9862a2c5534b9a58819950", + "chksum_sha256": "35a3fdd13f21ebe4cbdc73dd471c54545c0f7cfd2a78957ed15ceb4483d405b9", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_acl_interfaces_module.rst", + "name": "tests/unit/modules/network/junos/test_junos_routing_options.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3c9478dbc1fd1b32cc6f78ab9a8ff48ddd84acfeb0570a38505f886979108594", + "chksum_sha256": "2b78e762a38a9a07eeb4763863efd674e4629d98b62f6520ef0d7adec071fe19", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_bgp_global_module.rst", + "name": "tests/unit/modules/network/junos/test_junos_security_zones.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "91445b0062de1b99f12289e8328a4101c52c53b212112dc9f29b754e9f9134d5", + "chksum_sha256": "fc2fe918347d4a1c4152a087133970fec3c0abe799061388c1b7c8fe5eb8e084", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_acls_module.rst", + "name": "tests/unit/modules/network/junos/test_junos_command.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a1aae5fd4ccc313041592cb9ec553b76f8d777117686d3b338b49134bca1859f", + "chksum_sha256": "6f46e1e7d7cd263a26b13ad81babb6f5262f8dfaeed45d5b91077b979076ae8f", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_l2_interfaces_module.rst", + "name": "tests/unit/modules/network/junos/test_junos_l2_interfaces.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "96866e1ee001591b23c3faed8f46997b467fcbe035efb0729266f47b5f03e778", + "chksum_sha256": "c0a22cf190db72cab81ab01dcd467d5de9d2fcd7a20162b828339bd1b16686b9", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_ntp_global_module.rst", + "name": "tests/unit/modules/network/junos/test_junos_ospfv2.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0bed0c9b369ba164f031f315c549e23656b15b354cf1d8e2e43346c1c6f0bb41", + "chksum_sha256": "7fdf4d792fbacf561227d27d4189d753a5e8399e84caeaa08fe8684ca295a3fc", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_vlans_module.rst", + "name": "tests/unit/modules/network/junos/test_junos_rpc.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "83c2fb1aaf33310b74aa7748e60afc3d86a97f690c9117dc0cfa5d54bd51af95", + "chksum_sha256": "f5ca9e2a6aac3d1a81ee218ae0399fc5543e0dfc9258f731872d5011ce65f9ae", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_package_module.rst", + "name": "tests/unit/modules/network/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b2715ee74e9bf47a94740757ec2b3162778fead244a5377370db03a2fb45ae9b", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_hostname_module.rst", + "name": "tests/unit/modules/utils.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "535066e80fb4273d3a68c3b5e84712073fd96468befd6b02bdf0a2d7ef3396a9", + "chksum_sha256": "414c272e9a403bb6009460ec9502c5acfaa9c80b2159c742f6cb2e225938be3e", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_snmp_server_module.rst", + "name": "tests/unit/__init__.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ac35e68138cfe63db4ff782b8392aa3cd119c613c49fc33417dbc6360fc12f3b", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_routing_options_module.rst", + "name": "tests/unit/requirements.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9c1834da84af51c1b3ed8546da1c684c160f30b5cd1bcfbeb0723d3ed8d139e3", + "chksum_sha256": "49ba996dc4735c3463e9af561344346dfae14bcc1a68096ce78364b377f0df1f", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_l3_interfaces_module.rst", + "name": "tests/.gitignore", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ac905e997c9a2e6b0b83a67219b974f5371dcbe28ade5ac20f0090efe71f9123", + "chksum_sha256": "b5726d3ec9335a09c124469eca039523847a6b0f08a083efaefd002b83326600", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_lldp_interfaces_module.rst", + "name": "codecov.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ee14b6e2216a1bfcfd1dd8aab64c9eac783991e07c20a7631772a73f7b15dd8a", + "chksum_sha256": "4aa7e485dd4db6f8a55b046088c745def2b3145d9499ccda4e9a3336467dcea2", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_ospf_interfaces_module.rst", + "name": "tox-ansible.ini", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6da3d02bfa0065ed2bf60e824dce71cc6dc497463834d076ffef3dfb81d58267", + "chksum_sha256": "da802bfc2dc2671ca7caba028e8a635b459b131874041d119b698717333a7a49", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_security_policies_module.rst", + "name": ".gitignore", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "47c7313a45350d46a3207879849a7edbc352234fa5e1a1d0e5e98d87606834ef", + "chksum_sha256": "315971ad9cc5d6ada2391f0940e1800149b211a18be3c7a8f396735d7978702b", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_lacp_module.rst", + "name": "LICENSE", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ffbeecae6323b644f732e52db7d332c214c506b2aa19148cf9dc0dba931a7b2f", + "chksum_sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_prefix_lists_module.rst", + "name": ".flake8", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f4eced326ba76538041bf131b2a3d3943c8669ea70a7d815de198f1b0bc9bf49", + "chksum_sha256": "7214cfc0a1b4e8b89190e868962196874d9396503f77e47d7dfa342bd29b2a74", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_ospfv3_module.rst", + "name": "CHANGELOG.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a650d32f15db73b74f7e20214910a331e2e7f2fb2462e1ce8fb06466b32801e4", + "chksum_sha256": "6ed0bc5f95418c64666dcff65683de5fe2e25eadd215df3df2a94c5000efade4", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_security_policies_global_module.rst", + "name": "requirements.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b81dd1c97963377c1dba6b703821ed668395028d7e73b6f34db98d5b7fe29c09", + "chksum_sha256": "72120963f8c7e635d07e9383be6e58963fe00d8496e6545facd7e00082a4351b", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_banner_module.rst", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "bbdbf43cc2c8724c1a66127fcf74ee0ab928cd8633a2ddfe9650573628ef5f2d", + "name": "docs", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_logging_global_module.rst", + "name": "docs/junipernetworks.junos.junos_acl_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f763a82d4c20f1c993e7f74d86b2b95776876edcb8aea75da1a9f4fc2703464a", + "chksum_sha256": "3c9478dbc1fd1b32cc6f78ab9a8ff48ddd84acfeb0570a38505f886979108594", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_facts_module.rst", + "name": "docs/junipernetworks.junos.junos_bgp_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e9ececb593dd9136f764612c8cb554cee711dcfe27a8f19881cc0337f76571ab", + "chksum_sha256": "91445b0062de1b99f12289e8328a4101c52c53b212112dc9f29b754e9f9134d5", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_ping_module.rst", + "name": "docs/junipernetworks.junos.junos_lldp_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ff706f3ef5240227e799bf098f4b56bbc5eb6b01bb87ba8392e7ea15a87372bd", + "chksum_sha256": "a70269e3652b27a94dab6c442a114fed0cd552dc79ff2699c824f7b2ed354efc", "format": 1 }, { @@ -8982,262 +9136,269 @@ "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_logging_module.rst", + "name": "docs/junipernetworks.junos.junos_netconf_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f1475a33fa62807e09b4d03f83ab453e7b37f390cd1a2b31e3f72f1eb030d7b0", + "chksum_sha256": "ee525c5a38123911d4e47ea6a316ec446ba36a5a59b28476cedc6c097ab3e691", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_static_routes_module.rst", + "name": "docs/junipernetworks.junos.junos_hostname_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d68f20c26bc65ccd116efbcb04180adc5a141787d7ee60153d5ae8ff7f93c624", + "chksum_sha256": "535066e80fb4273d3a68c3b5e84712073fd96468befd6b02bdf0a2d7ef3396a9", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_netconf_module.rst", + "name": "docs/junipernetworks.junos.junos_routing_instances_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ee525c5a38123911d4e47ea6a316ec446ba36a5a59b28476cedc6c097ab3e691", + "chksum_sha256": "53a67c02be94bbc8b0b35faecf99d7ff076a1457e85f9fa16d060ae2d59ce289", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_rpc_module.rst", + "name": "docs/junipernetworks.junos.junos_routing_options_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "82b147bd7ec071bb0703718174ecd74576e9105a7f397c0edbca1e408dfdda00", + "chksum_sha256": "9c1834da84af51c1b3ed8546da1c684c160f30b5cd1bcfbeb0723d3ed8d139e3", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_routing_instances_module.rst", + "name": "docs/junipernetworks.junos.junos_ospfv3_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "53a67c02be94bbc8b0b35faecf99d7ff076a1457e85f9fa16d060ae2d59ce289", + "chksum_sha256": "a650d32f15db73b74f7e20214910a331e2e7f2fb2462e1ce8fb06466b32801e4", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_user_module.rst", + "name": "docs/junipernetworks.junos.junos_lldp_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "03ea649e081efdde592357ee35447384128fc5048912562ecc329e2c5525566b", + "chksum_sha256": "ee14b6e2216a1bfcfd1dd8aab64c9eac783991e07c20a7631772a73f7b15dd8a", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_interfaces_module.rst", + "name": "docs/junipernetworks.junos.junos_lacp_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "60f7bf31a86baf8e03946528a413476991a0d4745ebd7e47ae64e20a68fbc7e0", + "chksum_sha256": "ffbeecae6323b644f732e52db7d332c214c506b2aa19148cf9dc0dba931a7b2f", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_lldp_global_module.rst", + "name": "docs/junipernetworks.junos.junos_cliconf.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a70269e3652b27a94dab6c442a114fed0cd552dc79ff2699c824f7b2ed354efc", + "chksum_sha256": "61ef607afd8afff078c3787f3b75a4c870ac27a71aeb77037b02d909c304298b", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_security_zones_module.rst", + "name": "docs/junipernetworks.junos.junos_lag_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "84470a721603716fc9f96148a70ef6a6cfafc230b4b0862175366d0d743fbac1", + "chksum_sha256": "787d7b1e44363c18b45a8471765f6937e1235a8499865000bd700ecb3c893f54", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_command_module.rst", + "name": "docs/junipernetworks.junos.junos_netconf.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "39f5d111cb71f425c44278a9f0c1bbfbe16d311c794a98d06c36fadf22a94265", + "chksum_sha256": "14b028e7197d8b36e5548a189873cac83617ed127d11284f4ab557203b0d7f88", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_netconf.rst", + "name": "docs/junipernetworks.junos.junos_system_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "14b028e7197d8b36e5548a189873cac83617ed127d11284f4ab557203b0d7f88", + "chksum_sha256": "284394786b5d048e1f6833dd1581437e69edfd3e9012b87ace78b500dfe7884c", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_vrf_module.rst", + "name": "docs/junipernetworks.junos.junos_prefix_lists_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3c37761090a81cc597a23d31e0202da7c6803ba70b9dfb54db87f17a05717d67", + "chksum_sha256": "f4eced326ba76538041bf131b2a3d3943c8669ea70a7d815de198f1b0bc9bf49", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_config_module.rst", + "name": "docs/junipernetworks.junos.junos_ping_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9216d75e7c90d93153752899275ca7e6717403c54fda6df5c71c36df21875b22", + "chksum_sha256": "ff706f3ef5240227e799bf098f4b56bbc5eb6b01bb87ba8392e7ea15a87372bd", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_bgp_address_family_module.rst", + "name": "docs/junipernetworks.junos.junos_scp_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0f3eb30b2db1124c4139d7fba1ad18cfb1ce8be2d4b052fb89cebfb961963eb3", + "chksum_sha256": "3502ed01a666b445e325e1e2abf8bc04c81a8cfc7f9862a2c5534b9a58819950", "format": 1 }, { - "name": "docs/junipernetworks.junos.junos_system_module.rst", + "name": "docs/junipernetworks.junos.junos_security_policies_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "284394786b5d048e1f6833dd1581437e69edfd3e9012b87ace78b500dfe7884c", + "chksum_sha256": "b81dd1c97963377c1dba6b703821ed668395028d7e73b6f34db98d5b7fe29c09", "format": 1 }, { - "name": ".isort.cfg", + "name": "docs/junipernetworks.junos.junos_vrf_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9a0037e12d4e5d11a360d4522e64be506299bad16812825ebd7b5f0be9918524", + "chksum_sha256": "3c37761090a81cc597a23d31e0202da7c6803ba70b9dfb54db87f17a05717d67", "format": 1 }, { - "name": "pyproject.toml", + "name": "docs/junipernetworks.junos.junos_ospf_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1cb6a45dfa2625123890b93ad7fdc156b063c16e8ae6dba11511a1d1986b0fcc", + "chksum_sha256": "6da3d02bfa0065ed2bf60e824dce71cc6dc497463834d076ffef3dfb81d58267", "format": 1 }, { - "name": "bindep.txt", + "name": "docs/junipernetworks.junos.junos_config_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "600b108016611a2a846e0ed86f52da6a9184cddea7e4b6859ffdf2aa5a9af19b", + "chksum_sha256": "627b57c31dd442aeed20dbdf33d414b466c985593e87a33b2fc6d361b086e078", "format": 1 }, { - "name": "changelogs", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "docs/junipernetworks.junos.junos_security_policies_module.rst", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "47c7313a45350d46a3207879849a7edbc352234fa5e1a1d0e5e98d87606834ef", "format": 1 }, { - "name": "changelogs/fragments", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "docs/junipernetworks.junos.junos_static_routes_module.rst", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d68f20c26bc65ccd116efbcb04180adc5a141787d7ee60153d5ae8ff7f93c624", "format": 1 }, { - "name": "changelogs/fragments/.keep", + "name": "docs/junipernetworks.junos.junos_banner_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "bbdbf43cc2c8724c1a66127fcf74ee0ab928cd8633a2ddfe9650573628ef5f2d", "format": 1 }, { - "name": "changelogs/config.yaml", + "name": "docs/junipernetworks.junos.junos_acls_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5cfa2df4e55abdedbdf6786d3152af410249523c96a41f89a34be3510af3395e", + "chksum_sha256": "a1aae5fd4ccc313041592cb9ec553b76f8d777117686d3b338b49134bca1859f", "format": 1 }, { - "name": "changelogs/changelog.yaml", + "name": "docs/junipernetworks.junos.junos_snmp_server_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8523dd9b7099cc44e9350fe1bca05f7725558c72eff3ceaa277a827566aae9f2", + "chksum_sha256": "ac35e68138cfe63db4ff782b8392aa3cd119c613c49fc33417dbc6360fc12f3b", "format": 1 }, { - "name": "tox.ini", + "name": "docs/junipernetworks.junos.junos_logging_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5f3772a197ba80e8bd7dfd59cf18c30f081e1247f42ea7e20dc1e8df3b06c184", + "chksum_sha256": "f763a82d4c20f1c993e7f74d86b2b95776876edcb8aea75da1a9f4fc2703464a", "format": 1 }, { - "name": "CHANGELOG.rst", + "name": "docs/junipernetworks.junos.junos_ospfv2_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9a2c1afa7d6f2bd436195a262607daeb9ddcff82bcdff3bc3499a229eb1c0fd8", + "chksum_sha256": "bcbecba974a852853e4ffde32b3c9d1c68dc618d2ab5a7aef9d98dd4ea87917e", "format": 1 }, { - "name": ".gitignore", + "name": "docs/junipernetworks.junos.junos_ntp_global_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "315971ad9cc5d6ada2391f0940e1800149b211a18be3c7a8f396735d7978702b", + "chksum_sha256": "0bed0c9b369ba164f031f315c549e23656b15b354cf1d8e2e43346c1c6f0bb41", "format": 1 }, { - "name": ".pre-commit-config.yaml", + "name": "docs/junipernetworks.junos.junos_vlans_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "08940a10222925e0f47d36e2457f1b3e7045ed20b4e72989208b83cda88a2c25", + "chksum_sha256": "83c2fb1aaf33310b74aa7748e60afc3d86a97f690c9117dc0cfa5d54bd51af95", "format": 1 }, { - "name": ".prettierignore", + "name": "docs/junipernetworks.junos.junos_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5c227902cb92d03412c05c2fd86d8aa4f5d32afddbd718da067b02a3eef4b358", + "chksum_sha256": "60f7bf31a86baf8e03946528a413476991a0d4745ebd7e47ae64e20a68fbc7e0", "format": 1 }, { - "name": ".github", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "docs/junipernetworks.junos.junos_facts_module.rst", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e9ececb593dd9136f764612c8cb554cee711dcfe27a8f19881cc0337f76571ab", "format": 1 }, { - "name": ".github/dependabot.yml", + "name": "docs/junipernetworks.junos.junos_user_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "11ceee3c57116e9fd08bc423414b1095ff002aa012d6fb325b1a7e24d7e28461", + "chksum_sha256": "03ea649e081efdde592357ee35447384128fc5048912562ecc329e2c5525566b", "format": 1 }, { - "name": ".github/workflows", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "docs/junipernetworks.junos.junos_bgp_address_family_module.rst", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0f3eb30b2db1124c4139d7fba1ad18cfb1ce8be2d4b052fb89cebfb961963eb3", "format": 1 }, { - "name": ".github/workflows/codecoverage.yml", + "name": "docs/junipernetworks.junos.junos_l2_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a56c8aba05b81d2e1d6575b37963f40df663387030de5eaac6f5c9dfd7af54f1", + "chksum_sha256": "46d88933b5eb0e5806789a4e4927bc003af4f1d81f748e50ba0a756409d02aab", "format": 1 }, { - "name": ".github/workflows/ack.yml", + "name": "docs/junipernetworks.junos.junos_package_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24c6fbafaa69e3e3ee696f2cefa5120794b62cef7e870553dddce8b8af0a127c", + "chksum_sha256": "b2715ee74e9bf47a94740757ec2b3162778fead244a5377370db03a2fb45ae9b", "format": 1 }, { - "name": ".github/workflows/release.yml", + "name": "docs/junipernetworks.junos.junos_security_zones_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c9b7dba505905600bbb9f0d8e9956b7cc20f80edfa742dfdae9395542f417aa1", + "chksum_sha256": "84470a721603716fc9f96148a70ef6a6cfafc230b4b0862175366d0d743fbac1", "format": 1 }, { - "name": ".github/workflows/push.yml", + "name": "docs/junipernetworks.junos.junos_command_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ae51ce2e47c0569a12eed22cec3fcf7f609e44fc8d75ad67e076770717adfd2f", + "chksum_sha256": "39f5d111cb71f425c44278a9f0c1bbfbe16d311c794a98d06c36fadf22a94265", "format": 1 }, { - "name": ".github/workflows/tests.yml", + "name": "docs/junipernetworks.junos.junos_l3_interfaces_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "171f96988e94904529bd337341a93ebb689e4a220663260d5cc0839aac584d21", + "chksum_sha256": "92fb6b4d9af0ae7b723266f3e9fdf5984a1e34cd89fe2296624c2dad77628ac0", "format": 1 }, { - "name": ".github/release-drafter.yml", + "name": "docs/junipernetworks.junos.junos_rpc_module.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7cbc785c8661033cd9dd7a60897484fce731cbe3dc124a689fc3e934b1d974fb", + "chksum_sha256": "82b147bd7ec071bb0703718174ecd74576e9105a7f397c0edbca1e408dfdda00", + "format": 1 + }, + { + "name": "bindep.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "269d09ec28c497c8cfd41a61066d66748d819078a6d8ed84f07ec85ae1dee762", "format": 1 } ], diff --git a/ansible_collections/junipernetworks/junos/MANIFEST.json b/ansible_collections/junipernetworks/junos/MANIFEST.json index 778cc30f6..37ce8b546 100644 --- a/ansible_collections/junipernetworks/junos/MANIFEST.json +++ b/ansible_collections/junipernetworks/junos/MANIFEST.json @@ -2,7 +2,7 @@ "collection_info": { "namespace": "junipernetworks", "name": "junos", - "version": "5.3.1", + "version": "8.0.0", "authors": [ "Ansible Network Community (ansible-network)" ], @@ -19,7 +19,7 @@ "license": [], "license_file": "LICENSE", "dependencies": { - "ansible.netcommon": ">=2.5.1" + "ansible.netcommon": ">=6.1.0" }, "repository": "https://github.com/ansible-collections/junipernetworks.junos", "documentation": null, @@ -30,7 +30,7 @@ "name": "FILES.json", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ceb92f0594402948a6a16ec8c3b6cc0f3a38433e1e96efed3abb5c3a7730af25", + "chksum_sha256": "dcb6547e01a901e2f60f56c1e1ccaee21bbb2a4ec9018a71a70069ac01f8c676", "format": 1 }, "format": 1 diff --git a/ansible_collections/junipernetworks/junos/README.md b/ansible_collections/junipernetworks/junos/README.md index c0d2a7014..241cc3664 100644 --- a/ansible_collections/junipernetworks/junos/README.md +++ b/ansible_collections/junipernetworks/junos/README.md @@ -11,7 +11,7 @@ This collection has been tested against Juniper Networks Junos OS 18.4R1. <!--start requires_ansible--> ## Ansible version compatibility -This collection has been tested against following Ansible versions: **>=2.9.10**. +This collection has been tested against following Ansible versions: **>=2.14.0**. For collections that support Ansible 2.9, please ensure you update your `network_os` to use the fully qualified collection name (for example, `cisco.ios.ios`). @@ -57,7 +57,6 @@ Name | Description [junipernetworks.junos.junos_lag_interfaces](https://github.com/ansible-collections/junipernetworks.junos/blob/main/docs/junipernetworks.junos.junos_lag_interfaces_module.rst)|Link Aggregation Juniper JUNOS resource module [junipernetworks.junos.junos_lldp_global](https://github.com/ansible-collections/junipernetworks.junos/blob/main/docs/junipernetworks.junos.junos_lldp_global_module.rst)|LLDP resource module [junipernetworks.junos.junos_lldp_interfaces](https://github.com/ansible-collections/junipernetworks.junos/blob/main/docs/junipernetworks.junos.junos_lldp_interfaces_module.rst)|LLDP interfaces resource module -[junipernetworks.junos.junos_logging](https://github.com/ansible-collections/junipernetworks.junos/blob/main/docs/junipernetworks.junos.junos_logging_module.rst)|Manage logging on network devices [junipernetworks.junos.junos_logging_global](https://github.com/ansible-collections/junipernetworks.junos/blob/main/docs/junipernetworks.junos.junos_logging_global_module.rst)|Manage logging configuration on Junos devices. [junipernetworks.junos.junos_netconf](https://github.com/ansible-collections/junipernetworks.junos/blob/main/docs/junipernetworks.junos.junos_netconf_module.rst)|Configures the Junos Netconf system service [junipernetworks.junos.junos_ntp_global](https://github.com/ansible-collections/junipernetworks.junos/blob/main/docs/junipernetworks.junos.junos_ntp_global_module.rst)|Manage NTP configuration on Junos devices. @@ -120,8 +119,6 @@ The following example task replaces configuration changes in the existing config state: replaced ``` -**NOTE**: For Ansible 2.9, you may not see deprecation warnings when you run your playbooks with this collection. Use this documentation to track when a module is deprecated. - ### See Also: - [Juniper Junos Platform options](https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html). diff --git a/ansible_collections/junipernetworks/junos/bindep.txt b/ansible_collections/junipernetworks/junos/bindep.txt index cab23f9fc..cffe80b2a 100644 --- a/ansible_collections/junipernetworks/junos/bindep.txt +++ b/ansible_collections/junipernetworks/junos/bindep.txt @@ -4,5 +4,4 @@ gcc-c++ [doc test platform:rpm] python3-devel [test platform:rpm] python3 [test platform:rpm] -libssh-devel [test platform:rpm] -libssh-dev [test platform:dpkg] +libssh-devel [compile platform:rpm] diff --git a/ansible_collections/junipernetworks/junos/changelogs/changelog.yaml b/ansible_collections/junipernetworks/junos/changelogs/changelog.yaml index d7b1308e0..3da3e4cec 100644 --- a/ansible_collections/junipernetworks/junos/changelogs/changelog.yaml +++ b/ansible_collections/junipernetworks/junos/changelogs/changelog.yaml @@ -576,3 +576,82 @@ releases: - sanity_job_fix.yaml - update_l2_3_docs.yaml release_date: "2023-11-27" + 6.0.0: + changes: + major_changes: + - Bumping `requires_ansible` to `>=2.14.0`, since previous ansible-core versions + are EoL now. + release_summary: + Starting from this release, the minimum `ansible-core` version + this collection requires is `2.14.0`. That last known version compatible with + ansible-core<2.14 is `v5.3.1`. + fragments: + - update_l2_interfaces_tests.yaml + release_date: "2023-11-30" + 6.0.1: + changes: + bugfixes: + - Prevents module_defaults from were being incorrectly applied to the platform + action, instead of the concerned module. + fragments: + - module_defaults.yaml + - trivial_lint.yaml + release_date: "2024-01-31" + 6.0.2: + changes: + bugfixes: + - acls + - initialize facts dictionary with empty containers for respective resources + mentioned below + - lldp_global + - lldp_interfaces + - logging_global + - ntp_global + - ospf_interfaces + - ospfv2 + - ospfv3 + - prefix_lists + - routing_instances + - routing_options + - security_policies + - security_policies_global + - security_zones + - snmp_server + - static_routes + - vlans + doc_changes: + - Remove the part of the description which incorrectly describes the behavior + and type of confirm attribute. + - Update example performing `confirm_commit`. + - Update with more examples using the `confirm` option to set a timer. + fragments: + - empty_facts.yaml + - update_junos_config_docs.yaml + release_date: "2024-03-06" + 7.0.0: + changes: + bugfixes: + - Fix the empty facts list placement + major_changes: + - This release removes previously deprecated modules from this collection. Please + refer to the **Removed Features** section for details. + removed_features: + - Remove deprected junos_logging module which is replaced by junos_logging_global + resource module. + fragments: + - fix_upstream_tetst.yaml + - remove_deprecated.yaml + - trivial_tests_updates.yaml + release_date: "2024-03-27" + 8.0.0: + changes: + major_changes: + - Update the netcommon base version 6.1.0 to support cli_restore plugin. + minor_changes: + - Add support for cli_restore functionality. + - Please refer the PR to know more about core changes (https://github.com/ansible-collections/ansible.netcommon/pull/618). + - cli_restore module is part of netcommon. + fragments: + - 218sanity.yml + - add_restore_implementation.yaml + release_date: "2024-04-13" diff --git a/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_config_module.rst b/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_config_module.rst index 5abc26ee7..61051583d 100644 --- a/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_config_module.rst +++ b/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_config_module.rst @@ -177,7 +177,7 @@ Parameters <b>Default:</b><br/><div style="color: blue">0</div> </td> <td> - <div>The <code>confirm</code> argument will configure a time out value in minutes for the commit to be confirmed before it is automatically rolled back. If the <code>confirm</code> argument is set to False, this argument is silently ignored. If the value for this argument is set to 0, the commit is confirmed immediately.</div> + <div>The <code>confirm</code> argument will configure a time out value in minutes for the commit to be confirmed before it is automatically rolled back. If the value for this argument is set to 0, the commit is confirmed immediately which is also the default behaviour.</div> </td> </tr> <tr> @@ -410,6 +410,16 @@ Examples filename: backup.cfg dir_path: /home/user + - name: Set description with timer to confirm commit + junipernetworks.junos.junos_config: + lines: + - set interfaces fxp0 description "wait for a commit confirmation for 3 minutes; otherwise, it will be rolled back." + confirm: 3 + + - name: Perform confirm commit + junipernetworks.junos.junos_config: + confirm_commit: true + Return Values diff --git a/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_l2_interfaces_module.rst b/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_l2_interfaces_module.rst index b14828db2..b6f422db9 100644 --- a/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_l2_interfaces_module.rst +++ b/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_l2_interfaces_module.rst @@ -466,11 +466,11 @@ Examples - name: Override provided configuration with device configuration junipernetworks.junos.junos_l2_interfaces: config: - - name: ge-0/0/4 - trunk: - allowed_vlans: - - v101 - native_vlan: 30 + - name: ge-0/0/4 + trunk: + allowed_vlans: + - v101 + native_vlan: 30 state: overridden # Task Output @@ -630,14 +630,14 @@ Examples - name: Replace provided configuration with device configuration junipernetworks.junos.junos_l2_interfaces: config: - - name: ge-0/0/3 - access: - vlan: v101 - - name: ge-0/0/4 - trunk: - allowed_vlans: - - vlan30 - native_vlan: 50 + - name: ge-0/0/3 + access: + vlan: v101 + - name: ge-0/0/4 + trunk: + allowed_vlans: + - vlan30 + native_vlan: 50 state: replaced # Task Output @@ -810,8 +810,8 @@ Examples interface itself)." junipernetworks.junos.junos_l2_interfaces: config: - - name: ge-0/0/1 - - name: ge-0/0/2 + - name: ge-0/0/1 + - name: ge-0/0/2 state: deleted # Task Output diff --git a/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_l3_interfaces_module.rst b/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_l3_interfaces_module.rst index ef68d82f2..b8b9ff9c5 100644 --- a/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_l3_interfaces_module.rst +++ b/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_l3_interfaces_module.rst @@ -239,14 +239,14 @@ Examples - name: Merge provided configuration with device configuration junipernetworks.junos.junos_l3_interfaces: config: - - name: ge-0/0/1 - ipv4: - - address: 192.168.1.10/24 - ipv6: - - address: 8d8d:8d01::1/64 - - name: ge-0/0/2 - ipv4: - - address: dhcp + - name: ge-0/0/1 + ipv4: + - address: 192.168.1.10/24 + ipv6: + - address: 8d8d:8d01::1/64 + - name: ge-0/0/2 + ipv4: + - address: dhcp state: merged # Task Output @@ -372,13 +372,13 @@ Examples - name: Override provided configuration with device configuration junipernetworks.junos.junos_l3_interfaces: config: - - name: ge-0/0/1 - ipv4: - - address: 192.168.1.10/24 - - ipv4: - - address: dhcp - name: fxp0 - unit: '0' + - name: ge-0/0/1 + ipv4: + - address: 192.168.1.10/24 + - ipv4: + - address: dhcp + name: fxp0 + unit: '0' state: overridden # Task Output @@ -541,14 +541,14 @@ Examples - name: Replace provided configuration with device configuration junipernetworks.junos.junos_l3_interfaces: config: - - name: ge-0/0/1 - ipv4: - - address: 192.168.1.10/24 - ipv6: - - address: 8d8d:8d01::1/64 - - name: ge-0/0/2 - ipv4: - - address: dhcp + - name: ge-0/0/1 + ipv4: + - address: 192.168.1.10/24 + ipv6: + - address: 8d8d:8d01::1/64 + - name: ge-0/0/2 + ipv4: + - address: dhcp state: replaced # Task Output @@ -710,8 +710,8 @@ Examples - name: Delete L3 logical interface junipernetworks.junos.junos_l3_interfaces: config: - - name: ge-0/0/1 - - name: ge-0/0/2 + - name: ge-0/0/1 + - name: ge-0/0/2 state: deleted # Task Output diff --git a/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_logging_module.rst b/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_logging_module.rst deleted file mode 100644 index 7274d565b..000000000 --- a/ansible_collections/junipernetworks/junos/docs/junipernetworks.junos.junos_logging_module.rst +++ /dev/null @@ -1,487 +0,0 @@ -.. _junipernetworks.junos.junos_logging_module: - - -*********************************** -junipernetworks.junos.junos_logging -*********************************** - -**Manage logging on network devices** - - -Version added: 1.0.0 - -.. contents:: - :local: - :depth: 1 - -DEPRECATED ----------- -:Removed in collection release after 2023-08-01 -:Why: Updated module released with more functionality. -:Alternative: junos_logging_global - - - -Synopsis --------- -- This module provides declarative management of logging on Juniper JUNOS devices. - - - -Requirements ------------- -The below requirements are needed on the host that executes this module. - -- ncclient (>=v0.5.2) - - -Parameters ----------- - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="2">Parameter</th> - <th>Choices/<font color="blue">Defaults</font></th> - <th width="100%">Comments</th> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>active</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">boolean</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>no</li> - <li><div style="color: blue"><b>yes</b> ←</div></li> - </ul> - </td> - <td> - <div>Specifies whether or not the configuration is active or deactivated</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>aggregate</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">list</span> - / <span style="color: purple">elements=dictionary</span> - </div> - </td> - <td> - </td> - <td> - <div>List of logging definitions.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>active</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">boolean</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>no</li> - <li>yes</li> - </ul> - </td> - <td> - <div>Specifies whether or not the configuration is active or deactivated</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>dest</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>console</li> - <li>host</li> - <li>file</li> - <li>user</li> - </ul> - </td> - <td> - <div>Destination of the logs.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>facility</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Set logging facility.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>files</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Number of files to be archived, this is applicable if value of <em>dest</em> is <code>file</code>. The acceptable value is in range from 1 to 1000.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>level</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Set logging severity levels.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>name</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>If value of <code>dest</code> is <em>file</em> it indicates file-name, for <em>user</em> it indicates username and for <em>host</em> indicates the host name to be notified.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>rotate_frequency</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Rotate log frequency in minutes, this is applicable if value of <em>dest</em> is <code>file</code>. The acceptable value is in range of 1 to 59. This controls the frequency after which log file is rotated.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>size</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Size of the file in archive, this is applicable if value of <em>dest</em> is <code>file</code>. The acceptable value is in range from 65536 to 1073741824 bytes.</div> - </td> - </tr> - <tr> - <td class="elbow-placeholder"></td> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>state</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>present</li> - <li>absent</li> - </ul> - </td> - <td> - <div>State of the logging configuration.</div> - </td> - </tr> - - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>dest</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li>console</li> - <li>host</li> - <li>file</li> - <li>user</li> - </ul> - </td> - <td> - <div>Destination of the logs.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>facility</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Set logging facility.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>files</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Number of files to be archived, this is applicable if value of <em>dest</em> is <code>file</code>. The acceptable value is in range from 1 to 1000.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>level</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>Set logging severity levels.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>name</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - </td> - <td> - <div>If value of <code>dest</code> is <em>file</em> it indicates file-name, for <em>user</em> it indicates username and for <em>host</em> indicates the host name to be notified.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>rotate_frequency</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Rotate log frequency in minutes, this is applicable if value of <em>dest</em> is <code>file</code>. The acceptable value is in range of 1 to 59. This controls the frequency after which log file is rotated.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>size</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">integer</span> - </div> - </td> - <td> - </td> - <td> - <div>Size of the file in archive, this is applicable if value of <em>dest</em> is <code>file</code>. The acceptable value is in range from 65536 to 1073741824 bytes.</div> - </td> - </tr> - <tr> - <td colspan="2"> - <div class="ansibleOptionAnchor" id="parameter-"></div> - <b>state</b> - <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td> - <ul style="margin: 0; padding: 0"><b>Choices:</b> - <li><div style="color: blue"><b>present</b> ←</div></li> - <li>absent</li> - </ul> - </td> - <td> - <div>State of the logging configuration.</div> - </td> - </tr> - </table> - <br/> - - -Notes ------ - -.. note:: - - This module requires the netconf system service be enabled on the remote device being managed. - - Tested against vSRX JUNOS version 15.1X49-D15.4, vqfx-10000 JUNOS Version 15.1X53-D60.4. - - Recommended connection is ``netconf``. See `the Junos OS Platform Options <../network/user_guide/platform_junos.html>`_. - - This module also works with ``local`` connections for legacy playbooks. - - For information on using CLI and netconf see the :ref:`Junos OS Platform Options guide <junos_platform_options>` - - For more information on using Ansible to manage network devices see the :ref:`Ansible Network Guide <network_guide>` - - For more information on using Ansible to manage Juniper network devices see https://www.ansible.com/ansible-juniper. - - - -Examples --------- - -.. code-block:: yaml - - - name: configure console logging - junipernetworks.junos.junos_logging: - dest: console - facility: any - level: critical - - - name: remove console logging configuration - junipernetworks.junos.junos_logging: - dest: console - state: absent - - - name: configure file logging - junipernetworks.junos.junos_logging: - dest: file - name: test - facility: pfe - level: error - - - name: configure logging parameter - junipernetworks.junos.junos_logging: - files: 30 - size: 65536 - rotate_frequency: 10 - - - name: Configure file logging using aggregate - junipernetworks.junos.junos_logging: - dest: file - aggregate: - - name: test-1 - facility: pfe - level: critical - - name: test-2 - facility: kernel - level: emergency - active: true - - - name: Delete file logging using aggregate - junipernetworks.junos.junos_logging: - aggregate: - - {dest: file, name: test-1, facility: pfe, level: critical} - - {dest: file, name: test-2, facility: kernel, level: emergency} - state: absent - - - -Return Values -------------- -Common return values are documented `here <https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values>`_, the following are the fields unique to this module: - -.. raw:: html - - <table border=0 cellpadding=0 class="documentation-table"> - <tr> - <th colspan="1">Key</th> - <th>Returned</th> - <th width="100%">Description</th> - </tr> - <tr> - <td colspan="1"> - <div class="ansibleOptionAnchor" id="return-"></div> - <b>diff.prepared</b> - <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> - <div style="font-size: small"> - <span style="color: purple">string</span> - </div> - </td> - <td>when configuration is changed and diff option is enabled.</td> - <td> - <div>Configuration difference before and after applying change.</div> - <br/> - <div style="font-size: smaller"><b>Sample:</b></div> - <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">[edit system syslog] + [edit system syslog] - file interactive-commands { ... } - + file test { + pfe critical; + }</div> - </td> - </tr> - </table> - <br/><br/> - - -Status ------- - - -- This module will be removed in a release after 2023-08-01. *[deprecated]* -- For more information see `DEPRECATED`_. - - -Authors -~~~~~~~ - -- Ganesh Nalawade (@ganeshrn) diff --git a/ansible_collections/junipernetworks/junos/meta/runtime.yml b/ansible_collections/junipernetworks/junos/meta/runtime.yml index d66238ec0..4bc0093fb 100644 --- a/ansible_collections/junipernetworks/junos/meta/runtime.yml +++ b/ansible_collections/junipernetworks/junos/meta/runtime.yml @@ -1,169 +1,6 @@ --- -requires_ansible: ">=2.9.10" +requires_ansible: ">=2.14.0" plugin_routing: - action: - junos_acl_interfaces: - redirect: junipernetworks.junos.junos - acl_interfaces: - redirect: junipernetworks.junos.junos - junos_acls: - redirect: junipernetworks.junos.junos - acls: - redirect: junipernetworks.junos.junos - junos_banner: - redirect: junipernetworks.junos.junos - banner: - redirect: junipernetworks.junos.junos - junos_command: - redirect: junipernetworks.junos.junos - command: - redirect: junipernetworks.junos.junos - junos_config: - redirect: junipernetworks.junos.junos - config: - redirect: junipernetworks.junos.junos - junos_facts: - redirect: junipernetworks.junos.junos - facts: - redirect: junipernetworks.junos.junos - junos_interfaces: - redirect: junipernetworks.junos.junos - interfaces: - redirect: junipernetworks.junos.junos - junos_l2_interfaces: - redirect: junipernetworks.junos.junos - l2_interfaces: - redirect: junipernetworks.junos.junos - junos_l3_interfaces: - redirect: junipernetworks.junos.junos - l3_interfaces: - redirect: junipernetworks.junos.junos - junos_lacp: - redirect: junipernetworks.junos.junos - lacp: - redirect: junipernetworks.junos.junos - junos_lacp_interfaces: - redirect: junipernetworks.junos.junos - lacp_interfaces: - redirect: junipernetworks.junos.junos - junos_lag_interfaces: - redirect: junipernetworks.junos.junos - lag_interfaces: - redirect: junipernetworks.junos.junos - junos_lldp_global: - redirect: junipernetworks.junos.junos - security_policies_global: - redirect: junipernetworks.junos.junos - junos_security_policies_global: - redirect: junipernetworks.junos.junos - lldp_global: - redirect: junipernetworks.junos.junos - junos_bgp_global: - redirect: junipernetworks.junos.junos - bgp_global: - redirect: junipernetworks.junos.junos - junos_bgp_address_family: - redirect: junipernetworks.junos.junos - bgp_address_family: - redirect: junipernetworks.junos.junos - junos_routing_instances: - redirect: junipernetworks.junos.junos - routing_instances: - redirect: junipernetworks.junos.junos - junos_prefix_lists: - redirect: junipernetworks.junos.junos - prefix_lists: - redirect: junipernetworks.junos.junos - junos_logging_global: - redirect: junipernetworks.junos.junos - logging_global: - redirect: junipernetworks.junos.junos - junos_ntp_global: - redirect: junipernetworks.junos.junos - ntp_global: - redirect: junipernetworks.junos.junos - junos_security_policies: - redirect: junipernetworks.junos.junos - security_policies: - redirect: junipernetworks.junos.junos - junos_security_zones: - redirect: junipernetworks.junos.junos - security_zones: - redirect: junipernetworks.junos.junos - junos_snmp_server: - redirect: junipernetworks.junos.junos - snmp_server: - redirect: junipernetworks.junos.junos - junos_hostname: - redirect: junipernetworks.junos.junos - hostname: - redirect: junipernetworks.junos.junos - junos_routing_options: - redirect: junipernetworks.junos.junos - routing_options: - redirect: junipernetworks.junos.junos - junos_lldp_interface: - redirect: junipernetworks.junos.junos - junos_lldp_interfaces: - redirect: junipernetworks.junos.junos - lldp_interfaces: - redirect: junipernetworks.junos.junos - junos_logging: - redirect: junipernetworks.junos.junos - logging: - redirect: junipernetworks.junos.junos - junos_netconf: - redirect: junipernetworks.junos.junos - netconf: - redirect: junipernetworks.junos.junos - junos_ospfv2: - redirect: junipernetworks.junos.junos - ospfv2: - redirect: junipernetworks.junos.junos - junos_ospfv3: - redirect: junipernetworks.junos.junos - ospfv3: - redirect: junipernetworks.junos.junos - junos_ospf_interfaces: - redirect: junipernetworks.junos.junos - ospf_interfaces: - redirect: junipernetworks.junos.junos - junos_package: - redirect: junipernetworks.junos.junos - package: - redirect: junipernetworks.junos.junos - junos_ping: - redirect: junipernetworks.junos.junos - ping: - redirect: junipernetworks.junos.junos - junos_rpc: - redirect: junipernetworks.junos.junos - rpc: - redirect: junipernetworks.junos.junos - junos_scp: - redirect: junipernetworks.junos.junos - scp: - redirect: junipernetworks.junos.junos - junos_static_routes: - redirect: junipernetworks.junos.junos - static_routes: - redirect: junipernetworks.junos.junos - junos_system: - redirect: junipernetworks.junos.junos - system: - redirect: junipernetworks.junos.junos - junos_user: - redirect: junipernetworks.junos.junos - user: - redirect: junipernetworks.junos.junos - junos_vlans: - redirect: junipernetworks.junos.junos - vlans: - redirect: junipernetworks.junos.junos - junos_vrf: - redirect: junipernetworks.junos.junos - vrf: - redirect: junipernetworks.junos.junos modules: acl_interfaces: redirect: junipernetworks.junos.junos_acl_interfaces @@ -217,15 +54,6 @@ plugin_routing: redirect: junipernetworks.junos.junos_routing_options lldp_interfaces: redirect: junipernetworks.junos.junos_lldp_interfaces - logging: - redirect: junipernetworks.junos.junos_logging - deprecation: - removal_date: "2023-08-01" - warning_text: See the plugin documentation for more details - junos_logging: - deprecation: - removal_date: "2023-08-01" - warning_text: See the plugin documentation for more details netconf: redirect: junipernetworks.junos.junos_netconf ospfv2: diff --git a/ansible_collections/junipernetworks/junos/plugins/action/acl_interfaces.py b/ansible_collections/junipernetworks/junos/plugins/action/acl_interfaces.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/acl_interfaces.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/acls.py b/ansible_collections/junipernetworks/junos/plugins/action/acls.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/acls.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/banner.py b/ansible_collections/junipernetworks/junos/plugins/action/banner.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/banner.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/bgp_address_family.py b/ansible_collections/junipernetworks/junos/plugins/action/bgp_address_family.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/bgp_address_family.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/bgp_global.py b/ansible_collections/junipernetworks/junos/plugins/action/bgp_global.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/bgp_global.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/command.py b/ansible_collections/junipernetworks/junos/plugins/action/command.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/command.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/config.py b/ansible_collections/junipernetworks/junos/plugins/action/config.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/config.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/facts.py b/ansible_collections/junipernetworks/junos/plugins/action/facts.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/facts.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/hostname.py b/ansible_collections/junipernetworks/junos/plugins/action/hostname.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/hostname.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/interfaces.py b/ansible_collections/junipernetworks/junos/plugins/action/interfaces.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/interfaces.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/l2_interfaces.py b/ansible_collections/junipernetworks/junos/plugins/action/l2_interfaces.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/l2_interfaces.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/l3_intefaces.py b/ansible_collections/junipernetworks/junos/plugins/action/l3_intefaces.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/l3_intefaces.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/lacp.py b/ansible_collections/junipernetworks/junos/plugins/action/lacp.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/lacp.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/lacp_intefaces.py b/ansible_collections/junipernetworks/junos/plugins/action/lacp_intefaces.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/lacp_intefaces.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/lag_interfaces.py b/ansible_collections/junipernetworks/junos/plugins/action/lag_interfaces.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/lag_interfaces.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/lldp_global.py b/ansible_collections/junipernetworks/junos/plugins/action/lldp_global.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/lldp_global.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/lldp_interfaces.py b/ansible_collections/junipernetworks/junos/plugins/action/lldp_interfaces.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/lldp_interfaces.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/logging.py b/ansible_collections/junipernetworks/junos/plugins/action/logging.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/logging.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/logging_global.py b/ansible_collections/junipernetworks/junos/plugins/action/logging_global.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/logging_global.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/netconf.py b/ansible_collections/junipernetworks/junos/plugins/action/netconf.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/netconf.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/ntp_global.py b/ansible_collections/junipernetworks/junos/plugins/action/ntp_global.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/ntp_global.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/ospf_interfaces.py b/ansible_collections/junipernetworks/junos/plugins/action/ospf_interfaces.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/ospf_interfaces.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/ospfv2.py b/ansible_collections/junipernetworks/junos/plugins/action/ospfv2.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/ospfv2.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/ospfv3.py b/ansible_collections/junipernetworks/junos/plugins/action/ospfv3.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/ospfv3.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/package.py b/ansible_collections/junipernetworks/junos/plugins/action/package.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/package.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/ping.py b/ansible_collections/junipernetworks/junos/plugins/action/ping.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/ping.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/prefix_lists.py b/ansible_collections/junipernetworks/junos/plugins/action/prefix_lists.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/prefix_lists.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/routing_instances.py b/ansible_collections/junipernetworks/junos/plugins/action/routing_instances.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/routing_instances.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/routing_options.py b/ansible_collections/junipernetworks/junos/plugins/action/routing_options.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/routing_options.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/rpc.py b/ansible_collections/junipernetworks/junos/plugins/action/rpc.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/rpc.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/scp.py b/ansible_collections/junipernetworks/junos/plugins/action/scp.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/scp.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/security_policies.py b/ansible_collections/junipernetworks/junos/plugins/action/security_policies.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/security_policies.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/security_policies_global.py b/ansible_collections/junipernetworks/junos/plugins/action/security_policies_global.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/security_policies_global.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/security_zones.py b/ansible_collections/junipernetworks/junos/plugins/action/security_zones.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/security_zones.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/snmp_server.py b/ansible_collections/junipernetworks/junos/plugins/action/snmp_server.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/snmp_server.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/static_routes.py b/ansible_collections/junipernetworks/junos/plugins/action/static_routes.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/static_routes.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/system.py b/ansible_collections/junipernetworks/junos/plugins/action/system.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/system.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/user.py b/ansible_collections/junipernetworks/junos/plugins/action/user.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/user.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/vlans.py b/ansible_collections/junipernetworks/junos/plugins/action/vlans.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/vlans.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/action/vrf.py b/ansible_collections/junipernetworks/junos/plugins/action/vrf.py new file mode 100644 index 000000000..4c5d480af --- /dev/null +++ b/ansible_collections/junipernetworks/junos/plugins/action/vrf.py @@ -0,0 +1,168 @@ +# +# (c) 2016 Red Hat Inc. +# +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see <http://www.gnu.org/licenses/>. +# +from __future__ import absolute_import, division, print_function + + +__metaclass__ = type + +import copy +import sys + +from ansible.utils.display import Display +from ansible_collections.ansible.netcommon.plugins.action.network import ( + ActionModule as ActionNetworkModule, +) +from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( + load_provider, +) + +from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( + junos_provider_spec, +) + + +display = Display() + +CLI_SUPPORTED_MODULES = ["junos_netconf", "junos_ping", "junos_command"] + + +class ActionModule(ActionNetworkModule): + def run(self, tmp=None, task_vars=None): + del tmp # tmp no longer has any effect + + module_name = self._task.action.split(".")[-1] + self._config_module = True if module_name in ["junos_config", "config"] else False + persistent_connection = self._play_context.connection.split(".")[-1] + warnings = [] + + if self._play_context.connection == "local": + provider = load_provider(junos_provider_spec, self._task.args) + pc = copy.deepcopy(self._play_context) + pc.network_os = "junipernetworks.junos.junos" + pc.remote_addr = provider["host"] or self._play_context.remote_addr + + if provider["transport"] == "cli" and module_name not in CLI_SUPPORTED_MODULES: + return { + "failed": True, + "msg": "Transport type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (provider["transport"], module_name), + } + + if module_name == "junos_netconf" or ( + provider["transport"] == "cli" and module_name == "junos_command" + ): + pc.connection = "ansible.netcommon.network_cli" + pc.port = int( + provider["port"] or self._play_context.port or 22, + ) + else: + pc.connection = "ansible.netcommon.netconf" + pc.port = int( + provider["port"] or self._play_context.port or 830, + ) + + pc.remote_user = provider["username"] or self._play_context.connection_user + pc.password = provider["password"] or self._play_context.password + pc.private_key_file = provider["ssh_keyfile"] or self._play_context.private_key_file + + connection = self._shared_loader_obj.connection_loader.get( + "ansible.netcommon.persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + # TODO: Remove below code after ansible minimal is cut out + if connection is None: + pc.network_os = "junos" + if pc.connection.split(".")[-1] == "netconf": + pc.connection = "netconf" + else: + pc.connection = "network_cli" + + connection = self._shared_loader_obj.connection_loader.get( + "persistent", + pc, + sys.stdin, + task_uuid=self._task._uuid, + ) + + display.vvv( + "using connection plugin %s (was local)" % pc.connection, + pc.remote_addr, + ) + + command_timeout = ( + int(provider["timeout"]) + if provider["timeout"] + else connection.get_option("persistent_command_timeout") + ) + connection.set_options( + direct={"persistent_command_timeout": command_timeout}, + ) + + socket_path = connection.run() + display.vvvv("socket_path: %s" % socket_path, pc.remote_addr) + if not socket_path: + return { + "failed": True, + "msg": "unable to open shell. Please see: " + + "https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell", + } + + task_vars["ansible_socket"] = socket_path + warnings.append( + [ + "connection local support for this module is deprecated and will be removed in version 2.14, use connection %s" + % pc.connection, + ], + ) + elif persistent_connection in ("netconf", "network_cli"): + provider = self._task.args.get("provider", {}) + if any(provider.values()): + # for legacy reasons provider value is required for junos_facts(optional) and junos_package + # modules as it uses junos_eznc library to connect to remote host + if not ( + module_name == "junos_facts" + or module_name == "junos_package" + or module_name == "junos_scp" + ): + display.warning( + "provider is unnecessary when using %s and will be ignored" + % self._play_context.connection, + ) + del self._task.args["provider"] + + if ( + persistent_connection == "network_cli" and module_name not in CLI_SUPPORTED_MODULES + ) or (persistent_connection == "netconf" and module_name in CLI_SUPPORTED_MODULES[0:2]): + return { + "failed": True, + "msg": "Connection type '%s' is not valid for '%s' module. " + "Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html" + % (self._play_context.connection, module_name), + } + result = super(ActionModule, self).run(task_vars=task_vars) + if warnings: + if "warnings" in result: + result["warnings"].extend(warnings) + else: + result["warnings"] = warnings + return result diff --git a/ansible_collections/junipernetworks/junos/plugins/cliconf/junos.py b/ansible_collections/junipernetworks/junos/plugins/cliconf/junos.py index 75a2e23bd..4461c9cb0 100644 --- a/ansible_collections/junipernetworks/junos/plugins/cliconf/junos.py +++ b/ansible_collections/junipernetworks/junos/plugins/cliconf/junos.py @@ -272,6 +272,15 @@ class Cliconf(CliconfBase): self.discard_changes() return resp + @configure + def restore(self, filename=None, path=""): + if not filename: + raise ValueError("'file_name' value is required for restore") + cmd = f"load override {path}{filename}" + resp = self.send_command(cmd) + self.commit() + return resp + def get_diff(self, rollback_id=None): diff = {"config_diff": None} response = self.compare_configuration(rollback_id=rollback_id) diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/config/lldp_global/lldp_global.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/config/lldp_global/lldp_global.py index 5b0d5c78f..a92c6399c 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/config/lldp_global/lldp_global.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/config/lldp_global/lldp_global.py @@ -239,31 +239,32 @@ class Lldp_global(ConfigBase): """ lldp_xml = [] - lldp_root = build_root_xml_node("lldp") - build_child_xml_node( - lldp_root, - "management-address", - None, - {"delete": "delete"}, - ) - build_child_xml_node( - lldp_root, - "advertisement-interval", - None, - {"delete": "delete"}, - ) - build_child_xml_node( - lldp_root, - "transmit-delay", - None, - {"delete": "delete"}, - ) - build_child_xml_node( - lldp_root, - "hold-multiplier", - None, - {"delete": "delete"}, - ) - build_child_xml_node(lldp_root, "disable", None, {"delete": "delete"}) - lldp_xml.append(lldp_root) + if have: + lldp_root = build_root_xml_node("lldp") + build_child_xml_node( + lldp_root, + "management-address", + None, + {"delete": "delete"}, + ) + build_child_xml_node( + lldp_root, + "advertisement-interval", + None, + {"delete": "delete"}, + ) + build_child_xml_node( + lldp_root, + "transmit-delay", + None, + {"delete": "delete"}, + ) + build_child_xml_node( + lldp_root, + "hold-multiplier", + None, + {"delete": "delete"}, + ) + build_child_xml_node(lldp_root, "disable", None, {"delete": "delete"}) + lldp_xml.append(lldp_root) return lldp_xml diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py index 990cae77e..31df42c10 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/config/ospf_interfaces/ospf_interfaces.py @@ -64,7 +64,7 @@ class Ospf_interfaces(ConfigBase): data=data, ) ospf_interfaces_facts = facts["ansible_network_resources"].get( - "junos_ospf_interfaces", + "ospf_interfaces", ) if not ospf_interfaces_facts: return [] diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/acls/acls.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/acls/acls.py index 7ff8fb2c3..65c81fe58 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/acls/acls.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/acls/acls.py @@ -85,7 +85,7 @@ class AclsFacts(object): objs = [] for resource in resources: - if resource: + if resource is not None: xml = self._get_xml_dict(resource) for family, sub_dict in xml["firewall"]["family"].items(): sub_dict["family"] = family @@ -96,9 +96,8 @@ class AclsFacts(object): if obj: objs.append(obj) - facts = {} + facts = {"acls": []} if objs: - facts["acls"] = [] params = utils.validate_config( self.argument_spec, {"config": objs}, diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/lldp_global/lldp_global.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/lldp_global/lldp_global.py index 3b48e9720..c69a4cedd 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/lldp_global/lldp_global.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/lldp_global/lldp_global.py @@ -80,7 +80,7 @@ class Lldp_globalFacts(object): to_bytes(data, errors="surrogate_then_replace"), ) - facts = {} + facts = {"lldp_global": {}} config = deepcopy(self.generated_spec) resources = data.xpath("configuration/protocols/lldp") if resources: diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/lldp_interfaces/lldp_interfaces.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/lldp_interfaces/lldp_interfaces.py index a5d1af467..7f6e48215 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/lldp_interfaces/lldp_interfaces.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/lldp_interfaces/lldp_interfaces.py @@ -87,7 +87,7 @@ class Lldp_interfacesFacts(object): obj = self.render_config(self.generated_spec, resource) if obj: objs.append(obj) - facts = {} + facts = {"lldp_interfaces": []} if objs: facts["lldp_interfaces"] = [] params = utils.validate_config( diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/logging_global/logging_global.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/logging_global/logging_global.py index 2affbde19..0ca196bb9 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/logging_global/logging_global.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/logging_global/logging_global.py @@ -99,7 +99,7 @@ class Logging_globalFacts(object): xml = self._get_xml_dict(resource) objs = self.render_config(self.generated_spec, xml) - facts = {} + facts = {"logging_global": {}} if objs: facts["logging_global"] = {} params = utils.validate_config( diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ntp_global/ntp_global.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ntp_global/ntp_global.py index a7dc37b57..82d1e0603 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ntp_global/ntp_global.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ntp_global/ntp_global.py @@ -99,9 +99,8 @@ class Ntp_globalFacts(object): xml = self._get_xml_dict(resource) objs = self.render_config(self.generated_spec, xml) - facts = {} + facts = {"ntp_global": {}} if objs: - facts["ntp_global"] = {} params = utils.validate_config( self.argument_spec, {"config": objs}, diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ospf_interfaces/ospf_interfaces.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ospf_interfaces/ospf_interfaces.py index 55c162d25..bb37c5150 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ospf_interfaces/ospf_interfaces.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ospf_interfaces/ospf_interfaces.py @@ -116,9 +116,8 @@ class Ospf_interfacesFacts(object): xml = self._get_xml_dict(resource) objs = self.render_config(self.generated_spec, xml) - facts = {} + facts = {"ospf_interfaces": []} if objs: - facts["junos_ospf_interfaces"] = [] params = _validate_config( self._module, self.argument_spec, @@ -127,7 +126,7 @@ class Ospf_interfacesFacts(object): ) for cfg in params["config"]: - facts["junos_ospf_interfaces"].append(remove_empties(cfg)) + facts["ospf_interfaces"].append(remove_empties(cfg)) ansible_facts["ansible_network_resources"].update(facts) return ansible_facts diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ospfv2/ospfv2.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ospfv2/ospfv2.py index 44bbb9732..70fdf40d2 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ospfv2/ospfv2.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ospfv2/ospfv2.py @@ -122,9 +122,8 @@ class Ospfv2Facts(object): if obj: objs.append(obj) - facts = {} + facts = {"ospfv2": []} if objs is not None: - facts["ospfv2"] = [] params = utils.validate_config( self.argument_spec, {"config": objs}, diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ospfv3/ospfv3.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ospfv3/ospfv3.py index 8bbd04fcd..79bb61bd7 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ospfv3/ospfv3.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/ospfv3/ospfv3.py @@ -123,9 +123,8 @@ class Ospfv3Facts(object): if obj: objs.append(obj) - facts = {} + facts = {"ospfv3": []} if objs: - facts["ospfv3"] = [] params = utils.validate_config( self.argument_spec, {"config": objs}, diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/prefix_lists/prefix_lists.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/prefix_lists/prefix_lists.py index 4d3ec81c0..0f26ece3f 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/prefix_lists/prefix_lists.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/prefix_lists/prefix_lists.py @@ -101,9 +101,8 @@ class Prefix_listsFacts(object): xml = self._get_xml_dict(resource) objs = self.render_config(self.generated_spec, xml) - facts = {} + facts = {"prefix_lists": []} if objs: - facts["prefix_lists"] = [] params = utils.validate_config( self.argument_spec, {"config": objs}, diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/routing_instances/routing_instances.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/routing_instances/routing_instances.py index d571e4e53..1766e4836 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/routing_instances/routing_instances.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/routing_instances/routing_instances.py @@ -97,9 +97,8 @@ class Routing_instancesFacts(object): xml = self._get_xml_dict(resource) objs = self.render_config(self.generated_spec, xml) - facts = {} + facts = {"routing_instances": []} if objs: - facts["routing_instances"] = [] params = utils.validate_config( self.argument_spec, {"config": objs}, diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/routing_options/routing_options.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/routing_options/routing_options.py index 78664fea8..b0e45a82a 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/routing_options/routing_options.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/routing_options/routing_options.py @@ -97,9 +97,8 @@ class Routing_optionsFacts(object): xml = self._get_xml_dict(resource) objs = self.render_config(self.generated_spec, xml) - facts = {} + facts = {"routing_options": []} if objs: - facts["routing_options"] = {} params = utils.validate_config( self.argument_spec, {"config": objs}, diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/security_policies/security_policies.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/security_policies/security_policies.py index 0c4d25e5e..c40c0f973 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/security_policies/security_policies.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/security_policies/security_policies.py @@ -109,9 +109,8 @@ class Security_policiesFacts(object): xml = self._get_xml_dict(resource) objs = self.render_config(self.generated_spec, xml) - facts = {} + facts = {"security_policies": {}} if objs: - facts["security_policies"] = {} params = utils.validate_config( self.argument_spec, {"config": objs}, diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/security_policies_global/security_policies_global.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/security_policies_global/security_policies_global.py index 692a07b60..8fdb7e016 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/security_policies_global/security_policies_global.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/security_policies_global/security_policies_global.py @@ -109,9 +109,8 @@ class Security_policies_globalFacts(object): xml = self._get_xml_dict(resource) objs = self.render_config(self.generated_spec, xml) - facts = {} + facts = {"security_policies_global": {}} if objs: - facts["security_policies_global"] = {} params = utils.validate_config( self.argument_spec, {"config": objs}, diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/security_zones/security_zones.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/security_zones/security_zones.py index 1e77168ac..61ca3f898 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/security_zones/security_zones.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/security_zones/security_zones.py @@ -109,9 +109,8 @@ class Security_zonesFacts(object): xml = self._get_xml_dict(resource) objs = self.render_config(self.generated_spec, xml) - facts = {} + facts = {"security_zones": {}} if objs: - facts["security_zones"] = {} params = utils.validate_config( self.argument_spec, {"config": objs}, diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/snmp_server/snmp_server.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/snmp_server/snmp_server.py index b3c35bfec..52d228a16 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/snmp_server/snmp_server.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/snmp_server/snmp_server.py @@ -97,9 +97,8 @@ class Snmp_serverFacts(object): xml = self._get_xml_dict(resource) objs = self.render_config(self.generated_spec, xml) - facts = {} + facts = {"snmp_server": {}} if objs: - facts["snmp_server"] = {} params = utils.validate_config( self.argument_spec, {"config": objs}, diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/static_routes/static_routes.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/static_routes/static_routes.py index 0be6f032d..e2a21e24b 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/static_routes/static_routes.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/static_routes/static_routes.py @@ -95,9 +95,8 @@ class Static_routesFacts(object): if obj: objs.append(obj) - facts = {} + facts = {"static_routes": []} if objs: - facts["static_routes"] = [] params = utils.validate_config( self.argument_spec, {"config": objs}, diff --git a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/vlans/vlans.py b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/vlans/vlans.py index f4d35e635..43058f023 100644 --- a/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/vlans/vlans.py +++ b/ansible_collections/junipernetworks/junos/plugins/module_utils/network/junos/facts/vlans/vlans.py @@ -94,9 +94,8 @@ class VlansFacts(object): obj = self.render_config(self.generated_spec, resource) if obj: objs.append(obj) - facts = {} + facts = {"vlans": []} if objs: - facts["vlans"] = [] params = utils.validate_config( self.argument_spec, {"config": objs}, diff --git a/ansible_collections/junipernetworks/junos/plugins/modules/junos_config.py b/ansible_collections/junipernetworks/junos/plugins/modules/junos_config.py index 5b5151d39..c019e9c2b 100644 --- a/ansible_collections/junipernetworks/junos/plugins/modules/junos_config.py +++ b/ansible_collections/junipernetworks/junos/plugins/modules/junos_config.py @@ -66,9 +66,8 @@ options: confirm: description: - The C(confirm) argument will configure a time out value in minutes for the commit - to be confirmed before it is automatically rolled back. If the C(confirm) argument - is set to False, this argument is silently ignored. If the value for this argument - is set to 0, the commit is confirmed immediately. + to be confirmed before it is automatically rolled back. If the value for this argument + is set to 0, the commit is confirmed immediately which is also the default behaviour. type: int default: 0 comment: @@ -238,6 +237,16 @@ EXAMPLES = """ backup_options: filename: backup.cfg dir_path: /home/user + +- name: Set description with timer to confirm commit + junipernetworks.junos.junos_config: + lines: + - set interfaces fxp0 description "wait for a commit confirmation for 3 minutes; otherwise, it will be rolled back." + confirm: 3 + +- name: Perform confirm commit + junipernetworks.junos.junos_config: + confirm_commit: true """ RETURN = """ diff --git a/ansible_collections/junipernetworks/junos/plugins/modules/junos_l2_interfaces.py b/ansible_collections/junipernetworks/junos/plugins/modules/junos_l2_interfaces.py index bbd5f25b5..6a8424b40 100644 --- a/ansible_collections/junipernetworks/junos/plugins/modules/junos_l2_interfaces.py +++ b/ansible_collections/junipernetworks/junos/plugins/modules/junos_l2_interfaces.py @@ -330,11 +330,11 @@ EXAMPLES = """ - name: Override provided configuration with device configuration junipernetworks.junos.junos_l2_interfaces: config: - - name: ge-0/0/4 - trunk: - allowed_vlans: - - v101 - native_vlan: 30 + - name: ge-0/0/4 + trunk: + allowed_vlans: + - v101 + native_vlan: 30 state: overridden # Task Output @@ -494,14 +494,14 @@ EXAMPLES = """ - name: Replace provided configuration with device configuration junipernetworks.junos.junos_l2_interfaces: config: - - name: ge-0/0/3 - access: - vlan: v101 - - name: ge-0/0/4 - trunk: - allowed_vlans: - - vlan30 - native_vlan: 50 + - name: ge-0/0/3 + access: + vlan: v101 + - name: ge-0/0/4 + trunk: + allowed_vlans: + - vlan30 + native_vlan: 50 state: replaced # Task Output @@ -674,8 +674,8 @@ EXAMPLES = """ interface itself)." junipernetworks.junos.junos_l2_interfaces: config: - - name: ge-0/0/1 - - name: ge-0/0/2 + - name: ge-0/0/1 + - name: ge-0/0/2 state: deleted # Task Output diff --git a/ansible_collections/junipernetworks/junos/plugins/modules/junos_l3_interfaces.py b/ansible_collections/junipernetworks/junos/plugins/modules/junos_l3_interfaces.py index 3e9fd57b7..f57ffe0c8 100644 --- a/ansible_collections/junipernetworks/junos/plugins/modules/junos_l3_interfaces.py +++ b/ansible_collections/junipernetworks/junos/plugins/modules/junos_l3_interfaces.py @@ -132,14 +132,14 @@ EXAMPLES = """ - name: Merge provided configuration with device configuration junipernetworks.junos.junos_l3_interfaces: config: - - name: ge-0/0/1 - ipv4: - - address: 192.168.1.10/24 - ipv6: - - address: 8d8d:8d01::1/64 - - name: ge-0/0/2 - ipv4: - - address: dhcp + - name: ge-0/0/1 + ipv4: + - address: 192.168.1.10/24 + ipv6: + - address: 8d8d:8d01::1/64 + - name: ge-0/0/2 + ipv4: + - address: dhcp state: merged # Task Output @@ -265,13 +265,13 @@ EXAMPLES = """ - name: Override provided configuration with device configuration junipernetworks.junos.junos_l3_interfaces: config: - - name: ge-0/0/1 - ipv4: - - address: 192.168.1.10/24 - - ipv4: - - address: dhcp - name: fxp0 - unit: '0' + - name: ge-0/0/1 + ipv4: + - address: 192.168.1.10/24 + - ipv4: + - address: dhcp + name: fxp0 + unit: '0' state: overridden # Task Output @@ -434,14 +434,14 @@ EXAMPLES = """ - name: Replace provided configuration with device configuration junipernetworks.junos.junos_l3_interfaces: config: - - name: ge-0/0/1 - ipv4: - - address: 192.168.1.10/24 - ipv6: - - address: 8d8d:8d01::1/64 - - name: ge-0/0/2 - ipv4: - - address: dhcp + - name: ge-0/0/1 + ipv4: + - address: 192.168.1.10/24 + ipv6: + - address: 8d8d:8d01::1/64 + - name: ge-0/0/2 + ipv4: + - address: dhcp state: replaced # Task Output @@ -603,8 +603,8 @@ EXAMPLES = """ - name: Delete L3 logical interface junipernetworks.junos.junos_l3_interfaces: config: - - name: ge-0/0/1 - - name: ge-0/0/2 + - name: ge-0/0/1 + - name: ge-0/0/2 state: deleted # Task Output diff --git a/ansible_collections/junipernetworks/junos/plugins/modules/junos_logging.py b/ansible_collections/junipernetworks/junos/plugins/modules/junos_logging.py deleted file mode 100644 index 8f736d054..000000000 --- a/ansible_collections/junipernetworks/junos/plugins/modules/junos_logging.py +++ /dev/null @@ -1,403 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -# (c) 2017, Ansible by Red Hat, inc -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import absolute_import, division, print_function - - -__metaclass__ = type - - -DOCUMENTATION = """ -module: junos_logging -author: Ganesh Nalawade (@ganeshrn) -short_description: Manage logging on network devices -description: -- This module provides declarative management of logging on Juniper JUNOS devices. -version_added: 1.0.0 -extends_documentation_fragment: -- junipernetworks.junos.junos -deprecated: - alternative: junos_logging_global - why: Updated module released with more functionality. - removed_at_date: '2023-08-01' -options: - dest: - description: - - Destination of the logs. - choices: - - console - - host - - file - - user - type: str - name: - description: - - If value of C(dest) is I(file) it indicates file-name, for I(user) it indicates - username and for I(host) indicates the host name to be notified. - type: str - facility: - description: - - Set logging facility. - type: str - level: - description: - - Set logging severity levels. - type: str - aggregate: - description: - - List of logging definitions. - type: list - elements: dict - suboptions: - dest: - description: - - Destination of the logs. - choices: - - console - - host - - file - - user - type: str - name: - description: - - If value of C(dest) is I(file) it indicates file-name, for I(user) it indicates - username and for I(host) indicates the host name to be notified. - type: str - facility: - description: - - Set logging facility. - type: str - level: - description: - - Set logging severity levels. - type: str - state: - description: - - State of the logging configuration. - type: str - choices: - - present - - absent - active: - description: - - Specifies whether or not the configuration is active or deactivated - type: bool - rotate_frequency: - description: - - Rotate log frequency in minutes, this is applicable if value of I(dest) is C(file). - The acceptable value is in range of 1 to 59. This controls the frequency after - which log file is rotated. - type: int - required: false - size: - description: - - Size of the file in archive, this is applicable if value of I(dest) is C(file). - The acceptable value is in range from 65536 to 1073741824 bytes. - type: int - required: false - files: - description: - - Number of files to be archived, this is applicable if value of I(dest) is C(file). - The acceptable value is in range from 1 to 1000. - type: int - required: false - state: - description: - - State of the logging configuration. - default: present - type: str - choices: - - present - - absent - active: - description: - - Specifies whether or not the configuration is active or deactivated - default: true - type: bool - rotate_frequency: - description: - - Rotate log frequency in minutes, this is applicable if value of I(dest) is C(file). - The acceptable value is in range of 1 to 59. This controls the frequency after - which log file is rotated. - type: int - required: false - size: - description: - - Size of the file in archive, this is applicable if value of I(dest) is C(file). - The acceptable value is in range from 65536 to 1073741824 bytes. - required: false - type: int - files: - description: - - Number of files to be archived, this is applicable if value of I(dest) is C(file). - The acceptable value is in range from 1 to 1000. - type: int - required: false -requirements: -- ncclient (>=v0.5.2) -notes: -- This module requires the netconf system service be enabled on the remote device - being managed. -- Tested against vSRX JUNOS version 15.1X49-D15.4, vqfx-10000 JUNOS Version 15.1X53-D60.4. -- Recommended connection is C(netconf). See L(the Junos OS Platform Options,../network/user_guide/platform_junos.html). -- This module also works with C(local) connections for legacy playbooks. -""" - -EXAMPLES = """ -- name: configure console logging - junipernetworks.junos.junos_logging: - dest: console - facility: any - level: critical - -- name: remove console logging configuration - junipernetworks.junos.junos_logging: - dest: console - state: absent - -- name: configure file logging - junipernetworks.junos.junos_logging: - dest: file - name: test - facility: pfe - level: error - -- name: configure logging parameter - junipernetworks.junos.junos_logging: - files: 30 - size: 65536 - rotate_frequency: 10 - -- name: Configure file logging using aggregate - junipernetworks.junos.junos_logging: - dest: file - aggregate: - - name: test-1 - facility: pfe - level: critical - - name: test-2 - facility: kernel - level: emergency - active: true - -- name: Delete file logging using aggregate - junipernetworks.junos.junos_logging: - aggregate: - - {dest: file, name: test-1, facility: pfe, level: critical} - - {dest: file, name: test-2, facility: kernel, level: emergency} - state: absent -""" - -RETURN = """ -diff.prepared: - description: Configuration difference before and after applying change. - returned: when configuration is changed and diff option is enabled. - type: str - sample: > - [edit system syslog] - + [edit system syslog] - file interactive-commands { ... } - + file test { - + pfe critical; - + } -""" -import collections - -from copy import deepcopy - -from ansible.module_utils._text import to_text -from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.common.validation import check_required_if -from ansible_collections.ansible.netcommon.plugins.module_utils.network.common.utils import ( - remove_default_spec, -) - -from ansible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junos import ( - commit_configuration, - discard_changes, - load_config, - locked_config, - map_obj_to_ele, - map_params_to_obj, - to_param_list, - tostring, -) - - -USE_PERSISTENT_CONNECTION = True - - -def validate_files(value, module): - if value and not 1 <= value <= 1000: - module.fail_json(msg="files must be between 1 and 1000") - - -def validate_size(value, module): - if value and not 65536 <= value <= 1073741824: - module.fail_json(msg="size must be between 65536 and 1073741824") - - -def validate_rotate_frequency(value, module): - if value and not 1 <= value <= 59: - module.fail_json(msg="rotate_frequency must be between 1 and 59") - - -def validate_param_values(module, obj, param=None): - if not param: - param = module.params - for key in obj: - # validate the param value (if validator func exists) - validator = globals().get("validate_%s" % key) - if callable(validator): - validator(param.get(key), module) - - -def main(): - """main entry point for module execution""" - element_spec = dict( - dest=dict(choices=["console", "host", "file", "user"]), - name=dict(), - facility=dict(), - level=dict(), - rotate_frequency=dict(type="int"), - size=dict(type="int"), - files=dict(type="int"), - state=dict(default="present", choices=["present", "absent"]), - active=dict(default=True, type="bool"), - ) - - aggregate_spec = deepcopy(element_spec) - - # remove default in aggregate spec, to handle common arguments - remove_default_spec(aggregate_spec) - - argument_spec = dict( - aggregate=dict(type="list", elements="dict", options=aggregate_spec), - ) - - argument_spec.update(element_spec) - - required_if = [ - ("dest", "host", ["name", "facility", "level"]), - ("dest", "file", ["name", "facility", "level"]), - ("dest", "user", ["name", "facility", "level"]), - ("dest", "console", ["facility", "level"]), - ] - - module = AnsibleModule( - argument_spec=argument_spec, - required_if=required_if, - supports_check_mode=True, - ) - - warnings = list() - result = {"changed": False} - - if warnings: - result["warnings"] = warnings - - params = to_param_list(module) - - requests = list() - for param in params: - # if key doesn't exist in the item, get it from module.params - for key in param: - if param.get(key) is None: - param[key] = module.params[key] - - try: - check_required_if(required_if, param) - except TypeError as exc: - module.fail_json(to_text(exc)) - - item = param.copy() - dest = item.get("dest") - if dest == "console" and item.get("name"): - module.fail_json( - msg="%s and %s are mutually exclusive" % ("console", "name"), - ) - - top = "system/syslog" - is_facility_key = False - field_top = None - if dest: - if dest == "console": - field_top = dest - is_facility_key = True - else: - field_top = dest + "/contents" - is_facility_key = False - - param_to_xpath_map = collections.OrderedDict() - param_to_xpath_map.update( - [ - ("name", {"xpath": "name", "is_key": True, "top": dest}), - ( - "facility", - { - "xpath": "name", - "is_key": is_facility_key, - "top": field_top, - }, - ), - ( - "size", - { - "xpath": "size", - "leaf_only": True, - "is_key": True, - "top": "archive", - }, - ), - ( - "files", - { - "xpath": "files", - "leaf_only": True, - "is_key": True, - "top": "archive", - }, - ), - ( - "rotate_frequency", - {"xpath": "log-rotate-frequency", "leaf_only": True}, - ), - ], - ) - - if item.get("level"): - param_to_xpath_map["level"] = { - "xpath": item.get("level"), - "tag_only": True, - "top": field_top, - } - - validate_param_values(module, param_to_xpath_map, param=item) - - want = map_params_to_obj(module, param_to_xpath_map, param=item) - requests.append(map_obj_to_ele(module, want, top, param=item)) - - diff = None - with locked_config(module): - for req in requests: - diff = load_config(module, tostring(req), warnings, action="merge") - - commit = not module.check_mode - if diff: - if commit: - commit_configuration(module) - else: - discard_changes(module) - result["changed"] = True - - if module._diff: - result["diff"] = {"prepared": diff} - - module.exit_json(**result) - - -if __name__ == "__main__": - main() diff --git a/ansible_collections/junipernetworks/junos/test-requirements.txt b/ansible_collections/junipernetworks/junos/test-requirements.txt index ee046d74c..ab0eac353 100644 --- a/ansible_collections/junipernetworks/junos/test-requirements.txt +++ b/ansible_collections/junipernetworks/junos/test-requirements.txt @@ -1,7 +1,7 @@ -black==22.3.0 ; python_version > '3.5' +black==23.3.0 ; python_version > '3.7' flake8 -git+https://github.com/ansible-community/pytest-ansible-units.git mock +pytest-ansible ; python_version >= '3.9' +git+https://github.com/ansible-community/pytest-ansible-units.git ; python_version < '3.9' pytest-xdist yamllint -coverage==4.5.4 diff --git a/ansible_collections/junipernetworks/junos/tests/config.yml b/ansible_collections/junipernetworks/junos/tests/config.yml new file mode 100644 index 000000000..c26ea5966 --- /dev/null +++ b/ansible_collections/junipernetworks/junos/tests/config.yml @@ -0,0 +1,3 @@ +--- +modules: + python_requires: ">=3.9" diff --git a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_facts/tests/netconf/network_facts.yaml b/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_facts/tests/netconf/network_facts.yaml new file mode 100644 index 000000000..f0d08f310 --- /dev/null +++ b/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_facts/tests/netconf/network_facts.yaml @@ -0,0 +1,124 @@ +--- +- ansible.builtin.debug: + msg="START cli_config/cli_basic.yaml on connection={{ ansible_connection + }}" + +- name: Reset acls + junipernetworks.junos.junos_acls: + state: deleted + +- name: Reset vlans + junipernetworks.junos.junos_vlans: + state: deleted + +- name: Reset lldp_global + junipernetworks.junos.junos_lldp_global: + state: deleted + +- name: Reset lldp_interfaces + junipernetworks.junos.junos_lldp_interfaces: + state: deleted + +- name: Reset logging_global + junipernetworks.junos.junos_logging_global: + state: deleted + +- name: Reset ntp_global + junipernetworks.junos.junos_ntp_global: + state: deleted + +- name: Reset ospf_interfaces + junipernetworks.junos.junos_ospf_interfaces: + state: deleted + +- name: Reset ospfv2 + junipernetworks.junos.junos_ospfv2: + state: deleted + +- name: Reset ospfv3 + junipernetworks.junos.junos_ospfv3: + state: deleted + +- name: Reset prefix_lists + junipernetworks.junos.junos_prefix_lists: + state: deleted + +- name: Reset routing_instances + junipernetworks.junos.junos_routing_instances: + state: deleted + +- name: Reset routing_options + junipernetworks.junos.junos_routing_options: + state: deleted + +- name: Reset security_policies + junipernetworks.junos.junos_security_policies: + state: deleted + +- name: Reset security_policies_global + junipernetworks.junos.junos_security_policies_global: + state: deleted + +- name: Reset security_zones + junipernetworks.junos.junos_security_zones: + state: deleted + +- name: Reset snmp_server + junipernetworks.junos.junos_snmp_server: + state: deleted + +- name: Reset static_routes + junipernetworks.junos.junos_static_routes: + state: deleted + +- name: Gather junipernetworks junos facts + junipernetworks.junos.junos_facts: + gather_subset: config + gather_network_resources: + - acls + - lldp_global + - lldp_interfaces + - logging_global + - ntp_global + - ospf_interfaces + - ospfv2 + - ospfv3 + - prefix_lists + - routing_instances + - routing_options + - security_policies + - security_policies_global + - security_zones + - snmp_server + - static_routes + - vlans + register: gather_resources + +- name: Display Facts + ansible.builtin.debug: + msg: "{{ gather_resources }}" + +- name: Assert that empty facts was generated + ansible.builtin.assert: + that: + - " gather_resources['ansible_facts']['ansible_network_resources']['acls'] == []" + - " gather_resources['ansible_facts']['ansible_network_resources']['lldp_global'] == {}" + - " gather_resources['ansible_facts']['ansible_network_resources']['lldp_interfaces'] == []" + - " gather_resources['ansible_facts']['ansible_network_resources']['logging_global'] == {}" + - " gather_resources['ansible_facts']['ansible_network_resources']['ntp_global'] == {}" + - " gather_resources['ansible_facts']['ansible_network_resources']['ospf_interfaces'] == []" + - " gather_resources['ansible_facts']['ansible_network_resources']['ospfv2'] == []" + - " gather_resources['ansible_facts']['ansible_network_resources']['ospfv3'] == []" + - " gather_resources['ansible_facts']['ansible_network_resources']['prefix_lists'] == []" + - " gather_resources['ansible_facts']['ansible_network_resources']['routing_instances'] == []" + - " gather_resources['ansible_facts']['ansible_network_resources']['routing_options'] == []" + - " gather_resources['ansible_facts']['ansible_network_resources']['security_policies'] == {}" + - " gather_resources['ansible_facts']['ansible_network_resources']['security_policies_global'] == {}" + - " gather_resources['ansible_facts']['ansible_network_resources']['security_zones'] == {}" + - " gather_resources['ansible_facts']['ansible_network_resources']['snmp_server'] == {}" + - " gather_resources['ansible_facts']['ansible_network_resources']['static_routes'] == []" + - " gather_resources['ansible_facts']['ansible_network_resources']['vlans'] == []" + +- ansible.builtin.debug: + msg="END cli_config/cli_basic.yaml on connection={{ ansible_connection + }}" diff --git a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_l2_interfaces/tests/netconf/rtt.yml b/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_l2_interfaces/tests/netconf/rtt.yml index 634727a67..f934983c9 100644 --- a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_l2_interfaces/tests/netconf/rtt.yml +++ b/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_l2_interfaces/tests/netconf/rtt.yml @@ -16,7 +16,6 @@ trunk: allowed_vlans: - vlan100 - native_vlan: "200" state: merged - name: Gather interfaces facts @@ -30,17 +29,12 @@ register: result junipernetworks.junos.junos_l2_interfaces: config: - - name: ge-0/0/1 + - name: ge-0/0/2 trunk: allowed_vlans: - vlan100 - - vlan300 - native_vlan: "400" - - - name: ge-0/0/2 - access: - vlan: vlan200 - state: replaced + native_vlan: "200" + state: overridden - name: Assert that changes were applied ansible.builtin.assert: diff --git a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/aliases b/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/aliases deleted file mode 100644 index e69de29bb..000000000 --- a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/aliases +++ /dev/null diff --git a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/defaults/main.yaml b/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/defaults/main.yaml deleted file mode 100644 index 5f709c5aa..000000000 --- a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/defaults/main.yaml +++ /dev/null @@ -1,2 +0,0 @@ ---- -testcase: "*" diff --git a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/meta/main.yml b/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/meta/main.yml deleted file mode 100644 index d80f5fbf3..000000000 --- a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - prepare_junos_tests diff --git a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/tasks/main.yaml b/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/tasks/main.yaml deleted file mode 100644 index eace31d3f..000000000 --- a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/tasks/main.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -- name: Invoke netconf - ansible.builtin.include_tasks: netconf.yaml diff --git a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/tasks/netconf.yaml b/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/tasks/netconf.yaml deleted file mode 100644 index 6071adcfe..000000000 --- a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/tasks/netconf.yaml +++ /dev/null @@ -1,21 +0,0 @@ ---- -- name: Collect all netconf test cases - ansible.builtin.find: - paths: "{{ role_path }}/tests/netconf" - patterns: "{{ testcase }}.yaml" - register: test_cases - connection: local - -- name: Set test_items - ansible.builtin.set_fact: - test_items: "{{ test_cases.files | map(attribute='path') | list }}" - -- name: Run test case (connection=ansible.netcommon.netconf) - ansible.builtin.include_tasks: "{{ test_case_to_run }}" - with_items: "{{ test_items }}" - loop_control: - loop_var: test_case_to_run - vars: - ansible_connection: ansible.netcommon.netconf - tags: - - netconf diff --git a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/tests/netconf/basic.yaml b/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/tests/netconf/basic.yaml deleted file mode 100644 index 030ce9e69..000000000 --- a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_logging/tests/netconf/basic.yaml +++ /dev/null @@ -1,407 +0,0 @@ ---- -- ansible.builtin.debug: - msg="START junos_logging netconf/basic.yaml on connection={{ ansible_connection - }}" - -- name: setup - remove file logging - junipernetworks.junos.junos_logging: - dest: file - name: test - facility: pfe - level: error - state: absent - -- name: Create file logging - register: result - junipernetworks.junos.junos_logging: - dest: file - name: test_file - facility: pfe - level: error - state: present - -- name: Get running configuration - register: config - junipernetworks.junos.junos_rpc: - rpc: get-configuration - -- ansible.builtin.assert: - that: - - result.changed == true - - "'<name>test_file</name>' in config.xml" - - "'<name>pfe</name>' in config.xml" - - "'<error/>' in config.xml" - -- name: Create file logging (idempotent) - register: result - junipernetworks.junos.junos_logging: - dest: file - name: test_file - facility: pfe - level: error - state: present - -- ansible.builtin.assert: - that: - - result.changed == false - -- name: Deactivate logging configuration - register: result - junipernetworks.junos.junos_logging: - dest: file - name: test_file - facility: pfe - level: error - state: present - active: false - -- name: Get running configuration - register: config - junipernetworks.junos.junos_rpc: - rpc: get-configuration - -- ansible.builtin.assert: - that: - - result.changed == true - - '''<file inactive="inactive">'' in config.xml' - - '''<contents inactive="inactive">'' in config.xml' - -- name: Activate logging configuration - register: result - junipernetworks.junos.junos_logging: - dest: file - name: test_file - facility: pfe - level: error - state: present - active: true - -- name: Get running configuration - register: config - junipernetworks.junos.junos_rpc: - rpc: get-configuration - -- ansible.builtin.assert: - that: - - result.changed == true - - "'<name>test_file</name>' in config.xml" - - "'<name>pfe</name>' in config.xml" - - "'<error/>' in config.xml" - -- name: Delete logging configuration - register: result - junipernetworks.junos.junos_logging: - dest: file - name: test_file - facility: pfe - level: error - state: absent - -- name: Get running configuration - register: config - junipernetworks.junos.junos_rpc: - rpc: get-configuration - -- ansible.builtin.assert: - that: - - result.changed == true - - "'<name>test_file</name>' not in config.xml" - -- name: Configure console logging - register: result - junipernetworks.junos.junos_logging: - dest: console - facility: kernel - level: emergency - state: present - active: true - -- name: Get running configuration - register: config - junipernetworks.junos.junos_rpc: - rpc: get-configuration - -- ansible.builtin.assert: - that: - - result.changed == true - - "'<console>' in config.xml" - - "'<name>kernel</name>' in config.xml" - - "'<emergency/>' in config.xml" - -- name: Configure console logging (idempotent) - register: result - junipernetworks.junos.junos_logging: - dest: console - facility: kernel - level: emergency - state: present - active: true - -- ansible.builtin.assert: - that: - - result.changed == false - -- name: Disable console logging - register: result - junipernetworks.junos.junos_logging: - dest: console - facility: kernel - level: emergency - state: present - active: false - -- name: Get running configuration - register: config - junipernetworks.junos.junos_rpc: - rpc: get-configuration - -- ansible.builtin.assert: - that: - - result.changed == true - - '''<console inactive="inactive">'' in config.xml' - -- name: Delete console logging - register: result - junipernetworks.junos.junos_logging: - dest: console - facility: kernel - level: emergency - state: absent - -- name: Get running configuration - register: config - junipernetworks.junos.junos_rpc: - rpc: get-configuration - -- ansible.builtin.assert: - that: - - result.changed == true - - "'<console>' not in config.xml" - -- name: Configure logging parameters - register: result - junipernetworks.junos.junos_logging: - size: 65536 - files: 40 - rotate_frequency: 20 - state: present - -- name: Get running configuration - register: config - junipernetworks.junos.junos_rpc: - rpc: get-configuration - -- ansible.builtin.assert: - that: - - result.changed == true - - "'<size>64k</size>' in config.xml" - - "'<files>40</files>' in config.xml" - - "'<log-rotate-frequency>20</log-rotate-frequency>' in config.xml" - -- name: Configure logging parameters (idempotent) - register: result - junipernetworks.junos.junos_logging: - size: 65536 - files: 40 - rotate_frequency: 20 - state: present - active: true - -- ansible.builtin.assert: - that: - - result.changed == false - -- name: Disable logging parameters - register: result - junipernetworks.junos.junos_logging: - size: 65536 - files: 40 - rotate_frequency: 20 - state: present - active: false - -- name: Get running configuration - register: config - junipernetworks.junos.junos_rpc: - rpc: get-configuration - -- ansible.builtin.assert: - that: - - result.changed == true - - '''<size inactive="inactive">64k</size>'' in config.xml' - - '''<files inactive="inactive">40</files>'' in config.xml' - - "'<log-rotate-frequency inactive=\"inactive\">20</log-rotate-frequency>'\ - \ in config.xml" - -- name: Activate logging parameters - register: result - junipernetworks.junos.junos_logging: - size: 65536 - files: 40 - rotate_frequency: 20 - state: present - active: true - -- name: Get running configuration - register: config - junipernetworks.junos.junos_rpc: - rpc: get-configuration - -- ansible.builtin.assert: - that: - - result.changed == true - - "'<size>64k</size>' in config.xml" - - "'<files>40</files>' in config.xml" - - "'<log-rotate-frequency>20</log-rotate-frequency>' in config.xml" - -- name: Delete logging parameters - register: result - junipernetworks.junos.junos_logging: - size: 65536 - files: 40 - rotate_frequency: 20 - state: absent - -- name: Get running configuration - register: config - junipernetworks.junos.junos_rpc: - rpc: get-configuration - -- ansible.builtin.assert: - that: - - result.changed == true - - "'<size>64k</size>' not in config.xml" - - "'<files>40</files>' not in config.xml" - - "'<log-rotate-frequency>20</log-rotate-frequency>' not in config.xml" - -- name: Seup file logging using aggregate - register: result - junipernetworks.junos.junos_logging: - aggregate: - - dest: file - name: test-1 - facility: pfe - level: critical - state: absent - - - dest: file - name: test-2 - facility: kernel - level: emergency - state: absent - -- name: Configure file logging using aggregate - register: result - junipernetworks.junos.junos_logging: - aggregate: - - dest: file - name: test-1 - facility: pfe - level: critical - active: true - - - dest: file - name: test-2 - facility: kernel - level: emergency - active: true - -- ansible.builtin.assert: - that: - - result.changed == true - - result.diff.prepared is search("\+ *file test-1") - - result.diff.prepared is search("\+ *pfe critical") - - result.diff.prepared is search("\+ *file test-2") - - result.diff.prepared is search("\+ *kernel emergency") - -- name: Deactivate file logging configuration using aggregate - register: result - junipernetworks.junos.junos_logging: - aggregate: - - dest: file - name: test-1 - facility: pfe - level: critical - - - dest: file - name: test-2 - facility: kernel - level: emergency - active: false - -- ansible.builtin.assert: - that: - - result.changed == true - - result.diff.prepared is search("! *inactive[:] file test-1") - - result.diff.prepared is search("! *inactive[:] pfe") - - result.diff.prepared is search("! *inactive[:] file test-2") - - result.diff.prepared is search("! *inactive[:] kernel") - -- name: activate file logging configuration using aggregate - register: result - junipernetworks.junos.junos_logging: - aggregate: - - dest: file - name: test-1 - facility: pfe - level: critical - - - dest: file - name: test-2 - facility: kernel - level: emergency - active: true - -- ansible.builtin.assert: - that: - - result.changed == true - - result.diff.prepared is search("! *active[:] file test-1") - - result.diff.prepared is search("! *active[:] pfe") - - result.diff.prepared is search("! *active[:] file test-2") - - result.diff.prepared is search("! *active[:] kernel") - -- name: Delete file logging using aggregate - register: result - junipernetworks.junos.junos_logging: - aggregate: - - dest: file - name: test-1 - facility: pfe - level: critical - - - dest: file - name: test-2 - facility: kernel - level: emergency - state: absent - -- ansible.builtin.assert: - that: - - result.changed == true - - result.diff.prepared is search("\- *file test-1") - - result.diff.prepared is search("\- *pfe critical") - - result.diff.prepared is search("\- *file test-2") - - result.diff.prepared is search("\- *kernel emergency") - -- name: Delete file logging using aggregate (idempotent) - register: result - junipernetworks.junos.junos_logging: - aggregate: - - dest: file - name: test-1 - facility: pfe - level: critical - - - dest: file - name: test-2 - facility: kernel - level: emergency - state: absent - -- ansible.builtin.assert: - that: - - result.changed == false - -- ansible.builtin.debug: - msg="END junos_logging netconf/basic.yaml on connection={{ ansible_connection - }}" diff --git a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_ospf_interfaces/tests/netconf/_reset_config.yaml b/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_ospf_interfaces/tests/netconf/_reset_config.yaml index 8ed9385eb..070a57754 100644 --- a/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_ospf_interfaces/tests/netconf/_reset_config.yaml +++ b/ansible_collections/junipernetworks/junos/tests/integration/targets/junos_ospf_interfaces/tests/netconf/_reset_config.yaml @@ -1,11 +1,11 @@ --- - ansible.builtin.debug: - msg: "START junos_ospfv3 reset config on connection={{ ansible_connection }}" + msg: "START reset ospf and routing-options config on connection={{ ansible_connection }}" -- name: Reset configuration for ospf3 and routing-options +- name: Reset configuration for ospf and routing-options junipernetworks.junos.junos_config: lines: - delete protocols ospf - delete routing-options - ansible.builtin.debug: - msg: "END junos_ospfv3 reset config on connection={{ ansible_connection }}" + msg: "END ospf and routing-options reset config on connection={{ ansible_connection }}" diff --git a/ansible_collections/junipernetworks/junos/tests/integration/targets/prepare_junos_tests/tasks/main.yml b/ansible_collections/junipernetworks/junos/tests/integration/targets/prepare_junos_tests/tasks/main.yml index 179fb0d95..68bf6e300 100644 --- a/ansible_collections/junipernetworks/junos/tests/integration/targets/prepare_junos_tests/tasks/main.yml +++ b/ansible_collections/junipernetworks/junos/tests/integration/targets/prepare_junos_tests/tasks/main.yml @@ -1,18 +1,4 @@ --- -- name: Debug task - ansible.builtin.debug: - msg: "START prepare_junos_tests/main.yaml" - -- name: Ensure netconf is enabled - connection: ansible.netcommon.network_cli - tags: netconf - junipernetworks.junos.junos_netconf: - state: present - -- name: Wait for netconf server to come up - delegate_to: localhost - tags: netconf - ansible.builtin.wait_for: - host: "{{ hostvars[item].ansible_host }}" - port: 830 - with_inventory_hostnames: junos +- name: Run the prepare steps if requested + ansible.builtin.include_tasks: prepare.yml + when: prepare_junos_tests_task | default(True) | bool diff --git a/ansible_collections/junipernetworks/junos/tests/integration/targets/prepare_junos_tests/tasks/prepare.yml b/ansible_collections/junipernetworks/junos/tests/integration/targets/prepare_junos_tests/tasks/prepare.yml new file mode 100644 index 000000000..179fb0d95 --- /dev/null +++ b/ansible_collections/junipernetworks/junos/tests/integration/targets/prepare_junos_tests/tasks/prepare.yml @@ -0,0 +1,18 @@ +--- +- name: Debug task + ansible.builtin.debug: + msg: "START prepare_junos_tests/main.yaml" + +- name: Ensure netconf is enabled + connection: ansible.netcommon.network_cli + tags: netconf + junipernetworks.junos.junos_netconf: + state: present + +- name: Wait for netconf server to come up + delegate_to: localhost + tags: netconf + ansible.builtin.wait_for: + host: "{{ hostvars[item].ansible_host }}" + port: 830 + with_inventory_hostnames: junos diff --git a/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.11.txt b/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.11.txt deleted file mode 100644 index ed6d78dfe..000000000 --- a/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.11.txt +++ /dev/null @@ -1 +0,0 @@ -plugins/action/junos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` diff --git a/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.12.txt b/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.12.txt deleted file mode 100644 index ed6d78dfe..000000000 --- a/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.12.txt +++ /dev/null @@ -1 +0,0 @@ -plugins/action/junos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` diff --git a/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.13.txt b/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.13.txt deleted file mode 100644 index ed6d78dfe..000000000 --- a/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.13.txt +++ /dev/null @@ -1 +0,0 @@ -plugins/action/junos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` diff --git a/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.10.txt b/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.18.txt index ed6d78dfe..ed6d78dfe 100644 --- a/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.10.txt +++ b/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.18.txt diff --git a/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.9.txt b/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.9.txt deleted file mode 100644 index e6e2e3680..000000000 --- a/ansible_collections/junipernetworks/junos/tests/sanity/ignore-2.9.txt +++ /dev/null @@ -1,5 +0,0 @@ -plugins/action/junos.py action-plugin-docs # base class for deprecated network platform modules using `connection: local` -plugins/modules/junos_logging.py validate-modules:deprecation-mismatch # 2.9 expects METADATA -plugins/modules/junos_logging.py validate-modules:invalid-documentation # removed_at_date not supported in `deprecated` dict -plugins/modules/junos_scp.py validate-modules:deprecation-mismatch # 2.9 expects METADATA -plugins/modules/junos_scp.py validate-modules:invalid-documentation # removed_at_date not supported in `deprecated` dict diff --git a/ansible_collections/junipernetworks/junos/tests/unit/compat/__init__.py b/ansible_collections/junipernetworks/junos/tests/unit/compat/__init__.py deleted file mode 100644 index e69de29bb..000000000 --- a/ansible_collections/junipernetworks/junos/tests/unit/compat/__init__.py +++ /dev/null diff --git a/ansible_collections/junipernetworks/junos/tests/unit/compat/mock.py b/ansible_collections/junipernetworks/junos/tests/unit/compat/mock.py deleted file mode 100644 index 860a9e84b..000000000 --- a/ansible_collections/junipernetworks/junos/tests/unit/compat/mock.py +++ /dev/null @@ -1,130 +0,0 @@ -# (c) 2014, Toshio Kuratomi <tkuratomi@ansible.com> -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see <http://www.gnu.org/licenses/>. - -# Make coding more python3-ish -from __future__ import absolute_import, division, print_function - - -__metaclass__ = type - -import _io - - -""" -Compat module for Python3.x's unittest.mock module -""" -import sys - - -# Python 2.7 - -# Note: Could use the pypi mock library on python3.x as well as python2.x. It -# is the same as the python3 stdlib mock library - -try: - # Allow wildcard import because we really do want to import all of mock's - # symbols into this compat shim - # pylint: disable=wildcard-import,unused-wildcard-import - from unittest.mock import * -except ImportError: - # Python 2 - # pylint: disable=wildcard-import,unused-wildcard-import - try: - from mock import * - except ImportError: - print("You need the mock library installed on python2.x to run tests") - - -# Prior to 3.4.4, mock_open cannot handle binary read_data -if sys.version_info >= (3,) and sys.version_info < (3, 4, 4): - file_spec = None - - def _iterate_read_data(read_data): - # Helper for mock_open: - # Retrieve lines from read_data via a generator so that separate calls to - # readline, read, and readlines are properly interleaved - sep = b"\n" if isinstance(read_data, bytes) else "\n" - data_as_list = [l + sep for l in read_data.split(sep)] - - if data_as_list[-1] == sep: - # If the last line ended in a newline, the list comprehension will have an - # extra entry that's just a newline. Remove this. - data_as_list = data_as_list[:-1] - else: - # If there wasn't an extra newline by itself, then the file being - # emulated doesn't have a newline to end the last line remove the - # newline that our naive format() added - data_as_list[-1] = data_as_list[-1][:-1] - - for line in data_as_list: - yield line - - def mock_open(mock=None, read_data=""): - """ - A helper function to create a mock to replace the use of `open`. It works - for `open` called directly or used as a context manager. - - The `mock` argument is the mock object to configure. If `None` (the - default) then a `MagicMock` will be created for you, with the API limited - to methods or attributes available on standard file handles. - - `read_data` is a string for the `read` methoddline`, and `readlines` of the - file handle to return. This is an empty string by default. - """ - - def _readlines_side_effect(*args, **kwargs): - if handle.readlines.return_value is not None: - return handle.readlines.return_value - return list(_data) - - def _read_side_effect(*args, **kwargs): - if handle.read.return_value is not None: - return handle.read.return_value - return type(read_data)().join(_data) - - def _readline_side_effect(): - if handle.readline.return_value is not None: - while True: - yield handle.readline.return_value - for line in _data: - yield line - - global file_spec - if file_spec is None: - file_spec = list( - set(dir(_io.TextIOWrapper)).union(set(dir(_io.BytesIO))), - ) - - if mock is None: - mock = MagicMock(name="open", spec=open) - - handle = MagicMock(spec=file_spec) - handle.__enter__.return_value = handle - - _data = _iterate_read_data(read_data) - - handle.write.return_value = None - handle.read.return_value = None - handle.readline.return_value = None - handle.readlines.return_value = None - - handle.read.side_effect = _read_side_effect - handle.readline.side_effect = _readline_side_effect() - handle.readlines.side_effect = _readlines_side_effect - - mock.return_value = handle - return mock diff --git a/ansible_collections/junipernetworks/junos/tests/unit/compat/unittest.py b/ansible_collections/junipernetworks/junos/tests/unit/compat/unittest.py deleted file mode 100644 index df4266ec9..000000000 --- a/ansible_collections/junipernetworks/junos/tests/unit/compat/unittest.py +++ /dev/null @@ -1,41 +0,0 @@ -# (c) 2014, Toshio Kuratomi <tkuratomi@ansible.com> -# -# This file is part of Ansible -# -# Ansible is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# Ansible is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with Ansible. If not, see <http://www.gnu.org/licenses/>. - -# Make coding more python3-ish -from __future__ import absolute_import, division, print_function - - -__metaclass__ = type - -""" -Compat module for Python2.7's unittest module -""" - -import sys - - -# Allow wildcard import because we really do want to import all of -# unittests's symbols into this compat shim -# pylint: disable=wildcard-import,unused-wildcard-import -if sys.version_info < (2, 7): - try: - # Need unittest2 on python2.6 - from unittest2 import * - except ImportError: - print("You need unittest2 installed on python2.6.x to run tests") -else: - from unittest import * diff --git a/ansible_collections/junipernetworks/junos/tests/unit/mock/path.py b/ansible_collections/junipernetworks/junos/tests/unit/mock/path.py index a7171080e..7d287a5fb 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/mock/path.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/mock/path.py @@ -2,9 +2,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type -from ansible.utils.path import unfrackpath +from unittest.mock import MagicMock -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import MagicMock +from ansible.utils.path import unfrackpath mock_unfrackpath_noop = MagicMock( diff --git a/ansible_collections/junipernetworks/junos/tests/unit/mock/procenv.py b/ansible_collections/junipernetworks/junos/tests/unit/mock/procenv.py index 79f2f97ca..e6e09464b 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/mock/procenv.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/mock/procenv.py @@ -27,12 +27,11 @@ import sys from contextlib import contextmanager from io import BytesIO, StringIO +from unittest import TestCase from ansible.module_utils._text import to_bytes from ansible.module_utils.six import PY3 -from ansible_collections.junipernetworks.junos.tests.unit.compat import unittest - @contextmanager def swap_stdin_and_argv(stdin_data="", argv_data=tuple()): @@ -78,7 +77,7 @@ def swap_stdout(): sys.stdout = old_stdout -class ModuleTestCase(unittest.TestCase): +class ModuleTestCase(TestCase): def setUp(self, module_args=None): if module_args is None: module_args = { diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_bgp_address_family.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_bgp_address_family.py index f28cb61a0..5a743bee7 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_bgp_address_family.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_bgp_address_family.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_bgp_address_family -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_bgp_global.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_bgp_global.py index f1d377494..f5d8dfcd5 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_bgp_global.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_bgp_global.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_bgp_global -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_command.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_command.py index 720b32981..5e0669577 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_command.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_command.py @@ -26,8 +26,9 @@ try: except ImportError: from xml.etree.ElementTree import fromstring +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_command -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_config.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_config.py index f3adb4767..e24a56c47 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_config.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_config.py @@ -22,10 +22,11 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible.module_utils._text import to_text from ansible_collections.junipernetworks.junos.plugins.modules import junos_config -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_facts.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_facts.py index 1e6bc12d3..154ea4f50 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_facts.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_facts.py @@ -26,8 +26,9 @@ try: except ImportError: from xml.etree.ElementTree import fromstring +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_facts -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_hostname.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_hostname.py index a6c40395f..8fe1931d7 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_hostname.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_hostname.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_hostname -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_interfaces.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_interfaces.py index 55ee8c766..d2f41bf6c 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_interfaces.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_interfaces.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_interfaces -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_l2_interfaces.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_l2_interfaces.py index 1524047f5..06d61143e 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_l2_interfaces.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_l2_interfaces.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_l2_interfaces -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_l3_interfaces.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_l3_interfaces.py index dba2e4b7d..600861a68 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_l3_interfaces.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_l3_interfaces.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_l3_interfaces -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_logging_global.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_logging_global.py index d1046c14c..55ac5170a 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_logging_global.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_logging_global.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_logging_global -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_netconf.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_netconf.py index 8f98536c7..70e4fe0b2 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_netconf.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_netconf.py @@ -21,8 +21,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_netconf -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ntp_global.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ntp_global.py index d99faf11a..26836a7c4 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ntp_global.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ntp_global.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_ntp_global -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ospf_interfaces.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ospf_interfaces.py index e57a65955..39ea2b77d 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ospf_interfaces.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ospf_interfaces.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import MagicMock, patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_ospf_interfaces -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import MagicMock, patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ospfv2.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ospfv2.py index 593acd831..3ec9f589c 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ospfv2.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ospfv2.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_ospfv2 -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture @@ -567,7 +568,7 @@ class TestJunosOspfv2Module(TestJunosModule): result = self.execute_module(changed=True, commands=commands) self.assertEqual(sorted(result["commands"]), sorted(commands)) - def test_junos_ospfv2_rendered(self): + def test_junos_ospfv2_deleted(self): set_module_args( dict( config=[], @@ -576,11 +577,13 @@ class TestJunosOspfv2Module(TestJunosModule): ) commands = [ '<nc:protocols xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"><nc:ospf>' - '<nc:area delete="delete">0.0.0.100</nc:area><nc:spf-options delete="delete"/>' - '<nc:reference-bandwidth delete="delete"/><nc:no-rfc-1583 delete="delete"/>' - '<nc:overload delete="delete"/></nc:ospf></nc:protocols>', + '<nc:area delete="delete">0.0.0.100</nc:area><nc:area delete="delete">0.0.0.200</nc:area>' + '<nc:spf-options delete="delete"/><nc:reference-bandwidth delete="delete"/>' + '<nc:no-rfc-1583 delete="delete"/><nc:overload delete="delete"/>' + '<nc:prefix-export-limit delete="delete"/></nc:ospf></nc:protocols>', ] result = self.execute_module(changed=True, commands=commands) + self.assertEqual(sorted(result["commands"]), sorted(commands)) def test_junos_ospfv2_parsed(self): diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ospfv3.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ospfv3.py index a96d95bac..beef248b3 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ospfv3.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ospfv3.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import MagicMock, patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_ospfv3 -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import MagicMock, patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_package.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_package.py index f679fa5a3..943c7e9e0 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_package.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_package.py @@ -21,7 +21,8 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import MagicMock, patch +from unittest.mock import MagicMock, patch + from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ping.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ping.py index da101d418..4a6d27011 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ping.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_ping.py @@ -21,8 +21,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import MagicMock, patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_ping -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import MagicMock, patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_prefix_lists.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_prefix_lists.py index d46b38684..9db905a4c 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_prefix_lists.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_prefix_lists.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_prefix_lists -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_routing_instances.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_routing_instances.py index 5d656852d..214bddb80 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_routing_instances.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_routing_instances.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_routing_instances -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_routing_options.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_routing_options.py index 2f80838b0..0f506bc8c 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_routing_options.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_routing_options.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_routing_options -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_rpc.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_rpc.py index 4c914aa3d..11a3bb8a2 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_rpc.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_rpc.py @@ -26,8 +26,9 @@ try: except ImportError: from xml.etree.ElementTree import fromstring +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_rpc -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_scp.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_scp.py index 0788d6523..fc2bd1b82 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_scp.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_scp.py @@ -23,7 +23,8 @@ __metaclass__ = type import os -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import MagicMock, patch +from unittest.mock import MagicMock, patch + from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_security_policies.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_security_policies.py index b41161672..22eb2b14c 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_security_policies.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_security_policies.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_security_policies -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_security_policies_global.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_security_policies_global.py index 1dd375233..1c1131d90 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_security_policies_global.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_security_policies_global.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_security_policies_global -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_security_zones.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_security_zones.py index 764d1a7e8..b5eb03851 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_security_zones.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_security_zones.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_security_zones -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_snmp_server.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_snmp_server.py index ed73b8c5a..f29381a19 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_snmp_server.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_snmp_server.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_snmp_server -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_vlans.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_vlans.py index c6f33fc12..1f0890a51 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_vlans.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/network/junos/test_junos_vlans.py @@ -26,8 +26,9 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type +from unittest.mock import patch + from ansible_collections.junipernetworks.junos.plugins.modules import junos_vlans -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch from ansible_collections.junipernetworks.junos.tests.unit.modules.utils import set_module_args from .junos_module import TestJunosModule, load_fixture diff --git a/ansible_collections/junipernetworks/junos/tests/unit/modules/utils.py b/ansible_collections/junipernetworks/junos/tests/unit/modules/utils.py index d1cc4ec53..87be9cf8e 100644 --- a/ansible_collections/junipernetworks/junos/tests/unit/modules/utils.py +++ b/ansible_collections/junipernetworks/junos/tests/unit/modules/utils.py @@ -4,12 +4,12 @@ from __future__ import absolute_import, division, print_function __metaclass__ = type import json +from unittest import TestCase +from unittest.mock import patch + from ansible.module_utils import basic from ansible.module_utils._text import to_bytes -from ansible_collections.junipernetworks.junos.tests.unit.compat import unittest -from ansible_collections.junipernetworks.junos.tests.unit.compat.mock import patch - def set_module_args(args): if "_ansible_remote_tmp" not in args: @@ -40,7 +40,7 @@ def fail_json(*args, **kwargs): raise AnsibleFailJson(kwargs) -class ModuleTestCase(unittest.TestCase): +class ModuleTestCase(TestCase): def setUp(self): self.mock_module = patch.multiple( basic.AnsibleModule, diff --git a/ansible_collections/junipernetworks/junos/tox-ansible.ini b/ansible_collections/junipernetworks/junos/tox-ansible.ini new file mode 100644 index 000000000..5e1f4b36a --- /dev/null +++ b/ansible_collections/junipernetworks/junos/tox-ansible.ini @@ -0,0 +1,10 @@ +[ansible] + +skip = + py3.7 + py3.8 + 2.9 + 2.10 + 2.11 + 2.12 + 2.13 diff --git a/ansible_collections/junipernetworks/junos/tox.ini b/ansible_collections/junipernetworks/junos/tox.ini deleted file mode 100644 index 55a02e59e..000000000 --- a/ansible_collections/junipernetworks/junos/tox.ini +++ /dev/null @@ -1,32 +0,0 @@ - -[tox] -minversion = 1.4.2 -envlist = linters -skipsdist = True - -[testenv] -deps = -r{toxinidir}/requirements.txt - -r{toxinidir}/test-requirements.txt - -[testenv:black] -install_command = pip install {opts} {packages} -commands = - black -v {toxinidir} - -[testenv:linters] -install_command = pip install {opts} {packages} -commands = - black -v --diff --check {toxinidir} - flake8 {posargs} - -[testenv:venv] -commands = {posargs} - -[flake8] -# E123, E125 skipped as they are invalid PEP-8. - -show-source = True -ignore = E123,E125,E203,E402,E501,E741,F401,F811,F841,W503 -max-line-length = 160 -builtins = _ -exclude = .git,.tox,tests/unit/compat/ |