summaryrefslogtreecommitdiffstats
path: root/ansible_collections/infoblox/nios_modules
diff options
context:
space:
mode:
Diffstat (limited to 'ansible_collections/infoblox/nios_modules')
-rw-r--r--ansible_collections/infoblox/nios_modules/.github/workflows/ansible-test.yml70
-rw-r--r--ansible_collections/infoblox/nios_modules/CHANGELOG.rst42
-rw-r--r--ansible_collections/infoblox/nios_modules/FILES.json1331
-rw-r--r--ansible_collections/infoblox/nios_modules/MANIFEST.json11
-rw-r--r--ansible_collections/infoblox/nios_modules/README.md26
-rw-r--r--ansible_collections/infoblox/nios_modules/changelogs/.plugin-cache.yaml37
-rw-r--r--ansible_collections/infoblox/nios_modules/changelogs/changelog.yaml43
-rw-r--r--ansible_collections/infoblox/nios_modules/meta/runtime.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_http.yaml19
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_icmp.yaml17
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_pdp.yaml17
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_sip.yaml17
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_snmp.yaml17
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_tcp.yaml18
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/create_dtc_topology.yml31
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/delete_cname_record.yaml2
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_http.yaml16
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_icmp.yaml16
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_pdp.yaml16
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_sip.yaml17
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_snmp.yaml16
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_tcp.yaml16
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_topology.yml16
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/delete_mx_record.yaml2
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/delete_txt_record.yaml2
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/restart_services.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/playbooks/update_member.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/plugins/doc_fragments/nios.py2
-rw-r--r--ansible_collections/infoblox/nios_modules/plugins/module_utils/api.py26
-rw-r--r--ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_lbdn.py21
-rw-r--r--ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_http.py272
-rw-r--r--ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_icmp.py154
-rw-r--r--ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_pdp.py159
-rw-r--r--ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_sip.py209
-rw-r--r--ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_snmp.py279
-rw-r--r--ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_tcp.py163
-rw-r--r--ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_pool.py26
-rw-r--r--ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_topology.py253
-rw-r--r--ansible_collections/infoblox/nios_modules/requirements.txt2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_a_record/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_aaaa_record/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_cname_record/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dns_view/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/aliases3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/defaults/main.yaml3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/meta/main.yaml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/tasks/main.yaml1
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/tasks/nios_dtc_monitor_http_idempotence.yaml75
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/aliases3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/defaults/main.yaml3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/meta/main.yaml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/tasks/main.yaml1
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/tasks/nios_dtc_monitor_icmp_idempotence.yaml71
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/aliases3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/defaults/main.yaml3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/meta/main.yaml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/tasks/main.yaml1
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/tasks/nios_dtc_monitor_pdp_idempotence.yaml71
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/aliases3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/defaults/main.yaml3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/meta/main.yaml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/tasks/main.yaml1
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/tasks/nios_dtc_monitor_sip_idempotence.yaml71
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/aliases3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/defaults/main.yaml3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/meta/main.yaml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/tasks/main.yaml1
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/tasks/nios_dtc_monitor_snmp_idempotence.yaml71
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/aliases3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/defaults/main.yaml3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/meta/main.yaml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/tasks/main.yaml1
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/tasks/nios_dtc_monitor_tcp_idempotence.yaml78
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/aliases3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/defaults/main.yaml3
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/meta/main.yaml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/tasks/main.yaml1
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/tasks/nios_dtc_topology_idempotence.yaml122
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_host_record/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_mx_record/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_naptr_record/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_network/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_network_view/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_ptr_record/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_srv_record/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_txt_record/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_zone/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/integration/targets/prepare_nios_tests/tasks/main.yml2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/requirements.txt2
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/unit/plugins/module_utils/test_api.py6
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_http.py136
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py129
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py131
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py129
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py143
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py133
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_topology.py156
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/utils.py6
-rw-r--r--ansible_collections/infoblox/nios_modules/tests/unit/requirements.txt3
99 files changed, 4588 insertions, 423 deletions
diff --git a/ansible_collections/infoblox/nios_modules/.github/workflows/ansible-test.yml b/ansible_collections/infoblox/nios_modules/.github/workflows/ansible-test.yml
index 85a80f913..0d14379b5 100644
--- a/ansible_collections/infoblox/nios_modules/.github/workflows/ansible-test.yml
+++ b/ansible_collections/infoblox/nios_modules/.github/workflows/ansible-test.yml
@@ -13,15 +13,15 @@ jobs:
strategy:
fail-fast: false
matrix:
- ansible-version: [stable-2.10]
+ ansible-version: [stable-2.14]
steps:
- name: Check out code
uses: actions/checkout@v2
- - name: Set up Python 3.9
+ - name: Set up Python 3.10
uses: actions/setup-python@v1
with:
- python-version: 3.9
+ python-version: '3.10'
- name: Install ansible (${{ matrix.ansible-version }})
run: pip install pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible-version }}.tar.gz --disable-pip-version-check
@@ -48,19 +48,21 @@ jobs:
strategy:
fail-fast: false
matrix:
- python-version: [3.8, 3.9]
- ansible-version: [stable-2.9, stable-2.10, stable-2.11, stable-2.12, stable-2.13, devel]
+ python-version: ['3.8', '3.9', '3.10', '3.11']
+ ansible-version: [stable-2.14, stable-2.15, stable-2.16, devel]
exclude:
- ansible-version: devel
- python-version: 2.7
+ python-version: '3.8'
- ansible-version: devel
- python-version: 3.8
- - ansible-version: stable-2.12
- python-version: 2.7
- - ansible-version: stable-2.13
- python-version: 2.7
- - ansible-version: stable-2.9
- python-version: 3.9
+ python-version: '3.9'
+ - ansible-version: stable-2.16
+ python-version: '3.8'
+ - ansible-version: stable-2.16
+ python-version: '3.9'
+ - ansible-version: stable-2.15
+ python-version: '3.8'
+ - ansible-version: stable-2.14
+ python-version: '3.8'
steps:
- name: Set up Python ${{ matrix.python-version }}
@@ -80,8 +82,8 @@ jobs:
- name: Setup Unit test Pre-requisites
run: |
ansible-galaxy collection install .cache/collection-tarballs/*.tar.gz
- git clone https://github.com/ansible/ansible.git
- cp -rf ansible/test/units/compat /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/
+ git clone https://github.com/ansible/ansible.git -b ${{ matrix.ansible-version }}
+ if [ "${{ matrix.ansible-version }}" != "devel" ]; then cp -rf ansible/test/units/compat /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/; fi
cp -rf ansible/test/units/modules/utils.py /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/
sed -i 's/units/ansible_collections.infoblox.nios_modules.tests.unit/' /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/utils.py
if [ -f /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/requirements.txt ]; then pip install -r /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/tests/unit/requirements.txt; fi
@@ -91,7 +93,11 @@ jobs:
- name: Generate coverage report
run: |
- if [ "${{ matrix.ansible-version }}" == "devel" ]; then pip install coverage==6.5.0; fi
+ if [ "${{ matrix.ansible-version }}" == "stable-2.14" ]; then
+ pip install coverage==6.5.0;
+ elif [ "${{ matrix.ansible-version }}" == "stable-2.15" ]; then
+ pip install coverage==6.5.0;
+ fi
ansible-test coverage xml -v --group-by command --group-by version
working-directory: /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/
@@ -108,21 +114,31 @@ jobs:
strategy:
fail-fast: false
matrix:
- python-version: [3.8, 3.9]
- ansible-version: [stable-2.9, stable-2.10, stable-2.11, stable-2.12, stable-2.13, devel]
+ python-version: ['3.8', '3.9', '3.10', '3.11']
+ ansible-version: [stable-2.14, stable-2.15, stable-2.16, devel]
exclude:
- - ansible-version: stable-2.9
- python-version: 3.9
+ - ansible-version: devel
+ python-version: '3.8'
+ - ansible-version: devel
+ python-version: '3.9'
+ - ansible-version: stable-2.16
+ python-version: '3.8'
+ - ansible-version: stable-2.16
+ python-version: '3.9'
+ - ansible-version: stable-2.15
+ python-version: '3.8'
+ - ansible-version: stable-2.14
+ python-version: '3.8'
steps:
- - name: Set up Python 3.9
+ - name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
- python-version: 3.9
+ python-version: ${{ matrix.python-version }}
- name: Check out code
uses: actions/checkout@v2
- - name: Install ansible-base (${{ matrix.ansible }})
+ - name: Install ansible-base (${{ matrix.ansible-version }})
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible-version }}.tar.gz --disable-pip-version-check
- name: Download migrated collection artifacts
@@ -145,7 +161,7 @@ jobs:
echo $ANSIBLE_NIOSSIM_CONTAINER
ansible-test integration -v --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python-version }} --docker --coverage
env:
- ANSIBLE_NIOSSIM_CONTAINER: quay.io/ansible/nios-test-container:2.0.0
+ ANSIBLE_NIOSSIM_CONTAINER: quay.io/ansible/nios-test-container:3.0.0
working-directory: /home/runner/.ansible/collections/ansible_collections/infoblox/nios_modules/
# ansible-test support producing code coverage date
@@ -170,15 +186,15 @@ jobs:
strategy:
fail-fast: false
matrix:
- ansible-version: [stable-2.9, stable-2.10, stable-2.11, stable-2.12, stable-2.13, devel]
+ ansible-version: [stable-2.14, stable-2.15, stable-2.16, devel]
steps:
- - name: Set up Python 3.9
+ - name: Set up Python 3.10
uses: actions/setup-python@v1
with:
# it is just required to run that once as "ansible-test sanity" in the docker image
# will run on all python versions it supports.
- python-version: 3.9
+ python-version: '3.10'
- name: Install ansible (${{ matrix.ansible-version }}) version
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible-version }}.tar.gz --disable-pip-version-check
diff --git a/ansible_collections/infoblox/nios_modules/CHANGELOG.rst b/ansible_collections/infoblox/nios_modules/CHANGELOG.rst
index a0094f6eb..b4941d314 100644
--- a/ansible_collections/infoblox/nios_modules/CHANGELOG.rst
+++ b/ansible_collections/infoblox/nios_modules/CHANGELOG.rst
@@ -3,6 +3,48 @@ Infoblox.Nios_Modules Release Notes
===================================
.. contents:: Topics
+v1.6.1
+======
+
+Release Summary
+---------------
+This release includes the updates of plug-in version 1.6.0 and the following documentation changes:
+Ansible core version in the dependencies updated to 2.14 or later.
+
+Minor Changes
+-------------
+Ansible core version in the dependencies updated to 2.14 or later.
+
+v1.6.0
+======
+
+Release Summary
+---------------
+Added new modules with CRUD features to manage NIOS DTC health check monitors: DTC HTTP Monitor,
+DTC ICMP Monitor, DTC PDP Monitor, DTC SIP Monitor, DTC SNMP Monitor, DTC TCP Monitor.
+Added a new module with CRUD features to manage topology rulesets in NIOS.
+Added a new field to define topology ruleset for the DTC Pool and DTC LBDN modules.
+
+Major Changes
+-------------
+- Upgrade Ansible version support from 2.13 to 2.16.
+- Upgrade Python version support from 3.8 to 3.10.
+
+New Modules
+-----------
+- infoblox.nios_modules.nios_dtc_monitor_http - Configures the Infoblox NIOS DTC HTTP monitor
+- infoblox.nios_modules.nios_dtc_monitor_icmp - Configures the Infoblox NIOS DTC ICMP monitor
+- infoblox.nios_modules.nios_dtc_monitor_pdp - Configures the Infoblox NIOS DTC PDP monitor
+- infoblox.nios_modules.nios_dtc_monitor_sip - Configures the Infoblox NIOS DTC SIP monitor
+- infoblox.nios_modules.nios_dtc_monitor_snmp - Configures the Infoblox NIOS DTC SNMP monitor
+- infoblox.nios_modules.nios_dtc_monitor_tcp - Configures the Infoblox NIOS DTC TCP monitor
+- infoblox.nios_modules.nios_dtc_topology - Configures the Infoblox NIOS DTC Topology
+
+Bugfixes
+---------
+- Fixes typo for environment variable INFOBLOX_WAPI_VERSION `#209 <https://github.com/infobloxopen/infoblox-ansible/pull/209>`_
+- Fixes environment variable max_results using INFOBLOX_MAX_RESULTS `#209 <https://github.com/infobloxopen/infoblox-ansible/pull/209>`_
+- Fixes index error for transform fields in DTC LBDN (auth_zone and Pool) and DTC POOL (servers and monitors) `#209 <https://github.com/infobloxopen/infoblox-ansible/pull/209>`_
v1.5.0
======
diff --git a/ansible_collections/infoblox/nios_modules/FILES.json b/ansible_collections/infoblox/nios_modules/FILES.json
index da11d0c28..8be0f6d76 100644
--- a/ansible_collections/infoblox/nios_modules/FILES.json
+++ b/ansible_collections/infoblox/nios_modules/FILES.json
@@ -8,644 +8,980 @@
"format": 1
},
{
- "name": ".gitignore",
+ "name": "requirements.txt",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9fddc672b3f598f9cff55877a587144bf7edabc6be4be3d6da6cae4a2b825cd6",
+ "chksum_sha256": "0f9123956754ff0976fa0591a59141a2811f69431f822ba725adb3452f324be2",
"format": 1
},
{
- "name": "playbooks",
+ "name": "plugins",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "playbooks/restart_services.yml",
+ "name": "plugins/doc_fragments",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "plugins/doc_fragments/nios.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "5dcc9476be118206220829486758c5465cd784a95b66550a414f9004907bc3c1",
+ "chksum_sha256": "471a4e3afd2e72d7c742e8433ef1ea8a97181164da0e2f8f97e692db95d0056f",
"format": 1
},
{
- "name": "playbooks/delete_mx_record.yaml",
+ "name": "plugins/lookup",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "plugins/lookup/nios_next_network.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "da47165c799c1e87329ccf9461c4681b4245f097b55d3d62dba411edd3e25da5",
+ "chksum_sha256": "e9a8c057f7e902a411772d411ad98436d265c86f73073af61443b6e2c1b7e7e9",
"format": 1
},
{
- "name": "playbooks/create_dtc_server.yml",
+ "name": "plugins/lookup/nios_lookup.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e4a00c5e95b6476e354b5564c874eff4e38b9fd92d71dc921677b689213b9199",
+ "chksum_sha256": "b8982cb06294b51bbfc8aa6754077c3f12e1613a8986f0519eb75d895645174b",
"format": 1
},
{
- "name": "playbooks/create_mx_record.yaml",
+ "name": "plugins/lookup/nios_next_ip.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b9ae5787aaf298aeaa8b5d7f768402f0f50065699938a3eb5eaacbd7bce1ce8d",
+ "chksum_sha256": "a0a81954f6f2d819f76de82c6a5ba98c544f901153b20c804078dc4b97bb2481",
"format": 1
},
{
- "name": "playbooks/update_member.yml",
+ "name": "plugins/README.md",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "981c8fdd1b8edc49952e1ed4d9f490368c2d9b151597d12ab31216c214a1b37d",
+ "chksum_sha256": "c82ee692702ec1dd604cdbc38ff252114e5204e1b0627045a66c9451e7a918ac",
"format": 1
},
{
- "name": "playbooks/delete_zone.yml",
+ "name": "plugins/inventory",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "plugins/inventory/nios_inventory.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "61e5e563e04d918cc76bac07f0ce374bf3796ecb63ea75257d976376c4157c20",
+ "chksum_sha256": "8c05e0161380bd212badf22d3004260424d538b7f7674f9eb52d0b2b0d80bcae",
"format": 1
},
{
- "name": "playbooks/create_cname_record.yaml",
+ "name": "plugins/module_utils",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "plugins/module_utils/api.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "10e363c89e5d82b68d4f63ed529282de833b7951b12b9a97f5469d580b24b576",
+ "chksum_sha256": "3d6a3aa313ec031161fa1958881a4dedaf4ae27db487745a88416b644321e81e",
"format": 1
},
{
- "name": "playbooks/create_a_record.yaml",
+ "name": "plugins/module_utils/network.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "ace1f52c338c1f9032444ed75f51ef2e8ded43e30fd6af74461b27266900e6bf",
+ "chksum_sha256": "dced8c65f333a3a101224574c358fa55aa40f2e0e21cfc5f49b64f4bd1ab12d8",
"format": 1
},
{
- "name": "playbooks/create_dns_view.yml",
+ "name": "plugins/modules",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_member.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "cd1b9dc35122024065dacfff26cc6a690c677d44f4a047d2a661618d71b409a6",
+ "chksum_sha256": "9ca1ce2bdc2a12c0f57a399bb3012e43df9e212942b38f00110308a75098beb0",
"format": 1
},
{
- "name": "playbooks/delete_network_view.yml",
+ "name": "plugins/modules/nios_dtc_pool.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c9fbcaff43e867ffc8a9d8cb8e6a3dc92d1af8c92fb96cbd887655e8cadb0971",
+ "chksum_sha256": "c326f6fe602a816650bc9c083c445e5f2509410b76f1bcd26e8849e0eab80b53",
"format": 1
},
{
- "name": "playbooks/update_a_record.yml",
+ "name": "plugins/modules/nios_restartservices.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "2d74da9f596d41369eb8859bb6a628662b573f695d3326a587c5683d4a2e90b3",
+ "chksum_sha256": "b6a7fdd4f93c28c5e5fde29129b99477636bc9a1688a7198cb08f51d9495294a",
"format": 1
},
{
- "name": "playbooks/delete_txt_record.yaml",
+ "name": "plugins/modules/nios_dns_view.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f72cdc6c618cd7e75a1a1063d5cba782af5fcb07c226e91c2535ac8ff113150f",
+ "chksum_sha256": "e762c774e13ddcd2e12d7df728bcf8c6c572eaff7cf4819f2aa822b078db7b7d",
"format": 1
},
{
- "name": "playbooks/create_zone.yml",
+ "name": "plugins/modules/nios_zone.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "1d94121423e1184461a55897c7427e7cfd1a242fbfd4709e99c61d16025556d7",
+ "chksum_sha256": "4f3a1763e347e5fdaf55d7ae7ed1c1d2bf937b645b25023f5317869fac56107c",
"format": 1
},
{
- "name": "playbooks/create_dtc_pool.yml",
+ "name": "plugins/modules/nios_network.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "5d39c51ed9d38d8a1fa9f6c9968203ef1633dce612ff0fcd46706fa6c3969796",
+ "chksum_sha256": "5cf3a56ca04fd706bdb4360dd73aa7548aac9fbd89cd88ed087a1e2725a598b1",
"format": 1
},
{
- "name": "playbooks/create_txt_record.yaml",
+ "name": "plugins/modules/nios_txt_record.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "111d1ce384d339af78c3e8daae32e7deda1b9cb62f08023733ea8e693586dc0d",
+ "chksum_sha256": "3d0fc4f3292e3f844ea8084ed812feaed3b2798086c70f7f922aec9daf8ebe12",
"format": 1
},
{
- "name": "playbooks/create_network_view.yml",
+ "name": "plugins/modules/nios_dtc_lbdn.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "7fc8ebffa421f96e493531d3436d6fa73fe741a55746e669e8c89a1ff9ff030d",
+ "chksum_sha256": "b7708bea6bbc0f5193805d948253285f7a7366323b6fac800251a8025b188be4",
"format": 1
},
{
- "name": "playbooks/delete_dnsview.yml",
+ "name": "plugins/modules/nios_naptr_record.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "37deda100ff17068ff552ba5e1e74b9fad1394ebe2db62e7f2adad294c1affc6",
+ "chksum_sha256": "01d12e212a8ce8fcb17357f1520d1014b570123433ec72e019e01f70ec16be30",
"format": 1
},
{
- "name": "playbooks/create_network.yml",
+ "name": "plugins/modules/nios_ptr_record.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "4786f86ec3ed73faf52441b153f81eaf5020907be7cce195cec049e6abbef51e",
+ "chksum_sha256": "a5cdd84504c3183b7b83c592e662cb0950fae8b0efa29836366dcd1445f9caf6",
"format": 1
},
{
- "name": "playbooks/delete_cname_record.yaml",
+ "name": "plugins/modules/nios_host_record.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c04b11f344bfd49f03995665d553e5a008975067010554fd9f1f1a161b7796ae",
+ "chksum_sha256": "e6784e231f0b78340516b8ec5d45f6e100cc82e80b5ead94cdae6c36bfda063c",
"format": 1
},
{
- "name": "playbooks/delete_network.yml",
+ "name": "plugins/modules/nios_network_view.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "4577274aa1bba6a8450e1c534ee8c97cbab9b47b2339f6f2f7cce4f79124ad36",
+ "chksum_sha256": "60249f22776ba43cbc456c7a305fea55f5c5825a80aa384472d71cd8b58b4924",
"format": 1
},
{
- "name": "playbooks/create_dtc_lbdn.yml",
+ "name": "plugins/modules/nios_srv_record.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "17840632d509d7e87e5af56b654c7df3cc6ebd92f25d4f86a4c46cbce6ff7edd",
+ "chksum_sha256": "a6b2e32c51c799e1fd07902b0f8ab2d635f6ca0a3955afa2465d757567777085",
"format": 1
},
{
- "name": "meta",
+ "name": "plugins/modules/nios_dtc_monitor_tcp.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "1f07b0e8618b6ec0cda270ed5b2b39abaaff17d86ca8107abe1010c0eda5d72a",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_nsgroup.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "f75be0f86aa6fe535cbcee064ba4f77db1a74c912fae0cb79d3c9238e14d7014",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_dtc_server.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "303a986df5365fc00a16a9f9734a166dc699e26308cfcf23877b0caa62d73147",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_range.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "fccc677ae1c7d3c19068f975029261526d878008c1b6aea0ccc09800e8fe056f",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_mx_record.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "5f5d6514627e524fd811c90496bda16ce21b51b9950204f6383a277fb5d6f9d9",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_cname_record.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "51a6a31429dc733a258a02a193e82f6a9d09f124d67d13a784f9170b202d6612",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_a_record.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "bed6b416e079909fc3032dd1cce57052307b65560d98fa76ed3a7239a5475859",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_dtc_monitor_snmp.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "9b9063586ef09d6a415303f1a4fce217c45e852edbdfe61adf1b3984ee68587c",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_dtc_monitor_http.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "838746c90c4b9440ee98c2600777498f9a1f2c8c7bbf4663e6cebd016080d4d1",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_aaaa_record.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "f407011606760e7c55518f89d5c740157dd55446c4d2e1bd8aa12cc1f400fc2a",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_fixed_address.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "6d16da939f573934520c585c6fcf38c7bb8de40b5f43ffca6dd0563c2fa75935",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_dtc_monitor_icmp.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "8ec49490a6ef089e2cd1f14295c8ad2da0bc7b779d43bb76224d0099e0f5b2e3",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_dtc_monitor_pdp.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "9a1c167ff589bc3f97150d68a1071985e295653a69eb937e99e2ac7808ff822c",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_dtc_topology.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "9e2d9fd577de8372c401a4a9c93594143ac405a4e72a97806da9876769f34fa2",
+ "format": 1
+ },
+ {
+ "name": "plugins/modules/nios_dtc_monitor_sip.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "86a4af4e083ade3981c26d17df1b650c3d7be78fc6d3305d6f27687556eb1252",
+ "format": 1
+ },
+ {
+ "name": "tests",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "meta/runtime.yml",
+ "name": "tests/unit",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/unit/compat",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/unit/compat/__init__.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "df18179bb2f5447a56ac92261a911649b96821c0b2c08eea62d5cc6b0195203f",
+ "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"format": 1
},
{
- "name": "CHANGELOG.rst",
+ "name": "tests/unit/compat/mock.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "d29674d87960d19a9e4075e82d7f400864ee295d5031d54d26fb366796a6727f",
+ "chksum_sha256": "e18448d2582e03b3c782d3f5039907f364b852021f8033951f5abbdcd5e07d7a",
"format": 1
},
{
- "name": "plugins",
+ "name": "tests/unit/requirements.txt",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "71a5d70d48710b9ea3a87823c42788c094da1bfce9c628a3ebc9ea1d112cfb26",
+ "format": 1
+ },
+ {
+ "name": "tests/unit/plugins",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "plugins/doc_fragments",
+ "name": "tests/unit/plugins/__init__.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "format": 1
+ },
+ {
+ "name": "tests/unit/plugins/module_utils",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "plugins/doc_fragments/nios.py",
+ "name": "tests/unit/plugins/module_utils/__init__.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "format": 1
+ },
+ {
+ "name": "tests/unit/plugins/module_utils/test_api.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "903fa282de42ef3acf4e443e860f27823cf5dd0b6b9508fba4e7bfb3299a92a5",
+ "chksum_sha256": "4b25cb5a43f130c17410011d365177909f61ac49d61110c1c3e2ca7845ab61cf",
"format": 1
},
{
- "name": "plugins/modules",
+ "name": "tests/unit/plugins/modules",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "plugins/modules/nios_nsgroup.py",
+ "name": "tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f75be0f86aa6fe535cbcee064ba4f77db1a74c912fae0cb79d3c9238e14d7014",
+ "chksum_sha256": "63359c5d15ef6f2bf9da42a467e26372ec9bd7f49199159b72cfdbfeb9b89d14",
"format": 1
},
{
- "name": "plugins/modules/nios_dtc_pool.py",
+ "name": "tests/unit/plugins/modules/test_nios_fixed_address.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "fa804740462a21ff9d5211cd4c612d02e3a116c0b394fc94f7d3ad03c68e7307",
+ "chksum_sha256": "e6dc2a63173e9af0fa27a50f1ac4b524718eef99d0ae062fb7b8de1fe0a970da",
"format": 1
},
{
- "name": "plugins/modules/nios_aaaa_record.py",
+ "name": "tests/unit/plugins/modules/test_nios_cname_record.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f407011606760e7c55518f89d5c740157dd55446c4d2e1bd8aa12cc1f400fc2a",
+ "chksum_sha256": "1fcf59bcf710ba6ca6118b171f83027556fa1f84c87509308040aa7d4d91fa61",
"format": 1
},
{
- "name": "plugins/modules/nios_network.py",
+ "name": "tests/unit/plugins/modules/test_nios_mx_record.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "5cf3a56ca04fd706bdb4360dd73aa7548aac9fbd89cd88ed087a1e2725a598b1",
+ "chksum_sha256": "a29819f2deabca2ce255fe49bbbf53adaee1ab79ca3a62f635c5f41bca13601a",
"format": 1
},
{
- "name": "plugins/modules/nios_fixed_address.py",
+ "name": "tests/unit/plugins/modules/test_nios_dtc_topology.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "6d16da939f573934520c585c6fcf38c7bb8de40b5f43ffca6dd0563c2fa75935",
+ "chksum_sha256": "8f63fbe8bdecceedb138fd2153c66187f83ae52e5974a86a75e99cae71e508de",
"format": 1
},
{
- "name": "plugins/modules/nios_host_record.py",
+ "name": "tests/unit/plugins/modules/test_nios_member.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e6784e231f0b78340516b8ec5d45f6e100cc82e80b5ead94cdae6c36bfda063c",
+ "chksum_sha256": "bd0b8081e628d0112da7ba69398de00d7cdd9afa6ba1bd34ccbd9ae513b11285",
"format": 1
},
{
- "name": "plugins/modules/nios_naptr_record.py",
+ "name": "tests/unit/plugins/modules/__init__.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "01d12e212a8ce8fcb17357f1520d1014b570123433ec72e019e01f70ec16be30",
+ "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"format": 1
},
{
- "name": "plugins/modules/nios_zone.py",
+ "name": "tests/unit/plugins/modules/test_nios_dtc_monitor_http.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "4f3a1763e347e5fdaf55d7ae7ed1c1d2bf937b645b25023f5317869fac56107c",
+ "chksum_sha256": "a34e5a4740673b0f346eb389f9baee52b9809548d353942d9f186f8c924badd6",
"format": 1
},
{
- "name": "plugins/modules/nios_a_record.py",
+ "name": "tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "bed6b416e079909fc3032dd1cce57052307b65560d98fa76ed3a7239a5475859",
+ "chksum_sha256": "f23e2f9674ef4c446733714c6a930858d357834abd9e29d2d4e7d5bfa0286883",
"format": 1
},
{
- "name": "plugins/modules/nios_restartservices.py",
+ "name": "tests/unit/plugins/modules/test_nios_aaaa_record.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b6a7fdd4f93c28c5e5fde29129b99477636bc9a1688a7198cb08f51d9495294a",
+ "chksum_sha256": "13bfe2bfbcd53a97e43700ed49e435c9c8ced416515d419ca47a9d2add987f11",
"format": 1
},
{
- "name": "plugins/modules/nios_srv_record.py",
+ "name": "tests/unit/plugins/modules/test_nios_dns_view.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "a6b2e32c51c799e1fd07902b0f8ab2d635f6ca0a3955afa2465d757567777085",
+ "chksum_sha256": "c78250f9de28ba9c8466a1be4fb091b7443ce80d8e9502ed8a4723d7d2203d03",
"format": 1
},
{
- "name": "plugins/modules/nios_cname_record.py",
+ "name": "tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "51a6a31429dc733a258a02a193e82f6a9d09f124d67d13a784f9170b202d6612",
+ "chksum_sha256": "ea1b8a4d660f4925d1f7a649e4628fcf1d8e24a9355ff8c0d72ef2c2c4721cbc",
"format": 1
},
{
- "name": "plugins/modules/nios_range.py",
+ "name": "tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "fccc677ae1c7d3c19068f975029261526d878008c1b6aea0ccc09800e8fe056f",
+ "chksum_sha256": "900fcf7b0a9d51d67707bd3b7a39303628bb753e81945729a01b9b275cb85670",
"format": 1
},
{
- "name": "plugins/modules/nios_mx_record.py",
+ "name": "tests/unit/plugins/modules/test_nios_host_record.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "5f5d6514627e524fd811c90496bda16ce21b51b9950204f6383a277fb5d6f9d9",
+ "chksum_sha256": "492ce23b97212c7bc8972f87b1e1cf89d88a2d8cd1c406770cdbf43326951b41",
"format": 1
},
{
- "name": "plugins/modules/nios_dns_view.py",
+ "name": "tests/unit/plugins/modules/test_nios_network.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e762c774e13ddcd2e12d7df728bcf8c6c572eaff7cf4819f2aa822b078db7b7d",
+ "chksum_sha256": "94bdde6ba5224d532a22d37b26f1b2398c42d4fd315a040a32fc61f9b91ff1ec",
"format": 1
},
{
- "name": "plugins/modules/nios_ptr_record.py",
+ "name": "tests/unit/plugins/modules/utils.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "a5cdd84504c3183b7b83c592e662cb0950fae8b0efa29836366dcd1445f9caf6",
+ "chksum_sha256": "466129bc1fceb1d1d8284f672519df508df44a9bcd30eed253f6864ee61444ed",
"format": 1
},
{
- "name": "plugins/modules/nios_dtc_lbdn.py",
+ "name": "tests/unit/plugins/modules/test_nios_a_record.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "bda843817cab3fe770570e10c12478f76e8a65c35d57ef6e5cc2c95e08ce983d",
+ "chksum_sha256": "f9c0e95cfd8184d5f60c55ec850ddf5ffa89f95e33f726d55a5531d31968d6f0",
"format": 1
},
{
- "name": "plugins/modules/nios_dtc_server.py",
+ "name": "tests/unit/plugins/modules/test_nios_nsgroup.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "303a986df5365fc00a16a9f9734a166dc699e26308cfcf23877b0caa62d73147",
+ "chksum_sha256": "6a233f369462e3771b56cadc9707c4302dead28956676a356fdde6f3a9383c66",
"format": 1
},
{
- "name": "plugins/modules/nios_txt_record.py",
+ "name": "tests/unit/plugins/modules/fixtures",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/unit/plugins/modules/fixtures/nios_result.txt",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "3d0fc4f3292e3f844ea8084ed812feaed3b2798086c70f7f922aec9daf8ebe12",
+ "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"format": 1
},
{
- "name": "plugins/modules/nios_network_view.py",
+ "name": "tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "60249f22776ba43cbc456c7a305fea55f5c5825a80aa384472d71cd8b58b4924",
+ "chksum_sha256": "298c616c51c23d7ff3f17c6e269d515e642535a28bcb11f16e1dde9dd5784fb8",
"format": 1
},
{
- "name": "plugins/modules/nios_member.py",
+ "name": "tests/unit/plugins/modules/test_nios_network_view.py",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9ca1ce2bdc2a12c0f57a399bb3012e43df9e212942b38f00110308a75098beb0",
+ "chksum_sha256": "2a8f5fbcf7bd6acf368dc9ab9e9f5592fa20d525bd49478af73ee9be73926a9a",
"format": 1
},
{
- "name": "plugins/inventory",
+ "name": "tests/unit/plugins/modules/test_nios_naptr_record.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "6a98e092ced1500f15f7c91daf141e45be17eeb94aa82d72bffae9a0a52ecfdf",
+ "format": 1
+ },
+ {
+ "name": "tests/unit/plugins/modules/test_nios_zone.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "cbb7b98c199a0f7bb1c50e2e21e2a3353aa37c7ff9a676cf9194e4e659510710",
+ "format": 1
+ },
+ {
+ "name": "tests/unit/plugins/modules/test_nios_module.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "c733e6ebea7febb7eab14e589c489aed9f5e6d6e188d85556d6d4d1b754f5b67",
+ "format": 1
+ },
+ {
+ "name": "tests/unit/plugins/modules/test_nios_srv_record.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "c19caa64fe39dab9d475c2e5e316c71d41cca5cc14942970e9a5fc0872bf2d70",
+ "format": 1
+ },
+ {
+ "name": "tests/unit/plugins/modules/test_nios_ptr_record.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "e5388b813fc6c70b53545d05ec18792ed258e966f3e712ee78de0fd29f90dde1",
+ "format": 1
+ },
+ {
+ "name": "tests/unit/__init__.py",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "format": 1
+ },
+ {
+ "name": "tests/requirements.txt",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "86aeeb2e7fe4349baadbd5d97a192ec45d42a7fec0053f3ac938e2a5a647dda7",
+ "format": 1
+ },
+ {
+ "name": "tests/integration",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "plugins/inventory/nios_inventory.py",
- "ftype": "file",
- "chksum_type": "sha256",
- "chksum_sha256": "8c05e0161380bd212badf22d3004260424d538b7f7674f9eb52d0b2b0d80bcae",
+ "name": "tests/integration/targets",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
"format": 1
},
{
- "name": "plugins/lookup",
+ "name": "tests/integration/targets/nios_naptr_record",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "plugins/lookup/nios_next_ip.py",
+ "name": "tests/integration/targets/nios_naptr_record/tasks",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_naptr_record/tasks/nios_naptr_record_idempotence.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "a0a81954f6f2d819f76de82c6a5ba98c544f901153b20c804078dc4b97bb2481",
+ "chksum_sha256": "943fccfaaab7641fff4e8d2f809830fd3d266504e5a093ba19423fb79c3ac363",
"format": 1
},
{
- "name": "plugins/lookup/nios_next_network.py",
+ "name": "tests/integration/targets/nios_naptr_record/tasks/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e9a8c057f7e902a411772d411ad98436d265c86f73073af61443b6e2c1b7e7e9",
+ "chksum_sha256": "a2b37cd08d0d55807c58f0b7f480c0db21d743b0b4e7aa724fb2f779d5a310b8",
"format": 1
},
{
- "name": "plugins/lookup/nios_lookup.py",
+ "name": "tests/integration/targets/nios_naptr_record/meta",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_naptr_record/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "b8982cb06294b51bbfc8aa6754077c3f12e1613a8986f0519eb75d895645174b",
+ "chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
"format": 1
},
{
- "name": "plugins/README.md",
+ "name": "tests/integration/targets/nios_naptr_record/defaults",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_naptr_record/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c82ee692702ec1dd604cdbc38ff252114e5204e1b0627045a66c9451e7a918ac",
+ "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
"format": 1
},
{
- "name": "plugins/module_utils",
+ "name": "tests/integration/targets/nios_naptr_record/aliases",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_cname_record",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "plugins/module_utils/network.py",
+ "name": "tests/integration/targets/nios_cname_record/tasks",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_cname_record/tasks/nios_cname_record_idempotence.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "dced8c65f333a3a101224574c358fa55aa40f2e0e21cfc5f49b64f4bd1ab12d8",
+ "chksum_sha256": "6e5e3f2f0b5ed874e855b9122802b8706faa49150d1d8d4fe2e9d46a535f754e",
"format": 1
},
{
- "name": "plugins/module_utils/api.py",
+ "name": "tests/integration/targets/nios_cname_record/tasks/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9cc01c357851760f1318acf9c642b8c82456647b2c629dc9e30927d5e055adae",
+ "chksum_sha256": "caaf32183efdfa76ed46f018a355c75535d68755b2fd010cdac29dc1aea53e36",
"format": 1
},
{
- "name": "COPYING",
+ "name": "tests/integration/targets/nios_cname_record/meta",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_cname_record/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986",
+ "chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
"format": 1
},
{
- "name": "CONTRIBUTING.md",
+ "name": "tests/integration/targets/nios_cname_record/defaults",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_cname_record/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "fd88c8b2920fd2d659c1ee76d5709c61a3d68e4af1c21a156670a5f543dc26ef",
+ "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
"format": 1
},
{
- "name": ".github",
+ "name": "tests/integration/targets/nios_cname_record/aliases",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_network_view",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": ".github/workflows",
+ "name": "tests/integration/targets/nios_network_view/tasks",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": ".github/workflows/ansible-test.yml",
+ "name": "tests/integration/targets/nios_network_view/tasks/nios_network_view_idempotence.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "89fcf3805eeaeb7e48a5bf7d3cef938eaca0c13f6253cdb80aa934cc1974fb61",
+ "chksum_sha256": "0988d75d8debe3ad04f656d77c22cff648214fff669323be2ae1d1707dfd06f1",
"format": 1
},
{
- "name": "requirements.txt",
+ "name": "tests/integration/targets/nios_network_view/tasks/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "55fb25c4faa774de799493c0f9ca57dae363e19d91e1358131ec9a0cc326f1e9",
+ "chksum_sha256": "f98e791d53284656c4ae67e3e82eb5d207b0e288bb8707f62e026fb4f5f4e387",
"format": 1
},
{
- "name": "changelogs",
+ "name": "tests/integration/targets/nios_network_view/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "changelogs/config.yaml",
+ "name": "tests/integration/targets/nios_network_view/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "44e348d60d00b2812b8cb8aba66308db03d0c83b228611759a2630240b29dfdf",
+ "chksum_sha256": "9b2c007ef16bd19c23982f22d955c1cebe881731f8e06615c9a8fb2985604cc4",
"format": 1
},
{
- "name": "changelogs/changelog.yaml",
+ "name": "tests/integration/targets/nios_network_view/defaults",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_network_view/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "a7c336d1c9c8197b07b112ba6635583417b0d93058997dc5f17a2f0b917af989",
+ "chksum_sha256": "3cb79c3d80cffc120afea8cc796848a327b790dbe8b6702bd51c1e2a5d82d906",
"format": 1
},
{
- "name": "changelogs/.plugin-cache.yaml",
+ "name": "tests/integration/targets/nios_network_view/aliases",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "84c8c3cd94c934accbabc1927709f486d1d3d7a554ab5f0c793b6b54aac2b2f2",
+ "chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
"format": 1
},
{
- "name": "tests",
+ "name": "tests/integration/targets/nios_dtc_topology",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration",
+ "name": "tests/integration/targets/nios_dtc_topology/tasks",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets",
+ "name": "tests/integration/targets/nios_dtc_topology/tasks/main.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "f338ac1f477abf97127e4a400c2471ba0fe52fb62efdc0c1b3fbdd68dc957c90",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dtc_topology/tasks/nios_dtc_topology_idempotence.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "630af6494eb9f413d31818063fca5634a1fcdfa89255a260c538a784a02df9b1",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dtc_topology/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_a_record",
+ "name": "tests/integration/targets/nios_dtc_topology/meta/main.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dtc_topology/defaults",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_a_record/tasks",
+ "name": "tests/integration/targets/nios_dtc_topology/defaults/main.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dtc_topology/aliases",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dtc_monitor_icmp",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_a_record/tasks/main.yml",
+ "name": "tests/integration/targets/nios_dtc_monitor_icmp/tasks",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dtc_monitor_icmp/tasks/nios_dtc_monitor_icmp_idempotence.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "5d15dab6a8d8e6b40ac5147025cb8a316ebff5b5822d2305a7fa768ba209f894",
+ "chksum_sha256": "75e354f31bdaff7358b02c14c99874bc525f5abfd69ce83e590abf9b3aaea833",
"format": 1
},
{
- "name": "tests/integration/targets/nios_a_record/tasks/nios_a_record_idempotence.yml",
+ "name": "tests/integration/targets/nios_dtc_monitor_icmp/tasks/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "ce6edea9daaa81eaeabe5c9565437f59744da7eefe0834b66a35fdba9408a3c5",
+ "chksum_sha256": "0f9555e5be6f96ad78230e70a0bed1519fc6cae58d54cec3e168587a05117264",
"format": 1
},
{
- "name": "tests/integration/targets/nios_a_record/meta",
+ "name": "tests/integration/targets/nios_dtc_monitor_icmp/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_a_record/meta/main.yaml",
+ "name": "tests/integration/targets/nios_dtc_monitor_icmp/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
"format": 1
},
{
- "name": "tests/integration/targets/nios_a_record/defaults",
+ "name": "tests/integration/targets/nios_dtc_monitor_icmp/defaults",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_a_record/defaults/main.yaml",
+ "name": "tests/integration/targets/nios_dtc_monitor_icmp/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
"format": 1
},
{
- "name": "tests/integration/targets/nios_a_record/aliases",
+ "name": "tests/integration/targets/nios_dtc_monitor_icmp/aliases",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
"format": 1
},
{
- "name": "tests/integration/targets/nios_aaaa_record",
+ "name": "tests/integration/targets/nios_dtc_monitor_http",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_aaaa_record/tasks",
+ "name": "tests/integration/targets/nios_dtc_monitor_http/tasks",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_aaaa_record/tasks/main.yml",
+ "name": "tests/integration/targets/nios_dtc_monitor_http/tasks/nios_dtc_monitor_http_idempotence.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "51f2c8c8d2bf554c82d3ef5a8158377adadd87b71b6de8bc09a360e9ff1f5524",
+ "chksum_sha256": "4422b8f25479d8a88062ccee8f4975c70ca60ccac3b76fbac58ffab3d1081a4b",
"format": 1
},
{
- "name": "tests/integration/targets/nios_aaaa_record/tasks/nios_aaaa_record_idempotence.yml",
+ "name": "tests/integration/targets/nios_dtc_monitor_http/tasks/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9b7293e35f42a9951679d1eb30c0a73c5b20e8563373e81e77ef4ef149145abe",
+ "chksum_sha256": "dff97af332844cd2b94fa8f89e48eeb624f25db407a03579f90e060165644a38",
"format": 1
},
{
- "name": "tests/integration/targets/nios_aaaa_record/meta",
+ "name": "tests/integration/targets/nios_dtc_monitor_http/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_aaaa_record/meta/main.yaml",
+ "name": "tests/integration/targets/nios_dtc_monitor_http/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
"format": 1
},
{
- "name": "tests/integration/targets/nios_aaaa_record/defaults",
+ "name": "tests/integration/targets/nios_dtc_monitor_http/defaults",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_aaaa_record/defaults/main.yaml",
+ "name": "tests/integration/targets/nios_dtc_monitor_http/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
"format": 1
},
{
- "name": "tests/integration/targets/nios_aaaa_record/aliases",
+ "name": "tests/integration/targets/nios_dtc_monitor_http/aliases",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
@@ -666,17 +1002,17 @@
"format": 1
},
{
- "name": "tests/integration/targets/nios_zone/tasks/main.yml",
+ "name": "tests/integration/targets/nios_zone/tasks/nios_zone_idempotence.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "321785ddd2789cc1265b9502c5463bd9c4979267ae0be21558ea5eec4eceed72",
+ "chksum_sha256": "22e69c13af0623593d880c24015f6b8990c8d3d8f03bc887d10dca8972b76d0c",
"format": 1
},
{
- "name": "tests/integration/targets/nios_zone/tasks/nios_zone_idempotence.yml",
+ "name": "tests/integration/targets/nios_zone/tasks/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "22e69c13af0623593d880c24015f6b8990c8d3d8f03bc887d10dca8972b76d0c",
+ "chksum_sha256": "13e3f87625444e179c44037c3c1a889d382e669ad033c8475c981e1f6fc9a0aa",
"format": 1
},
{
@@ -715,280 +1051,315 @@
"format": 1
},
{
- "name": "tests/integration/targets/prepare_nios_tests",
+ "name": "tests/integration/targets/nios_dtc_monitor_pdp",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/prepare_nios_tests/tasks",
+ "name": "tests/integration/targets/nios_dtc_monitor_pdp/tasks",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/prepare_nios_tests/tasks/main.yml",
+ "name": "tests/integration/targets/nios_dtc_monitor_pdp/tasks/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "7f6b41fc52044ee283bfaa36506ad6e8e63e40abb080d4d955b57682c0c5a895",
+ "chksum_sha256": "7c97236947c79a5f21ea16ea8e24473f2749999fd6877ba03b838fed9c433476",
"format": 1
},
{
- "name": "tests/integration/targets/prepare_nios_tests/tasks/prepare_nios_tests_idempotence.yml",
+ "name": "tests/integration/targets/nios_dtc_monitor_pdp/tasks/nios_dtc_monitor_pdp_idempotence.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9f7ef612d02c82d058380d8a5db2a7f593236034fc83da2b78165186ebb7a095",
+ "chksum_sha256": "b79e5a2324f7353286a33b36e8e67e619df336e7205ba4b55818dd23f0472885",
"format": 1
},
{
- "name": "tests/integration/targets/nios_host_record",
+ "name": "tests/integration/targets/nios_dtc_monitor_pdp/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_host_record/tasks",
+ "name": "tests/integration/targets/nios_dtc_monitor_pdp/meta/main.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dtc_monitor_pdp/defaults",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_host_record/tasks/main.yml",
+ "name": "tests/integration/targets/nios_dtc_monitor_pdp/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "d6fddc4c90cd988fc0533529f29845b018b09d228e0079c37d7a938399d10480",
+ "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
"format": 1
},
{
- "name": "tests/integration/targets/nios_host_record/tasks/nios_host_record_idempotence.yml",
+ "name": "tests/integration/targets/nios_dtc_monitor_pdp/aliases",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "2c6efd391e887105cc040b3dfc42ed5e8ce4ce3bafaba8ccd2377292a27de8c5",
+ "chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
"format": 1
},
{
- "name": "tests/integration/targets/nios_host_record/meta",
+ "name": "tests/integration/targets/nios_ptr_record",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_host_record/meta/main.yaml",
+ "name": "tests/integration/targets/nios_ptr_record/tasks",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_ptr_record/tasks/nios_ptr_record_idempotence.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9b2c007ef16bd19c23982f22d955c1cebe881731f8e06615c9a8fb2985604cc4",
+ "chksum_sha256": "d963d7efe7113cc92ab45fc5bca5faafd1aa713346558b43004aedd684725019",
"format": 1
},
{
- "name": "tests/integration/targets/nios_host_record/defaults",
+ "name": "tests/integration/targets/nios_ptr_record/tasks/main.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "8402910a2f2b0fdbe683662018408669c511e21867916645330ef2f61ccb7da6",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_ptr_record/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_host_record/defaults/main.yaml",
+ "name": "tests/integration/targets/nios_ptr_record/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "3cb79c3d80cffc120afea8cc796848a327b790dbe8b6702bd51c1e2a5d82d906",
+ "chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
"format": 1
},
{
- "name": "tests/integration/targets/nios_host_record/aliases",
+ "name": "tests/integration/targets/nios_ptr_record/defaults",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_ptr_record/defaults/main.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_ptr_record/aliases",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
"format": 1
},
{
- "name": "tests/integration/targets/nios_naptr_record",
+ "name": "tests/integration/targets/nios_aaaa_record",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_naptr_record/tasks",
+ "name": "tests/integration/targets/nios_aaaa_record/tasks",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_naptr_record/tasks/main.yml",
+ "name": "tests/integration/targets/nios_aaaa_record/tasks/nios_aaaa_record_idempotence.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f8c01642191a24501d81753c5cb8af0ab2b6962482903560d2547119686232a1",
+ "chksum_sha256": "9b7293e35f42a9951679d1eb30c0a73c5b20e8563373e81e77ef4ef149145abe",
"format": 1
},
{
- "name": "tests/integration/targets/nios_naptr_record/tasks/nios_naptr_record_idempotence.yml",
+ "name": "tests/integration/targets/nios_aaaa_record/tasks/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "943fccfaaab7641fff4e8d2f809830fd3d266504e5a093ba19423fb79c3ac363",
+ "chksum_sha256": "682b92aef3f4182a57b461d9b4613332434cec42e981275720377672c7bf30b8",
"format": 1
},
{
- "name": "tests/integration/targets/nios_naptr_record/meta",
+ "name": "tests/integration/targets/nios_aaaa_record/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_naptr_record/meta/main.yaml",
+ "name": "tests/integration/targets/nios_aaaa_record/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
"format": 1
},
{
- "name": "tests/integration/targets/nios_naptr_record/defaults",
+ "name": "tests/integration/targets/nios_aaaa_record/defaults",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_naptr_record/defaults/main.yaml",
+ "name": "tests/integration/targets/nios_aaaa_record/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
"format": 1
},
{
- "name": "tests/integration/targets/nios_naptr_record/aliases",
+ "name": "tests/integration/targets/nios_aaaa_record/aliases",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
"format": 1
},
{
- "name": "tests/integration/targets/nios_txt_record",
+ "name": "tests/integration/targets/nios_dtc_monitor_sip",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_txt_record/tasks",
+ "name": "tests/integration/targets/nios_dtc_monitor_sip/tasks",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_txt_record/tasks/main.yml",
+ "name": "tests/integration/targets/nios_dtc_monitor_sip/tasks/nios_dtc_monitor_sip_idempotence.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "6143fed0b778a7af1a4f8f7d7c6da63e07dcb162dd794b861b2582c1c48a8854",
+ "chksum_sha256": "a193d294cc1fde3fe4535b19e6c6e235225cb4c1c9f755883783da312f631b11",
"format": 1
},
{
- "name": "tests/integration/targets/nios_txt_record/tasks/nios_txt_record_idempotence.yml",
+ "name": "tests/integration/targets/nios_dtc_monitor_sip/tasks/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c357b3236a490bbb05bf10f0bd9965882d4ffff7d48f0d8df059335c4c55227c",
+ "chksum_sha256": "06343798781cc2d4b490840988a9611db90711efb243bcb93b173b54b2ba5d44",
"format": 1
},
{
- "name": "tests/integration/targets/nios_txt_record/meta",
+ "name": "tests/integration/targets/nios_dtc_monitor_sip/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_txt_record/meta/main.yaml",
+ "name": "tests/integration/targets/nios_dtc_monitor_sip/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9b2c007ef16bd19c23982f22d955c1cebe881731f8e06615c9a8fb2985604cc4",
+ "chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
"format": 1
},
{
- "name": "tests/integration/targets/nios_txt_record/defaults",
+ "name": "tests/integration/targets/nios_dtc_monitor_sip/defaults",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_txt_record/defaults/main.yaml",
+ "name": "tests/integration/targets/nios_dtc_monitor_sip/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "3cb79c3d80cffc120afea8cc796848a327b790dbe8b6702bd51c1e2a5d82d906",
+ "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
"format": 1
},
{
- "name": "tests/integration/targets/nios_txt_record/aliases",
+ "name": "tests/integration/targets/nios_dtc_monitor_sip/aliases",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
"format": 1
},
{
- "name": "tests/integration/targets/nios_srv_record",
+ "name": "tests/integration/targets/nios_network",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_srv_record/tasks",
+ "name": "tests/integration/targets/nios_network/tasks",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_srv_record/tasks/nios_srv_record_idempotence.yml",
+ "name": "tests/integration/targets/nios_network/tasks/nios_network_idempotence.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "983b84f88a05dc722a0ef22e4a2deea656cf9425f86a40d10abe1c3d91cfe51d",
+ "chksum_sha256": "0e8b1f0c838de0cea2151ce497b6d631b0aefda15731e2eb6bc0daefdab3774f",
"format": 1
},
{
- "name": "tests/integration/targets/nios_srv_record/tasks/main.yml",
+ "name": "tests/integration/targets/nios_network/tasks/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "d9588a0ae488ec618c82e823db100269d87978fc7336ed1d41ac282f40603483",
+ "chksum_sha256": "4392003ca54e208405b313ce1b880a768d7f7cc58e757c6209feda6892fc0d1b",
"format": 1
},
{
- "name": "tests/integration/targets/nios_srv_record/meta",
+ "name": "tests/integration/targets/nios_network/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_srv_record/meta/main.yaml",
+ "name": "tests/integration/targets/nios_network/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
+ "chksum_sha256": "9b2c007ef16bd19c23982f22d955c1cebe881731f8e06615c9a8fb2985604cc4",
"format": 1
},
{
- "name": "tests/integration/targets/nios_srv_record/defaults",
+ "name": "tests/integration/targets/nios_network/defaults",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_srv_record/defaults/main.yaml",
+ "name": "tests/integration/targets/nios_network/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
+ "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"format": 1
},
{
- "name": "tests/integration/targets/nios_srv_record/aliases",
+ "name": "tests/integration/targets/nios_network/aliases",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
@@ -1009,17 +1380,17 @@
"format": 1
},
{
- "name": "tests/integration/targets/nios_mx_record/tasks/main.yml",
+ "name": "tests/integration/targets/nios_mx_record/tasks/nios_mx_record_idempotence.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "3a2d3fb34b2974e819a3401ab9bc26576b2be2f1b2e3f3c428cb78039bc21f98",
+ "chksum_sha256": "8082362994c85378fd9c5b26cad32f583dc83d84d5f83527fb905c401946e65a",
"format": 1
},
{
- "name": "tests/integration/targets/nios_mx_record/tasks/nios_mx_record_idempotence.yml",
+ "name": "tests/integration/targets/nios_mx_record/tasks/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "8082362994c85378fd9c5b26cad32f583dc83d84d5f83527fb905c401946e65a",
+ "chksum_sha256": "a40bc234e700790f623eb59110310d94ee4df7a18064f47203b0d54169d7cd32",
"format": 1
},
{
@@ -1058,556 +1429,822 @@
"format": 1
},
{
- "name": "tests/integration/targets/nios_network_view",
+ "name": "tests/integration/targets/prepare_nios_tests",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_network_view/tasks",
+ "name": "tests/integration/targets/prepare_nios_tests/tasks",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_network_view/tasks/main.yml",
+ "name": "tests/integration/targets/prepare_nios_tests/tasks/prepare_nios_tests_idempotence.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "2e3e46fde3dbeb3ae613631df0384134902707bd5511c6dbb4f04ceca4abc714",
+ "chksum_sha256": "9f7ef612d02c82d058380d8a5db2a7f593236034fc83da2b78165186ebb7a095",
"format": 1
},
{
- "name": "tests/integration/targets/nios_network_view/tasks/nios_network_view_idempotence.yml",
+ "name": "tests/integration/targets/prepare_nios_tests/tasks/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "0988d75d8debe3ad04f656d77c22cff648214fff669323be2ae1d1707dfd06f1",
+ "chksum_sha256": "082f283eaf4938585c1ce3a50a3ad0e7d75b713dc90a1ca57b0e2edacdadd5b7",
"format": 1
},
{
- "name": "tests/integration/targets/nios_network_view/meta",
+ "name": "tests/integration/targets/nios_dns_view",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_network_view/meta/main.yaml",
+ "name": "tests/integration/targets/nios_dns_view/tasks",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dns_view/tasks/nios_dns_view_idempotence.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "35a60985b368995a2347da83a8cbb30217cf2d5a3b71204e40f626ef13d228bb",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dns_view/tasks/main.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "da1081ebdad890fde4e32bc65619661b2efb1864f0da2051cbcee5b99e658480",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dns_view/meta",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dns_view/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "9b2c007ef16bd19c23982f22d955c1cebe881731f8e06615c9a8fb2985604cc4",
"format": 1
},
{
- "name": "tests/integration/targets/nios_network_view/defaults",
+ "name": "tests/integration/targets/nios_dns_view/defaults",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_network_view/defaults/main.yaml",
+ "name": "tests/integration/targets/nios_dns_view/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "3cb79c3d80cffc120afea8cc796848a327b790dbe8b6702bd51c1e2a5d82d906",
"format": 1
},
{
- "name": "tests/integration/targets/nios_network_view/aliases",
+ "name": "tests/integration/targets/nios_dns_view/aliases",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
"format": 1
},
{
- "name": "tests/integration/targets/nios_ptr_record",
+ "name": "tests/integration/targets/nios_host_record",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_ptr_record/tasks",
+ "name": "tests/integration/targets/nios_host_record/tasks",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_ptr_record/tasks/main.yml",
+ "name": "tests/integration/targets/nios_host_record/tasks/nios_host_record_idempotence.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "964ab01e8de80401c3d083286c2fa5e85c13d8a80a9209433c44c6b8adb5f05e",
+ "chksum_sha256": "2c6efd391e887105cc040b3dfc42ed5e8ce4ce3bafaba8ccd2377292a27de8c5",
"format": 1
},
{
- "name": "tests/integration/targets/nios_ptr_record/tasks/nios_ptr_record_idempotence.yml",
+ "name": "tests/integration/targets/nios_host_record/tasks/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "d963d7efe7113cc92ab45fc5bca5faafd1aa713346558b43004aedd684725019",
+ "chksum_sha256": "ec463c7662d9684574444631e13ee88831c505cb924e24fb440e29bda9264316",
"format": 1
},
{
- "name": "tests/integration/targets/nios_ptr_record/meta",
+ "name": "tests/integration/targets/nios_host_record/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_ptr_record/meta/main.yaml",
+ "name": "tests/integration/targets/nios_host_record/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
+ "chksum_sha256": "9b2c007ef16bd19c23982f22d955c1cebe881731f8e06615c9a8fb2985604cc4",
"format": 1
},
{
- "name": "tests/integration/targets/nios_ptr_record/defaults",
+ "name": "tests/integration/targets/nios_host_record/defaults",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_ptr_record/defaults/main.yaml",
+ "name": "tests/integration/targets/nios_host_record/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
+ "chksum_sha256": "3cb79c3d80cffc120afea8cc796848a327b790dbe8b6702bd51c1e2a5d82d906",
"format": 1
},
{
- "name": "tests/integration/targets/nios_ptr_record/aliases",
+ "name": "tests/integration/targets/nios_host_record/aliases",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
"format": 1
},
{
- "name": "tests/integration/targets/nios_cname_record",
+ "name": "tests/integration/targets/nios_txt_record",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_cname_record/tasks",
+ "name": "tests/integration/targets/nios_txt_record/tasks",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_cname_record/tasks/main.yml",
+ "name": "tests/integration/targets/nios_txt_record/tasks/nios_txt_record_idempotence.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "787a53293d68001b9cccea1154d4c6b4c6277aa52df187ef6b7ecb4e519e5a65",
+ "chksum_sha256": "c357b3236a490bbb05bf10f0bd9965882d4ffff7d48f0d8df059335c4c55227c",
"format": 1
},
{
- "name": "tests/integration/targets/nios_cname_record/tasks/nios_cname_record_idempotence.yml",
+ "name": "tests/integration/targets/nios_txt_record/tasks/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "6e5e3f2f0b5ed874e855b9122802b8706faa49150d1d8d4fe2e9d46a535f754e",
+ "chksum_sha256": "baecc65456a65d80d5f2d71431add855540f254fd6073c523f48be294ae002a5",
"format": 1
},
{
- "name": "tests/integration/targets/nios_cname_record/meta",
+ "name": "tests/integration/targets/nios_txt_record/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_cname_record/meta/main.yaml",
+ "name": "tests/integration/targets/nios_txt_record/meta/main.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "9b2c007ef16bd19c23982f22d955c1cebe881731f8e06615c9a8fb2985604cc4",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_txt_record/defaults",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_txt_record/defaults/main.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "3cb79c3d80cffc120afea8cc796848a327b790dbe8b6702bd51c1e2a5d82d906",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_txt_record/aliases",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dtc_monitor_snmp",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dtc_monitor_snmp/tasks",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dtc_monitor_snmp/tasks/nios_dtc_monitor_snmp_idempotence.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "d520a52f7802e492c0b89f423bb2abeaecd8cbc720713185e435f0a19628a5db",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dtc_monitor_snmp/tasks/main.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "e56a3b54efbc352d4b17d58518880adba0676e6a8c4f3b04842eb1a934093cd1",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dtc_monitor_snmp/meta",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_dtc_monitor_snmp/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
"format": 1
},
{
- "name": "tests/integration/targets/nios_cname_record/defaults",
+ "name": "tests/integration/targets/nios_dtc_monitor_snmp/defaults",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_cname_record/defaults/main.yaml",
+ "name": "tests/integration/targets/nios_dtc_monitor_snmp/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
"format": 1
},
{
- "name": "tests/integration/targets/nios_cname_record/aliases",
+ "name": "tests/integration/targets/nios_dtc_monitor_snmp/aliases",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
"format": 1
},
{
- "name": "tests/integration/targets/nios_network",
+ "name": "tests/integration/targets/nios_a_record",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_network/tasks",
+ "name": "tests/integration/targets/nios_a_record/tasks",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_network/tasks/main.yml",
+ "name": "tests/integration/targets/nios_a_record/tasks/nios_a_record_idempotence.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "11b1faac4c49c5acbace378328c5fea92014f667d732dbe2ef2a2583f826dc82",
+ "chksum_sha256": "ce6edea9daaa81eaeabe5c9565437f59744da7eefe0834b66a35fdba9408a3c5",
"format": 1
},
{
- "name": "tests/integration/targets/nios_network/tasks/nios_network_idempotence.yml",
+ "name": "tests/integration/targets/nios_a_record/tasks/main.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "0e8b1f0c838de0cea2151ce497b6d631b0aefda15731e2eb6bc0daefdab3774f",
+ "chksum_sha256": "1d64f5c5a2d96317f5b549e4dbe215358fda4778b1d40576528821d4023fe093",
"format": 1
},
{
- "name": "tests/integration/targets/nios_network/meta",
+ "name": "tests/integration/targets/nios_a_record/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_network/meta/main.yaml",
+ "name": "tests/integration/targets/nios_a_record/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9b2c007ef16bd19c23982f22d955c1cebe881731f8e06615c9a8fb2985604cc4",
+ "chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
"format": 1
},
{
- "name": "tests/integration/targets/nios_network/defaults",
+ "name": "tests/integration/targets/nios_a_record/defaults",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_network/defaults/main.yaml",
+ "name": "tests/integration/targets/nios_a_record/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
"format": 1
},
{
- "name": "tests/integration/targets/nios_network/aliases",
+ "name": "tests/integration/targets/nios_a_record/aliases",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
"format": 1
},
{
- "name": "tests/integration/targets/nios_dns_view",
+ "name": "tests/integration/targets/nios_dtc_monitor_tcp",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_dns_view/tasks",
+ "name": "tests/integration/targets/nios_dtc_monitor_tcp/tasks",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_dns_view/tasks/main.yml",
+ "name": "tests/integration/targets/nios_dtc_monitor_tcp/tasks/nios_dtc_monitor_tcp_idempotence.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "ba5bfe201c74edd65e1df617cad400bd2634d1bf5c9b6b66a22108e73566ebd2",
+ "chksum_sha256": "094adbb9c0ecc088f354fd01a1e48f8ca92223d5862d460ad22a67c004e0de8e",
"format": 1
},
{
- "name": "tests/integration/targets/nios_dns_view/tasks/nios_dns_view_idempotence.yml",
+ "name": "tests/integration/targets/nios_dtc_monitor_tcp/tasks/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "35a60985b368995a2347da83a8cbb30217cf2d5a3b71204e40f626ef13d228bb",
+ "chksum_sha256": "526d24063fcc02884ac706b25239f52601da39d96a6d4379039bcb5a9f1bba45",
"format": 1
},
{
- "name": "tests/integration/targets/nios_dns_view/meta",
+ "name": "tests/integration/targets/nios_dtc_monitor_tcp/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_dns_view/meta/main.yaml",
+ "name": "tests/integration/targets/nios_dtc_monitor_tcp/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "9b2c007ef16bd19c23982f22d955c1cebe881731f8e06615c9a8fb2985604cc4",
+ "chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
"format": 1
},
{
- "name": "tests/integration/targets/nios_dns_view/defaults",
+ "name": "tests/integration/targets/nios_dtc_monitor_tcp/defaults",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/integration/targets/nios_dns_view/defaults/main.yaml",
+ "name": "tests/integration/targets/nios_dtc_monitor_tcp/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "3cb79c3d80cffc120afea8cc796848a327b790dbe8b6702bd51c1e2a5d82d906",
+ "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
"format": 1
},
{
- "name": "tests/integration/targets/nios_dns_view/aliases",
+ "name": "tests/integration/targets/nios_dtc_monitor_tcp/aliases",
"ftype": "file",
"chksum_type": "sha256",
"chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
"format": 1
},
{
- "name": "tests/requirements.txt",
+ "name": "tests/integration/targets/nios_srv_record",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_srv_record/tasks",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_srv_record/tasks/nios_srv_record_idempotence.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f1d4cbfb694f6fe029ac69b53766a557c3c91f82efe8cc4540c483bda5d4d329",
+ "chksum_sha256": "983b84f88a05dc722a0ef22e4a2deea656cf9425f86a40d10abe1c3d91cfe51d",
"format": 1
},
{
- "name": "tests/unit",
+ "name": "tests/integration/targets/nios_srv_record/tasks/main.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "031a9571c3d16567fd2c00f672edddb55aa4da8c9b243e8f1fde685d0b8ccbaf",
+ "format": 1
+ },
+ {
+ "name": "tests/integration/targets/nios_srv_record/meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/unit/__init__.py",
+ "name": "tests/integration/targets/nios_srv_record/meta/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "chksum_sha256": "f6641fa60f8ba09c7ce762c2ef3514012995ac5302b4864a10e6aa0f1c83d512",
"format": 1
},
{
- "name": "tests/unit/compat",
+ "name": "tests/integration/targets/nios_srv_record/defaults",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/unit/compat/__init__.py",
+ "name": "tests/integration/targets/nios_srv_record/defaults/main.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "chksum_sha256": "665288590cd4226da42511817f09ccdfc92df36c9621583cd2c82919af295c5a",
"format": 1
},
{
- "name": "tests/unit/compat/mock.py",
+ "name": "tests/integration/targets/nios_srv_record/aliases",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e18448d2582e03b3c782d3f5039907f364b852021f8033951f5abbdcd5e07d7a",
+ "chksum_sha256": "b2aba930fc2918934f7b9bdff17f9f99ab65167a6e9e41a0c9f45fffb31eaef0",
"format": 1
},
{
- "name": "tests/unit/plugins",
+ "name": "meta",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/unit/plugins/__init__.py",
+ "name": "meta/runtime.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "chksum_sha256": "4833e2900333e7a035d7e0f63f6d55777c2697476ee0a2f9bfcf250167c7571d",
"format": 1
},
{
- "name": "tests/unit/plugins/modules",
+ "name": "playbooks",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/unit/plugins/modules/__init__.py",
+ "name": "playbooks/delete_dnsview.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "chksum_sha256": "37deda100ff17068ff552ba5e1e74b9fad1394ebe2db62e7f2adad294c1affc6",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_fixed_address.py",
+ "name": "playbooks/create_cname_record.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e6dc2a63173e9af0fa27a50f1ac4b524718eef99d0ae062fb7b8de1fe0a970da",
+ "chksum_sha256": "10e363c89e5d82b68d4f63ed529282de833b7951b12b9a97f5469d580b24b576",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_zone.py",
+ "name": "playbooks/create_dtc_topology.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "cbb7b98c199a0f7bb1c50e2e21e2a3353aa37c7ff9a676cf9194e4e659510710",
+ "chksum_sha256": "84673a45caa8fc0a7575a8ab1b1f74196a457d02e8811bf528d35dcf4f04acfb",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_dns_view.py",
+ "name": "playbooks/create_dtc_monitor_icmp.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c78250f9de28ba9c8466a1be4fb091b7443ce80d8e9502ed8a4723d7d2203d03",
+ "chksum_sha256": "2de930eac0102acf2a58626ae523e5033f7993af32c41a96d9b80e865b48cf69",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_aaaa_record.py",
+ "name": "playbooks/delete_mx_record.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "13bfe2bfbcd53a97e43700ed49e435c9c8ced416515d419ca47a9d2add987f11",
+ "chksum_sha256": "047f7a39fd55e3df466de35b5b9b86fcfc8da9b711c69d6fbc3a17698f0c3aeb",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_host_record.py",
+ "name": "playbooks/delete_network_view.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "492ce23b97212c7bc8972f87b1e1cf89d88a2d8cd1c406770cdbf43326951b41",
+ "chksum_sha256": "c9fbcaff43e867ffc8a9d8cb8e6a3dc92d1af8c92fb96cbd887655e8cadb0971",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_nsgroup.py",
+ "name": "playbooks/delete_dtc_monitor_tcp.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "6a233f369462e3771b56cadc9707c4302dead28956676a356fdde6f3a9383c66",
+ "chksum_sha256": "fa39a7eaef132ef35ccc0102afe44e227b7bb31eca796ca5d6f11bf3f9fb0a5b",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_module.py",
+ "name": "playbooks/create_dtc_monitor_snmp.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c733e6ebea7febb7eab14e589c489aed9f5e6d6e188d85556d6d4d1b754f5b67",
+ "chksum_sha256": "09a1c221770123531ab8c08f62f80afa1677888973f674a544f394aa62e5ca06",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_ptr_record.py",
+ "name": "playbooks/delete_dtc_monitor_pdp.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e5388b813fc6c70b53545d05ec18792ed258e966f3e712ee78de0fd29f90dde1",
+ "chksum_sha256": "2cce3c1941ebf195e77a80c1fea118254304fa8e7000ffbb4528a04757e84585",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_member.py",
+ "name": "playbooks/create_txt_record.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "bd0b8081e628d0112da7ba69398de00d7cdd9afa6ba1bd34ccbd9ae513b11285",
+ "chksum_sha256": "111d1ce384d339af78c3e8daae32e7deda1b9cb62f08023733ea8e693586dc0d",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/fixtures",
- "ftype": "dir",
- "chksum_type": null,
- "chksum_sha256": null,
+ "name": "playbooks/delete_dtc_monitor_sip.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "0c6748bd209a1ebde84151e71ccec5ebc766a54d036eb069c424f281a9228ee0",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/fixtures/nios_result.txt",
+ "name": "playbooks/delete_txt_record.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "chksum_sha256": "fec8d0ee3f5ace16a834fd80934e938fb27287d438c6ac5eddebb00e81588856",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_a_record.py",
+ "name": "playbooks/create_network.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "f9c0e95cfd8184d5f60c55ec850ddf5ffa89f95e33f726d55a5531d31968d6f0",
+ "chksum_sha256": "4786f86ec3ed73faf52441b153f81eaf5020907be7cce195cec049e6abbef51e",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_cname_record.py",
+ "name": "playbooks/create_dtc_monitor_tcp.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "1fcf59bcf710ba6ca6118b171f83027556fa1f84c87509308040aa7d4d91fa61",
+ "chksum_sha256": "f1cc12ea276313a463c68a14d8b2dad02e9a4b549254ea73c7afaabfa39f5d92",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_network.py",
+ "name": "playbooks/create_dtc_monitor_sip.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "94bdde6ba5224d532a22d37b26f1b2398c42d4fd315a040a32fc61f9b91ff1ec",
+ "chksum_sha256": "85b1fd5726df38d94c0e88aa4ce58cf08913c59f89e1d3edf51f3888b056271a",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/utils.py",
+ "name": "playbooks/create_dtc_pool.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "3ebeccd641cf5de2b25ae1bf4e153492bb499c641c5b5465ca25168f08b1a1ac",
+ "chksum_sha256": "5d39c51ed9d38d8a1fa9f6c9968203ef1633dce612ff0fcd46706fa6c3969796",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_naptr_record.py",
+ "name": "playbooks/delete_zone.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "6a98e092ced1500f15f7c91daf141e45be17eeb94aa82d72bffae9a0a52ecfdf",
+ "chksum_sha256": "61e5e563e04d918cc76bac07f0ce374bf3796ecb63ea75257d976376c4157c20",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_network_view.py",
+ "name": "playbooks/delete_network.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "2a8f5fbcf7bd6acf368dc9ab9e9f5592fa20d525bd49478af73ee9be73926a9a",
+ "chksum_sha256": "4577274aa1bba6a8450e1c534ee8c97cbab9b47b2339f6f2f7cce4f79124ad36",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_srv_record.py",
+ "name": "playbooks/create_dtc_monitor_pdp.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c19caa64fe39dab9d475c2e5e316c71d41cca5cc14942970e9a5fc0872bf2d70",
+ "chksum_sha256": "be85c09ae35ccab3099bc0e3c7e940d38e43e6fedebff2769ca43a0de214c45d",
"format": 1
},
{
- "name": "tests/unit/plugins/modules/test_nios_mx_record.py",
+ "name": "playbooks/create_zone.yml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "a29819f2deabca2ce255fe49bbbf53adaee1ab79ca3a62f635c5f41bca13601a",
+ "chksum_sha256": "1d94121423e1184461a55897c7427e7cfd1a242fbfd4709e99c61d16025556d7",
"format": 1
},
{
- "name": "tests/unit/plugins/module_utils",
+ "name": "playbooks/delete_dtc_monitor_http.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "03a609cd016d0cdc167cfef9de74ae4590497e1de5f31a01b59607aaf5aa80ff",
+ "format": 1
+ },
+ {
+ "name": "playbooks/update_member.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "0ee756fcaa7cd8f4b54396fef514328a9954d5d59805af465e1ae88589ba3bed",
+ "format": 1
+ },
+ {
+ "name": "playbooks/update_a_record.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "2d74da9f596d41369eb8859bb6a628662b573f695d3326a587c5683d4a2e90b3",
+ "format": 1
+ },
+ {
+ "name": "playbooks/create_dtc_server.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "e4a00c5e95b6476e354b5564c874eff4e38b9fd92d71dc921677b689213b9199",
+ "format": 1
+ },
+ {
+ "name": "playbooks/restart_services.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "3be7039d547201555dfc17a566a8bfd0b7eb1f9b118e1c49c229b182b23e7198",
+ "format": 1
+ },
+ {
+ "name": "playbooks/create_dtc_monitor_http.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "a37a978e80617e5994b3aaea7a556294fd42970598d85e6d9acca3f064194037",
+ "format": 1
+ },
+ {
+ "name": "playbooks/delete_cname_record.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "0b4fa059b33b49fd97e78d36bd78bf369e93b1e99ab92e76c3238140b0f76ef0",
+ "format": 1
+ },
+ {
+ "name": "playbooks/delete_dtc_monitor_snmp.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "8acc0786c5f9c40d818ac53632f1f8b5941c8859ee36b716b7cad46a68effabd",
+ "format": 1
+ },
+ {
+ "name": "playbooks/delete_dtc_topology.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "26696d8cc23efdd46f8ff512b3049f94e4f8731208334556ad296c18ade28e37",
+ "format": 1
+ },
+ {
+ "name": "playbooks/create_a_record.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "ace1f52c338c1f9032444ed75f51ef2e8ded43e30fd6af74461b27266900e6bf",
+ "format": 1
+ },
+ {
+ "name": "playbooks/create_mx_record.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "b9ae5787aaf298aeaa8b5d7f768402f0f50065699938a3eb5eaacbd7bce1ce8d",
+ "format": 1
+ },
+ {
+ "name": "playbooks/delete_dtc_monitor_icmp.yaml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "9d073f047c1239d7ef17ee4d82a1dd84cb8ac32913651280840224f93ebd48fa",
+ "format": 1
+ },
+ {
+ "name": "playbooks/create_network_view.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "7fc8ebffa421f96e493531d3436d6fa73fe741a55746e669e8c89a1ff9ff030d",
+ "format": 1
+ },
+ {
+ "name": "playbooks/create_dns_view.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "cd1b9dc35122024065dacfff26cc6a690c677d44f4a047d2a661618d71b409a6",
+ "format": 1
+ },
+ {
+ "name": "playbooks/create_dtc_lbdn.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "17840632d509d7e87e5af56b654c7df3cc6ebd92f25d4f86a4c46cbce6ff7edd",
+ "format": 1
+ },
+ {
+ "name": "changelogs",
"ftype": "dir",
"chksum_type": null,
"chksum_sha256": null,
"format": 1
},
{
- "name": "tests/unit/plugins/module_utils/__init__.py",
+ "name": "changelogs/config.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+ "chksum_sha256": "44e348d60d00b2812b8cb8aba66308db03d0c83b228611759a2630240b29dfdf",
"format": 1
},
{
- "name": "tests/unit/plugins/module_utils/test_api.py",
+ "name": "changelogs/.plugin-cache.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "d7cda9fe496a0fb8877eabd424069649e9bb64b8965bbf7ba875fe1aae557e34",
+ "chksum_sha256": "0a52be0705f26d756f9c668addf00cba5a928062b5860802abb6c1560cf2e380",
"format": 1
},
{
- "name": "tests/unit/requirements.txt",
+ "name": "changelogs/changelog.yaml",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "c1b6aded0bacf264f0dcee417363adcb09fac038946bf434ae1c8a5f56a964a8",
+ "chksum_sha256": "b86c9717603cd5ed6adac82b87c7de5f0587544977ac07ae8714b64fbcd0e6c0",
"format": 1
},
{
"name": "README.md",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "705ac13797ece5dc9a316090cf8322b35152c1cf9da2df47373323b39bd72230",
+ "chksum_sha256": "15104f6d67b302eb09de6c37c16f7d988d08af5aeb939002a9a2dbab70df1912",
+ "format": 1
+ },
+ {
+ "name": "COPYING",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986",
+ "format": 1
+ },
+ {
+ "name": ".gitignore",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "9fddc672b3f598f9cff55877a587144bf7edabc6be4be3d6da6cae4a2b825cd6",
+ "format": 1
+ },
+ {
+ "name": "CONTRIBUTING.md",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "fd88c8b2920fd2d659c1ee76d5709c61a3d68e4af1c21a156670a5f543dc26ef",
+ "format": 1
+ },
+ {
+ "name": ".github",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": ".github/workflows",
+ "ftype": "dir",
+ "chksum_type": null,
+ "chksum_sha256": null,
+ "format": 1
+ },
+ {
+ "name": ".github/workflows/ansible-test.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "55ea8d968c6c487363f1db3fce4ab78b1a5f6863115ca82bfdb7428809291fa8",
+ "format": 1
+ },
+ {
+ "name": "CHANGELOG.rst",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "aa69c9f35d722a1a81389a6f41121f0802410f97920fff7a982c9c3e4ca3e444",
"format": 1
}
],
diff --git a/ansible_collections/infoblox/nios_modules/MANIFEST.json b/ansible_collections/infoblox/nios_modules/MANIFEST.json
index f6934942f..156bb5f2d 100644
--- a/ansible_collections/infoblox/nios_modules/MANIFEST.json
+++ b/ansible_collections/infoblox/nios_modules/MANIFEST.json
@@ -2,12 +2,11 @@
"collection_info": {
"namespace": "infoblox",
"name": "nios_modules",
- "version": "1.5.0",
+ "version": "1.6.1",
"authors": [
- "Sailesh Giri (sgiri@infoblox.com)",
- "Vaishnavi TR (vtr@infoblox.com)",
- "Anagha KH (akh@infoblox.com)",
- "Shankar Ganesh (sganesh@infoblox.com)"
+ "Hemanth Kumar (hkumar3@infoblox.com)",
+ "Jeenitkumar Khatri (jkhatri@infoblox.com)",
+ "Jaykumar Chhatbar (jchhatbar@infoblox.com)"
],
"readme": "README.md",
"tags": [
@@ -31,7 +30,7 @@
"name": "FILES.json",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "114285e178980c8e439aa1ec414e5cf44dbb8d4b40bdef7ef1dd9a780d312d12",
+ "chksum_sha256": "fa4ee7cb5ef7609fae22ad1c77f1f199b76fd5cec3ab52f1b0915d92fa262586",
"format": 1
},
"format": 1
diff --git a/ansible_collections/infoblox/nios_modules/README.md b/ansible_collections/infoblox/nios_modules/README.md
index a5b72d0b8..b7665d504 100644
--- a/ansible_collections/infoblox/nios_modules/README.md
+++ b/ansible_collections/infoblox/nios_modules/README.md
@@ -29,10 +29,24 @@ Modules
- `nios_dtc_lbdn` – Configure Infoblox NIOS DTC LBDN records
+- `nios_dtc_monitor_http` – Configure Infoblox NIOS DTC HTTP monitors
+
+- `nios_dtc_monitor_icmp` – Configure Infoblox NIOS DTC ICMP monitors
+
+- `nios_dtc_monitor_pdp` – Configure Infoblox NIOS DTC PDP monitors
+
+- `nios_dtc_monitor_sip` – Configure Infoblox NIOS DTC SIP monitors
+
+- `nios_dtc_monitor_snmp` – Configure Infoblox NIOS DTC SNMP monitors
+
+- `nios_dtc_monitor_tcp` – Configure Infoblox NIOS DTC TCP monitors
+
- `nios_dtc_pool` – Configure Infoblox NIOS DTC pools
- `nios_dtc_server` – Configure Infoblox NIOS DTC server records
+- `nios_dtc_topology` – Configure Infoblox NIOS DTC topologies
+
- `nios_fixed_address` – Configure Infoblox NIOS DHCP Fixed Address
- `nios_host_record` – Configure Infoblox NIOS host records
@@ -79,11 +93,15 @@ Installation
Dependencies
------------
-- Python version 3.8 or later
+- Python version 3.10 or later
+
+- Ansible Core version 2.14 or later
-- Ansible version 2.12 or later
+- NIOS 8.6.x and 9.0.x
-- NIOS 8.5.x or later
+- Infoblox WAPI version 2.9 or later
+
+Note: For modules of DTC objects to function properly, Infoblox recommends WAPI version 2.12 or later.
Prerequisites
-------------
@@ -166,7 +184,7 @@ Dates TBD
Current release
---------------
-1.5.0 on 11 May 2023
+1.6.1 on 19 Dec 2023
Versioning
=========
diff --git a/ansible_collections/infoblox/nios_modules/changelogs/.plugin-cache.yaml b/ansible_collections/infoblox/nios_modules/changelogs/.plugin-cache.yaml
index f7b275058..3ed1f4b5b 100644
--- a/ansible_collections/infoblox/nios_modules/changelogs/.plugin-cache.yaml
+++ b/ansible_collections/infoblox/nios_modules/changelogs/.plugin-cache.yaml
@@ -59,6 +59,41 @@ plugins:
name: nios_dtc_server
namespace: ''
version_added: 1.1.0
+ nios_dtc_monitor_http:
+ description: Configure Infoblox NIOS DTC HTTP monitor
+ name: nios_dtc_monitor_http
+ namespace: ''
+ version_added: 1.6.0
+ nios_dtc_monitor_tcp:
+ description: Configure Infoblox NIOS DTC TCP monitor
+ name: nios_dtc_monitor_tcp
+ namespace: ''
+ version_added: 1.6.0
+ nios_dtc_monitor_icmp:
+ description: Configure Infoblox NIOS DTC ICMP monitor
+ name: nios_dtc_monitor_icmp
+ namespace: ''
+ version_added: 1.6.0
+ nios_dtc_monitor_pdp:
+ description: Configure Infoblox NIOS DTC PDP monitor
+ name: nios_dtc_monitor_pdp
+ namespace: ''
+ version_added: 1.6.0
+ nios_dtc_monitor_sip:
+ description: Configure Infoblox NIOS DTC SIP monitor
+ name: nios_dtc_monitor_sip
+ namespace: ''
+ version_added: 1.6.0
+ nios_dtc_monitor_snmp:
+ description: Configure Infoblox NIOS DTC SNMP monitor
+ name: nios_dtc_monitor_snmp
+ namespace: ''
+ version_added: 1.6.0
+ nios_dtc_topology:
+ description: Configure Infoblox NIOS DTC Topology
+ name: nios_dtc_topology
+ namespace: ''
+ version_added: 1.6.0
nios_fixed_address:
description: Configure Infoblox NIOS DHCP Fixed Address
name: nios_fixed_address
@@ -128,4 +163,4 @@ plugins:
shell: {}
strategy: {}
vars: {}
-version: 1.5.0
+version: 1.6.1
diff --git a/ansible_collections/infoblox/nios_modules/changelogs/changelog.yaml b/ansible_collections/infoblox/nios_modules/changelogs/changelog.yaml
index ac91562ef..ec67aff0d 100644
--- a/ansible_collections/infoblox/nios_modules/changelogs/changelog.yaml
+++ b/ansible_collections/infoblox/nios_modules/changelogs/changelog.yaml
@@ -217,3 +217,46 @@ releases:
Updates default WAPI version to `2.9`,
Added Grid Master Candidate feature'
release_date: '2023-05-11'
+ 1.6.0:
+ changes:
+ major_changes:
+ - Upgrade Ansible version support from 2.13 to 2.16.
+ - Upgrade Python version support from 3.8 to 3.10.
+ release_summary: 'Added new modules with CRUD features to manage NIOS DTC health check monitors: DTC HTTP Monitor,
+ DTC ICMP Monitor, DTC PDP Monitor, DTC SIP Monitor, DTC SNMP Monitor, DTC TCP Monitor.
+ Added a new module with CRUD features to manage topology rulesets in NIOS.
+ Added a new field to define topology ruleset for the DTC Pool and DTC LBDN modules.'
+ bugfixes:
+ - Fixes typo for environment variable INFOBLOX_WAPI_VERSION `#209 <https://github.com/infobloxopen/infoblox-ansible/pull/209>`_
+ - Fixes environment variable max_results using INFOBLOX_MAX_RESULTS `#209 <https://github.com/infobloxopen/infoblox-ansible/pull/209>`_
+ - Fixes index error for transform fields in DTC LBDN (auth_zone and Pool) and DTC POOL (servers and monitors) `#209 <https://github.com/infobloxopen/infoblox-ansible/pull/209>`_
+ modules:
+ - description: Configures the Infoblox NIOS DTC HTTP monitor.
+ name: nios_dtc_monitor_http
+ namespace: ''
+ - description: Configures the Infoblox NIOS DTC ICMP monitor
+ name: nios_dtc_monitor_icmp
+ namespace: ''
+ - description: Configures the Infoblox NIOS DTC PDP monitor
+ name: nios_dtc_monitor_pdp
+ namespace: ''
+ - description: Configures the Infoblox NIOS DTC SIP monitor
+ name: nios_dtc_monitor_sip
+ namespace: ''
+ - description: Configures the Infoblox NIOS DTC SNMP monitor
+ name: nios_dtc_monitor_snmp
+ namespace: ''
+ - description: Configures the Infoblox NIOS DTC TCP monitor
+ name: nios_dtc_monitor_tcp
+ namespace: ''
+ - description: Configures the Infoblox NIOS DTC Topology
+ name: nios_dtc_topology
+ namespace: ''
+ release_date: '2023-12-14'
+ 1.6.1:
+ changes:
+ minor_changes:
+ - Ansible core version in the dependencies updated to 2.14 or later.
+ release_summary: 'This release includes the updates of plug-in version 1.6.0 and the following documentation changes:
+ Ansible core version in the dependencies updated to 2.14 or later.'
+ release_date: '2023-12-19'
diff --git a/ansible_collections/infoblox/nios_modules/meta/runtime.yml b/ansible_collections/infoblox/nios_modules/meta/runtime.yml
index 2ee3c9fa9..be99ccf4b 100644
--- a/ansible_collections/infoblox/nios_modules/meta/runtime.yml
+++ b/ansible_collections/infoblox/nios_modules/meta/runtime.yml
@@ -1,2 +1,2 @@
---
-requires_ansible: '>=2.9.10'
+requires_ansible: '>=2.14.0'
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_http.yaml b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_http.yaml
new file mode 100644
index 000000000..2d2afc3ee
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_http.yaml
@@ -0,0 +1,19 @@
+---
+
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.36.118.2
+ username: cloudadmin
+ password: admin
+
+ connection: local
+ tasks:
+ - name: Create Nios DTC HTTPS monitor Test
+ infoblox.nios_modules.nios_dtc_monitor_http:
+ name: https_monitor
+ port: 443
+ secure: true
+ comment: Created with Ansible
+ state: present
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_icmp.yaml b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_icmp.yaml
new file mode 100644
index 000000000..f792cfa64
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_icmp.yaml
@@ -0,0 +1,17 @@
+---
+
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.36.118.2
+ username: cloudadmin
+ password: admin
+
+ connection: local
+ tasks:
+ - name: Create Nios DTC ICMP monitor Test
+ infoblox.nios_modules.nios_dtc_monitor_icmp:
+ name: icmp_monitor
+ comment: Created with Ansible
+ state: present
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_pdp.yaml b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_pdp.yaml
new file mode 100644
index 000000000..ea2bc9b9b
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_pdp.yaml
@@ -0,0 +1,17 @@
+---
+
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.36.118.2
+ username: cloudadmin
+ password: admin
+
+ connection: local
+ tasks:
+ - name: Create Nios DTC PDP monitor Test
+ infoblox.nios_modules.nios_dtc_monitor_pdp:
+ name: pdp_monitor
+ comment: Created with Ansible
+ state: present
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_sip.yaml b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_sip.yaml
new file mode 100644
index 000000000..4caa32ea2
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_sip.yaml
@@ -0,0 +1,17 @@
+---
+
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.36.118.2
+ username: cloudadmin
+ password: admin
+
+ connection: local
+ tasks:
+ - name: Create Nios DTC SIP monitor Test
+ infoblox.nios_modules.nios_dtc_monitor_sip:
+ name: sip_monitor
+ comment: Created with Ansible
+ state: present
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_snmp.yaml b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_snmp.yaml
new file mode 100644
index 000000000..b8b796ee2
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_snmp.yaml
@@ -0,0 +1,17 @@
+---
+
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.36.118.2
+ username: cloudadmin
+ password: admin
+
+ connection: local
+ tasks:
+ - name: Create Nios DTC SNMP monitor Test
+ infoblox.nios_modules.nios_dtc_monitor_snmp:
+ name: snmp_monitor
+ comment: Created with Ansible
+ state: present
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_tcp.yaml b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_tcp.yaml
new file mode 100644
index 000000000..95a824a1b
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_monitor_tcp.yaml
@@ -0,0 +1,18 @@
+---
+
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.36.118.2
+ username: cloudadmin
+ password: admin
+
+ connection: local
+ tasks:
+ - name: Create Nios DTC TCP monitor Test
+ infoblox.nios_modules.nios_dtc_monitor_tcp:
+ name: tcp_monitor
+ port: 8080
+ comment: Created with Ansible
+ state: present
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_topology.yml b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_topology.yml
new file mode 100644
index 000000000..01c50bd49
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/create_dtc_topology.yml
@@ -0,0 +1,31 @@
+---
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.196.205.10
+ username: cloudadmin
+ password: infoblox
+ wapi_version: "2.12"
+
+ connection: local
+ tasks:
+ - name: Create a DTC Topology
+ infoblox.nios_modules.nios_dtc_topology:
+ name: a_topology
+ rules:
+ - dest_type: POOL
+ destination_link: web_pool1
+ return_type: REGULAR
+ sources:
+ - source_op: IS
+ source_type: EA0
+ source_value: DC1
+ - dest_type: POOL
+ destination_link: web_pool2
+ return_type: REGULAR
+ sources:
+ - source_op: IS
+ source_type: EA0
+ source_value: DC2
+ state: present
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/delete_cname_record.yaml b/ansible_collections/infoblox/nios_modules/playbooks/delete_cname_record.yaml
index 50c551053..f7f753a7e 100644
--- a/ansible_collections/infoblox/nios_modules/playbooks/delete_cname_record.yaml
+++ b/ansible_collections/infoblox/nios_modules/playbooks/delete_cname_record.yaml
@@ -9,7 +9,7 @@
connection: local
tasks:
- - name: Create Nios CNAME record
+ - name: Delete Nios CNAME record
infoblox.nios_modules.nios_cname_record:
name: cname.ansible.com
canonical: realhost.ansible.com
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_http.yaml b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_http.yaml
new file mode 100644
index 000000000..29427ebd1
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_http.yaml
@@ -0,0 +1,16 @@
+---
+
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.36.118.2
+ username: cloudadmin
+ password: admin
+
+ connection: local
+ tasks:
+ - name: Delete Nios DTC HTTPS monitor Test
+ infoblox.nios_modules.nios_dtc_monitor_http:
+ name: https_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_icmp.yaml b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_icmp.yaml
new file mode 100644
index 000000000..eca2975fa
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_icmp.yaml
@@ -0,0 +1,16 @@
+---
+
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.36.118.2
+ username: cloudadmin
+ password: admin
+
+ connection: local
+ tasks:
+ - name: Delete Nios DTC ICMP monitor Test
+ infoblox.nios_modules.nios_dtc_monitor_icmp:
+ name: icmp_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_pdp.yaml b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_pdp.yaml
new file mode 100644
index 000000000..b69fb4627
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_pdp.yaml
@@ -0,0 +1,16 @@
+---
+
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.36.118.2
+ username: cloudadmin
+ password: admin
+
+ connection: local
+ tasks:
+ - name: Delete Nios DTC PDP monitor Test
+ infoblox.nios_modules.nios_dtc_monitor_pdp:
+ name: pdp_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_sip.yaml b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_sip.yaml
new file mode 100644
index 000000000..1fbc0e290
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_sip.yaml
@@ -0,0 +1,17 @@
+---
+
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.36.118.2
+ username: cloudadmin
+ password: admin
+
+ connection: local
+ tasks:
+ - name: Delete Nios DTC SIP monitor Test
+ infoblox.nios_modules.nios_dtc_monitor_sip:
+ name: sip_monitor
+ port: 8080
+ state: absent
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_snmp.yaml b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_snmp.yaml
new file mode 100644
index 000000000..972751a64
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_snmp.yaml
@@ -0,0 +1,16 @@
+---
+
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.36.118.2
+ username: cloudadmin
+ password: admin
+
+ connection: local
+ tasks:
+ - name: Delete Nios DTC SNMP monitor Test
+ infoblox.nios_modules.nios_dtc_monitor_snmp:
+ name: snmp_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_tcp.yaml b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_tcp.yaml
new file mode 100644
index 000000000..662df448a
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_monitor_tcp.yaml
@@ -0,0 +1,16 @@
+---
+
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.36.118.2
+ username: cloudadmin
+ password: admin
+
+ connection: local
+ tasks:
+ - name: Delete Nios DTC TCP monitor Test
+ infoblox.nios_modules.nios_dtc_monitor_tcp:
+ name: tcp_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_topology.yml b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_topology.yml
new file mode 100644
index 000000000..1782aa676
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/playbooks/delete_dtc_topology.yml
@@ -0,0 +1,16 @@
+---
+- hosts: localhost
+ vars:
+ nios_provider:
+ host: 10.196.205.10
+ username: cloudadmin
+ password: infoblox
+ wapi_version: "2.12"
+
+ connection: local
+ tasks:
+ - name: delete a DTC Topology
+ infoblox.nios_modules.nios_dtc_topology:
+ name: a_topology
+ state: absent
+ provider: "{{ nios_provider }}"
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/delete_mx_record.yaml b/ansible_collections/infoblox/nios_modules/playbooks/delete_mx_record.yaml
index 3b269a255..9a4475ecb 100644
--- a/ansible_collections/infoblox/nios_modules/playbooks/delete_mx_record.yaml
+++ b/ansible_collections/infoblox/nios_modules/playbooks/delete_mx_record.yaml
@@ -9,7 +9,7 @@
connection: local
tasks:
- - name: Create Nios MX record
+ - name: delete Nios MX record
infoblox.nios_modules.nios_mx_record:
name: ansible.com
mx: mailhost.ansible.com
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/delete_txt_record.yaml b/ansible_collections/infoblox/nios_modules/playbooks/delete_txt_record.yaml
index 376e29734..ea9269afd 100644
--- a/ansible_collections/infoblox/nios_modules/playbooks/delete_txt_record.yaml
+++ b/ansible_collections/infoblox/nios_modules/playbooks/delete_txt_record.yaml
@@ -9,7 +9,7 @@
connection: local
tasks:
- - name: Create Nios TXT record
+ - name: delete Nios TXT record
infoblox.nios_modules.nios_txt_record:
name: fqdn.txt.ansible.com
text: example_text
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/restart_services.yml b/ansible_collections/infoblox/nios_modules/playbooks/restart_services.yml
index 23bbe590b..b8b8fe61a 100644
--- a/ansible_collections/infoblox/nios_modules/playbooks/restart_services.yml
+++ b/ansible_collections/infoblox/nios_modules/playbooks/restart_services.yml
@@ -10,6 +10,6 @@
connection: local
tasks:
- name: Restart Services
- nios_restartservices:
+ infoblox.nios_modules.nios_restartservices:
provider: "{{ nios_provider }}"
...
diff --git a/ansible_collections/infoblox/nios_modules/playbooks/update_member.yml b/ansible_collections/infoblox/nios_modules/playbooks/update_member.yml
index 0d8603219..391569138 100644
--- a/ansible_collections/infoblox/nios_modules/playbooks/update_member.yml
+++ b/ansible_collections/infoblox/nios_modules/playbooks/update_member.yml
@@ -8,7 +8,7 @@
password: cloudadmin
connection: local
tasks:
- - name: create member
+ - name: update member host name
infoblox.nios_modules.nios_member:
host_name: {old_name: block1.localdomain, new_name: member01.localdomain}
master_candidate: false
diff --git a/ansible_collections/infoblox/nios_modules/plugins/doc_fragments/nios.py b/ansible_collections/infoblox/nios_modules/plugins/doc_fragments/nios.py
index bd1f02eaf..bbecf7a63 100644
--- a/ansible_collections/infoblox/nios_modules/plugins/doc_fragments/nios.py
+++ b/ansible_collections/infoblox/nios_modules/plugins/doc_fragments/nios.py
@@ -77,7 +77,7 @@ options:
wapi_version:
description:
- Specifies the version of WAPI to use
- - Value can also be specified using C(INFOBLOX_WAP_VERSION) environment
+ - Value can also be specified using C(INFOBLOX_WAPI_VERSION) environment
variable.
- Until ansible 2.8 the default WAPI was 1.4
type: str
diff --git a/ansible_collections/infoblox/nios_modules/plugins/module_utils/api.py b/ansible_collections/infoblox/nios_modules/plugins/module_utils/api.py
index 51c512571..3a586193b 100644
--- a/ansible_collections/infoblox/nios_modules/plugins/module_utils/api.py
+++ b/ansible_collections/infoblox/nios_modules/plugins/module_utils/api.py
@@ -71,6 +71,13 @@ NIOS_MEMBER = 'member'
NIOS_DTC_SERVER = 'dtc:server'
NIOS_DTC_POOL = 'dtc:pool'
NIOS_DTC_LBDN = 'dtc:lbdn'
+NIOS_DTC_MONITOR_HTTP = 'dtc:monitor:http'
+NIOS_DTC_MONITOR_ICMP = 'dtc:monitor:icmp'
+NIOS_DTC_MONITOR_PDP = 'dtc:monitor:pdp'
+NIOS_DTC_MONITOR_SIP = 'dtc:monitor:sip'
+NIOS_DTC_MONITOR_SNMP = 'dtc:monitor:snmp'
+NIOS_DTC_MONITOR_TCP = 'dtc:monitor:tcp'
+NIOS_DTC_TOPOLOGY = 'dtc:topology'
NIOS_PROVIDER_SPEC = {
'host': dict(fallback=(env_fallback, ['INFOBLOX_HOST'])),
@@ -84,8 +91,8 @@ NIOS_PROVIDER_SPEC = {
'http_pool_connections': dict(type='int', default=10),
'http_pool_maxsize': dict(type='int', default=10),
'max_retries': dict(type='int', default=3, fallback=(env_fallback, ['INFOBLOX_MAX_RETRIES'])),
- 'wapi_version': dict(default='2.9', fallback=(env_fallback, ['INFOBLOX_WAP_VERSION'])),
- 'max_results': dict(type='int', default=1000, fallback=(env_fallback, ['INFOBLOX_MAX_RETRIES']))
+ 'wapi_version': dict(default='2.9', fallback=(env_fallback, ['INFOBLOX_WAPI_VERSION'])),
+ 'max_results': dict(type='int', default=1000, fallback=(env_fallback, ['INFOBLOX_MAX_RESULTS']))
}
@@ -113,7 +120,12 @@ def get_connector(*args, **kwargs):
# explicitly set
env = ('INFOBLOX_%s' % key).upper()
if env in os.environ:
- kwargs[key] = os.environ.get(env)
+ if NIOS_PROVIDER_SPEC[key].get('type') == 'bool':
+ kwargs[key] = eval(os.environ.get(env).title())
+ elif NIOS_PROVIDER_SPEC[key].get('type') == 'int':
+ kwargs[key] = eval(os.environ.get(env))
+ else:
+ kwargs[key] = os.environ.get(env)
if 'validate_certs' in kwargs.keys():
kwargs['ssl_verify'] = kwargs['validate_certs']
@@ -746,6 +758,11 @@ class WapiModule(WapiBase):
except TypeError:
txt = obj_filter['text']
test_obj_filter['text'] = txt
+
+ # removing Port param from get params for NIOS_DTC_MONITOR_TCP
+ elif (ib_obj_type == NIOS_DTC_MONITOR_TCP):
+ test_obj_filter = dict([('name', obj_filter['name'])])
+
# check if test_obj_filter is empty copy passed obj_filter
else:
test_obj_filter = obj_filter
@@ -767,9 +784,6 @@ class WapiModule(WapiBase):
except TypeError:
ipaddr = obj_filter['ipv4addr']
test_obj_filter['ipv4addr'] = ipaddr
- # prevents creation of a new A record with 'new_ipv4addr' when A record with a particular 'old_ipv4addr' is not found
- if old_ipv4addr_exists and ib_obj is None:
- raise Exception("A Record with ipv4addr: '%s' is not found" % (ipaddr))
ib_obj = self.get_object(ib_obj_type, test_obj_filter.copy(), return_fields=list(ib_spec.keys()))
# prevents creation of a new A record with 'new_ipv4addr' when A record with a particular 'old_ipv4addr' is not found
if old_ipv4addr_exists and ib_obj is None:
diff --git a/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_lbdn.py b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_lbdn.py
index e18689035..bc5a79c16 100644
--- a/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_lbdn.py
+++ b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_lbdn.py
@@ -37,6 +37,12 @@ options:
- RATIO
- ROUND_ROBIN
- TOPOLOGY
+ topology:
+ description:
+ - Configures the topology rules for the C(TOPOLOGY) load balancing method.
+ - Required only when I(lb_method) is set to C(TOPOLOGY).
+ required: false
+ type: str
auth_zones:
description:
- List of linked authoritative zones.
@@ -172,7 +178,7 @@ def main():
for zone in module.params['auth_zones']:
zone_obj = wapi.get_object('zone_auth',
{'fqdn': zone})
- if zone_obj is not None:
+ if zone_obj:
zone_list.append(zone_obj[0]['_ref'])
else:
module.fail_json(
@@ -188,13 +194,23 @@ def main():
{'name': pool['pool']})
if 'ratio' not in pool:
pool['ratio'] = 1
- if pool_obj is not None:
+ if pool_obj:
pool_list.append({'pool': pool_obj[0]['_ref'],
'ratio': pool['ratio']})
else:
module.fail_json(msg='pool %s cannot be found.' % pool)
return pool_list
+ def topology_transform(module):
+ topology = module.params['topology']
+ if topology:
+ topo_obj = wapi.get_object('dtc:topology', {'name': topology})
+ if topo_obj:
+ return topo_obj[0]['_ref']
+ else:
+ module.fail_json(
+ msg='topology %s cannot be found.' % topology)
+
auth_zones_spec = dict()
pools_spec = dict(
@@ -207,6 +223,7 @@ def main():
lb_method=dict(required=True, choices=['GLOBAL_AVAILABILITY',
'RATIO', 'ROUND_ROBIN', 'TOPOLOGY']),
+ topology=dict(type='str', transform=topology_transform),
auth_zones=dict(type='list', elements='str', options=auth_zones_spec,
transform=auth_zones_transform),
patterns=dict(type='list', elements='str'),
diff --git a/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_http.py b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_http.py
new file mode 100644
index 000000000..b90e98a04
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_http.py
@@ -0,0 +1,272 @@
+#!/usr/bin/python
+# Copyright (c) 2018-2019 Red Hat, Inc.
+# Copyright (c) 2020 Infoblox, 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: nios_dtc_monitor_http
+author: "Joachim Buyse (@jbisabel)"
+version_added: "1.6.0"
+short_description: Configure Infoblox NIOS DTC HTTP monitors
+description:
+ - Adds and/or removes instances of DTC HTTP monitor objects from Infoblox NIOS
+ servers. This module manages C(dtc:monitor:http) objects using the Infoblox
+ WAPI interface over REST.
+requirements:
+ - infoblox-client
+extends_documentation_fragment: infoblox.nios_modules.nios
+notes:
+ - This module supports C(check_mode).
+options:
+ name:
+ description:
+ - Configures the display name for this DTC monitor. Values with leading
+ or trailing white space are not valid for this field.
+ required: true
+ type: str
+ port:
+ description:
+ - Configures the port value for HTTP requests.
+ type: int
+ default: 80
+ ciphers:
+ description:
+ - Configures an optional cipher list for the secure HTTP/S connection.
+ type: str
+ client_cert:
+ description:
+ - Configures an optional client certificate, supplied in a secure HTTP/S
+ mode if present.
+ type: str
+ content_check:
+ description:
+ - Configures the content check type
+ type: str
+ choices:
+ - EXTRACT
+ - MATCH
+ - NONE
+ default: NONE
+ content_check_input:
+ description:
+ - Configures the portion of the response to use as input for content check.
+ type: str
+ choices:
+ - ALL
+ - BODY
+ - HEADERS
+ default: ALL
+ content_check_op:
+ description:
+ - Configures the content check success criteria operator.
+ type: str
+ choices:
+ - EQ
+ - GEQ
+ - LEQ
+ - NEQ
+ content_check_regex:
+ description:
+ - Configures the content check regular expression. Values with leading
+ or trailing white space are not valid for this field.
+ type: str
+ content_extract_group:
+ description:
+ - Configures the content extraction sub-expression to extract.
+ type: int
+ default: 0
+ content_extract_type:
+ description:
+ - Configures the content extraction expected type for the extracted data.
+ type: str
+ choices:
+ - INTEGER
+ - STRING
+ default: STRING
+ content_extract_value:
+ description:
+ - Configures the content extraction value to compare with the extracted
+ result. Values with leading or trailing white space are not valid for
+ this field.
+ type: str
+ request:
+ description:
+ - Configures the HTTP request to send
+ type: str
+ default: GET /
+ result:
+ description:
+ - Configures the type of the expected result
+ type: str
+ choices:
+ - ANY
+ - CODE_IS
+ - CODE_IS_NOT
+ default: ANY
+ result_code:
+ description:
+ - Configures the expected return code
+ type: int
+ default: 200
+ enable_sni:
+ description:
+ - Configures whether or not Server Name Indication (SNI) for the HTTPS
+ monitor is enabled.
+ type: bool
+ default: false
+ secure:
+ description:
+ - Configures the security status of the connection.
+ type: bool
+ default: false
+ validate_cert:
+ description:
+ - Configures whether the validation of the remote server's certificate is
+ enabled.
+ type: bool
+ default: true
+ interval:
+ description:
+ - Configures the interval for HTTP health check.
+ type: int
+ default: 5
+ retry_down:
+ description:
+ - Configures the value of how many times the server should appear as
+ down to be treated as dead after it was alive.
+ type: int
+ default: 1
+ retry_up:
+ description:
+ - Configures the value of how many times the server should appear as up
+ to be treated as alive after it was dead.
+ type: int
+ default: 1
+ timeout:
+ description:
+ - Configures the timeout for HTTP health check in seconds.
+ type: int
+ default: 15
+ extattrs:
+ description:
+ - Allows for the configuration of Extensible Attributes on the
+ instance of the object. This argument accepts a set of key / value
+ pairs for configuration.
+ type: dict
+ comment:
+ description:
+ - Configures a text string comment to be associated with the instance
+ of this object. The provided text string will be configured on the
+ object instance.
+ type: str
+ state:
+ description:
+ - Configures the intended state of the instance of the object on
+ the NIOS server. When this value is set to C(present), the object
+ is configured on the device and when this value is set to C(absent)
+ the value is removed (if necessary) from the device.
+ default: present
+ choices:
+ - present
+ - absent
+ type: str
+'''
+
+EXAMPLES = '''
+- name: Configure a DTC HTTPS monitor
+ infoblox.nios_modules.nios_dtc_monitor_http:
+ name: https_monitor
+ port: 443
+ secure: true
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Add a comment to an existing DTC HTTPS monitor
+ infoblox.nios_modules.nios_dtc_monitor_http:
+ name: https_monitor
+ comment: this is a test comment
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Remove a DTC HTTPS monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_http:
+ name: https_monitor
+ state: absent
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+'''
+
+RETURN = ''' # '''
+
+from ansible.module_utils.basic import AnsibleModule
+from ..module_utils.api import WapiModule
+from ..module_utils.api import NIOS_DTC_MONITOR_HTTP
+from ..module_utils.api import normalize_ib_spec
+
+
+def main():
+ ''' Main entry point for module execution
+ '''
+
+ ib_spec = dict(
+ name=dict(required=True, ib_req=True),
+
+ port=dict(type='int', default=80),
+ ciphers=dict(type='str'),
+ client_cert=dict(type='str'),
+ content_check=dict(default='NONE', choices=['EXTRACT', 'MATCH', 'NONE']),
+ content_check_input=dict(default='ALL', choices=['ALL', 'BODY', 'HEADERS']),
+ content_check_op=dict(choices=['EQ', 'GEQ', 'LEQ', 'NEQ']),
+ content_check_regex=dict(type='str'),
+ content_extract_group=dict(type='int', default=0),
+ content_extract_type=dict(default='STRING', choices=['INTEGER', 'STRING']),
+ content_extract_value=dict(type='str'),
+ request=dict(type='str', default='GET /'),
+ result=dict(default='ANY', choices=['ANY', 'CODE_IS', 'CODE_IS_NOT']),
+ result_code=dict(type='int', default=200),
+ enable_sni=dict(type='bool', default=False),
+ secure=dict(type='bool', default=False),
+ validate_cert=dict(type='bool', default=True),
+ interval=dict(type='int', default=5),
+ retry_down=dict(type='int', default=1),
+ retry_up=dict(type='int', default=1),
+ timeout=dict(type='int', default=15),
+
+ extattrs=dict(type='dict'),
+ comment=dict(),
+ )
+
+ argument_spec = dict(
+ provider=dict(required=True),
+ state=dict(default='present', choices=['present', 'absent'])
+ )
+
+ argument_spec.update(normalize_ib_spec(ib_spec))
+ argument_spec.update(WapiModule.provider_spec)
+
+ module = AnsibleModule(argument_spec=argument_spec,
+ supports_check_mode=True)
+
+ wapi = WapiModule(module)
+ result = wapi.run(NIOS_DTC_MONITOR_HTTP, ib_spec)
+
+ module.exit_json(**result)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_icmp.py b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_icmp.py
new file mode 100644
index 000000000..e133954ef
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_icmp.py
@@ -0,0 +1,154 @@
+#!/usr/bin/python
+# Copyright (c) 2018-2019 Red Hat, Inc.
+# Copyright (c) 2020 Infoblox, 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: nios_dtc_monitor_icmp
+author: "Joachim Buyse (@jbisabel)"
+version_added: "1.6.0"
+short_description: Configure Infoblox NIOS DTC ICMP monitors
+description:
+ - Adds and/or removes instances of DTC ICMP monitor objects from Infoblox NIOS
+ servers. This module manages C(dtc:monitor:icmp) objects using the Infoblox
+ WAPI interface over REST.
+requirements:
+ - infoblox-client
+extends_documentation_fragment: infoblox.nios_modules.nios
+notes:
+ - This module supports C(check_mode).
+options:
+ name:
+ description:
+ - Configures the display name for this DTC monitor. Values with leading
+ or trailing white space are not valid for this field.
+ required: true
+ type: str
+ interval:
+ description:
+ - Configures the interval for ICMP health check.
+ type: int
+ default: 5
+ retry_down:
+ description:
+ - Configures the value of how many times the server should appear as
+ down to be treated as dead after it was alive.
+ type: int
+ default: 1
+ retry_up:
+ description:
+ - Configures the value of how many times the server should appear as up
+ to be treated as alive after it was dead.
+ type: int
+ default: 1
+ timeout:
+ description:
+ - Configures the timeout for ICMP health check in seconds.
+ type: int
+ default: 15
+ extattrs:
+ description:
+ - Allows for the configuration of Extensible Attributes on the
+ instance of the object. This argument accepts a set of key / value
+ pairs for configuration.
+ type: dict
+ comment:
+ description:
+ - Configures a text string comment to be associated with the instance
+ of this object. The provided text string will be configured on the
+ object instance.
+ type: str
+ state:
+ description:
+ - Configures the intended state of the instance of the object on
+ the NIOS server. When this value is set to C(present), the object
+ is configured on the device and when this value is set to C(absent)
+ the value is removed (if necessary) from the device.
+ default: present
+ choices:
+ - present
+ - absent
+ type: str
+'''
+
+EXAMPLES = '''
+- name: Configure a DTC ICMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_icmp:
+ name: icmp_monitor
+ port: 8080
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Add a comment to an existing DTC ICMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_icmp:
+ name: icmp_monitor
+ comment: this is a test comment
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Remove a DTC ICMP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_icmp:
+ name: icmp_monitor
+ state: absent
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+'''
+
+RETURN = ''' # '''
+
+from ansible.module_utils.basic import AnsibleModule
+from ..module_utils.api import WapiModule
+from ..module_utils.api import NIOS_DTC_MONITOR_ICMP
+from ..module_utils.api import normalize_ib_spec
+
+
+def main():
+ ''' Main entry point for module execution
+ '''
+
+ ib_spec = dict(
+ name=dict(required=True, ib_req=True),
+
+ interval=dict(type='int', default=5),
+ retry_down=dict(type='int', default=1),
+ retry_up=dict(type='int', default=1),
+ timeout=dict(type='int', default=15),
+
+ extattrs=dict(type='dict'),
+ comment=dict(),
+ )
+
+ argument_spec = dict(
+ provider=dict(required=True),
+ state=dict(default='present', choices=['present', 'absent'])
+ )
+
+ argument_spec.update(normalize_ib_spec(ib_spec))
+ argument_spec.update(WapiModule.provider_spec)
+
+ module = AnsibleModule(argument_spec=argument_spec,
+ supports_check_mode=True)
+
+ wapi = WapiModule(module)
+ result = wapi.run(NIOS_DTC_MONITOR_ICMP, ib_spec)
+
+ module.exit_json(**result)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_pdp.py b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_pdp.py
new file mode 100644
index 000000000..d9cf8e4a8
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_pdp.py
@@ -0,0 +1,159 @@
+#!/usr/bin/python
+# Copyright (c) 2018-2019 Red Hat, Inc.
+# Copyright (c) 2020 Infoblox, 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: nios_dtc_monitor_pdp
+author: "Joachim Buyse (@jbisabel)"
+version_added: "1.6.0"
+short_description: Configure Infoblox NIOS DTC PDP monitors
+description:
+ - Adds and/or removes instances of DTC PDP monitor objects from Infoblox NIOS
+ servers. This module manages C(dtc:monitor:pdp) objects using the Infoblox
+ WAPI interface over REST.
+requirements:
+ - infoblox-client
+extends_documentation_fragment: infoblox.nios_modules.nios
+notes:
+ - This module supports C(check_mode).
+options:
+ name:
+ description:
+ - Configures the display name for this DTC monitor. Values with leading
+ or trailing white space are not valid for this field.
+ required: true
+ type: str
+ port:
+ description:
+ - Configures the port value for PDP requests.
+ type: int
+ default: 2123
+ interval:
+ description:
+ - Configures the interval for PDP health check.
+ type: int
+ default: 5
+ retry_down:
+ description:
+ - Configures the value of how many times the server should appear as
+ down to be treated as dead after it was alive.
+ type: int
+ default: 1
+ retry_up:
+ description:
+ - Configures the value of how many times the server should appear as up
+ to be treated as alive after it was dead.
+ type: int
+ default: 1
+ timeout:
+ description:
+ - Configures the timeout for PDP health check in seconds.
+ type: int
+ default: 15
+ extattrs:
+ description:
+ - Allows for the configuration of Extensible Attributes on the
+ instance of the object. This argument accepts a set of key / value
+ pairs for configuration.
+ type: dict
+ comment:
+ description:
+ - Configures a text string comment to be associated with the instance
+ of this object. The provided text string will be configured on the
+ object instance.
+ type: str
+ state:
+ description:
+ - Configures the intended state of the instance of the object on
+ the NIOS server. When this value is set to C(present), the object
+ is configured on the device and when this value is set to C(absent)
+ the value is removed (if necessary) from the device.
+ default: present
+ choices:
+ - present
+ - absent
+ type: str
+'''
+
+EXAMPLES = '''
+- name: Configure a DTC PDP monitor
+ infoblox.nios_modules.nios_dtc_monitor_pdp:
+ name: pdp_monitor
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Add a comment to an existing DTC PDP monitor
+ infoblox.nios_modules.nios_dtc_monitor_pdp:
+ name: pdp_monitor
+ comment: this is a test comment
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Remove a DTC PDP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_pdp:
+ name: pdp_monitor
+ state: absent
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+'''
+
+RETURN = ''' # '''
+
+from ansible.module_utils.basic import AnsibleModule
+from ..module_utils.api import WapiModule
+from ..module_utils.api import NIOS_DTC_MONITOR_PDP
+from ..module_utils.api import normalize_ib_spec
+
+
+def main():
+ ''' Main entry point for module execution
+ '''
+
+ ib_spec = dict(
+ name=dict(required=True, ib_req=True),
+
+ port=dict(type='int', default=2123),
+ interval=dict(type='int', default=5),
+ retry_down=dict(type='int', default=1),
+ retry_up=dict(type='int', default=1),
+ timeout=dict(type='int', default=15),
+
+ extattrs=dict(type='dict'),
+ comment=dict(),
+ )
+
+ argument_spec = dict(
+ provider=dict(required=True),
+ state=dict(default='present', choices=['present', 'absent'])
+ )
+
+ argument_spec.update(normalize_ib_spec(ib_spec))
+ argument_spec.update(WapiModule.provider_spec)
+
+ module = AnsibleModule(argument_spec=argument_spec,
+ supports_check_mode=True)
+
+ wapi = WapiModule(module)
+ result = wapi.run(NIOS_DTC_MONITOR_PDP, ib_spec)
+
+ module.exit_json(**result)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_sip.py b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_sip.py
new file mode 100644
index 000000000..c1df09853
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_sip.py
@@ -0,0 +1,209 @@
+#!/usr/bin/python
+# Copyright (c) 2018-2019 Red Hat, Inc.
+# Copyright (c) 2020 Infoblox, 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: nios_dtc_monitor_sip
+author: "Joachim Buyse (@jbisabel)"
+version_added: "1.6.0"
+short_description: Configure Infoblox NIOS DTC SIP monitors
+description:
+ - Adds and/or removes instances of DTC SIP monitor objects from Infoblox NIOS
+ servers. This module manages C(dtc:monitor:sip) objects using the Infoblox
+ WAPI interface over REST.
+requirements:
+ - infoblox-client
+extends_documentation_fragment: infoblox.nios_modules.nios
+notes:
+ - This module supports C(check_mode).
+options:
+ name:
+ description:
+ - Configures the display name for this DTC monitor. Values with leading
+ or trailing white space are not valid for this field.
+ required: true
+ type: str
+ port:
+ description:
+ - Configures the port value for SIP requests.
+ type: int
+ default: 5060
+ ciphers:
+ description:
+ - Configures an optional cipher list for the secure TLS/SIPS connection.
+ type: str
+ client_cert:
+ description:
+ - Configures an optional client certificate, supplied in TLS or SIPS mode
+ if present.
+ type: str
+ request:
+ description:
+ - Configures the SIP request to send
+ type: str
+ result:
+ description:
+ - Configures the type of the expected result
+ type: str
+ choices:
+ - ANY
+ - CODE_IS
+ - CODE_IS_NOT
+ default: ANY
+ result_code:
+ description:
+ - Configures the expected return code
+ type: int
+ default: 200
+ transport:
+ description:
+ - Configures the transport layer protocol to use for the SIP check
+ type: str
+ choices:
+ - SIPS
+ - TCP
+ - TLS
+ - UDP
+ default: TCP
+ validate_cert:
+ description:
+ - Configures whether the validation of the remote server's certificate is
+ enabled.
+ type: bool
+ default: true
+ interval:
+ description:
+ - Configures the interval for SIP health check.
+ type: int
+ default: 5
+ retry_down:
+ description:
+ - Configures the value of how many times the server should appear as
+ down to be treated as dead after it was alive.
+ type: int
+ default: 1
+ retry_up:
+ description:
+ - Configures the value of how many times the server should appear as up
+ to be treated as alive after it was dead.
+ type: int
+ default: 1
+ timeout:
+ description:
+ - Configures the timeout for SIP health check in seconds.
+ type: int
+ default: 15
+ extattrs:
+ description:
+ - Allows for the configuration of Extensible Attributes on the
+ instance of the object. This argument accepts a set of key / value
+ pairs for configuration.
+ type: dict
+ comment:
+ description:
+ - Configures a text string comment to be associated with the instance
+ of this object. The provided text string will be configured on the
+ object instance.
+ type: str
+ state:
+ description:
+ - Configures the intended state of the instance of the object on
+ the NIOS server. When this value is set to C(present), the object
+ is configured on the device and when this value is set to C(absent)
+ the value is removed (if necessary) from the device.
+ default: present
+ choices:
+ - present
+ - absent
+ type: str
+'''
+
+EXAMPLES = '''
+- name: Configure a DTC SIP monitor
+ infoblox.nios_modules.nios_dtc_monitor_sip:
+ name: sip_monitor
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Add a comment to an existing DTC SIP monitor
+ infoblox.nios_modules.nios_dtc_monitor_sip:
+ name: sip_monitor
+ comment: this is a test comment
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Remove a DTC SIP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_sip:
+ name: sip_monitor
+ state: absent
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+'''
+
+RETURN = ''' # '''
+
+from ansible.module_utils.basic import AnsibleModule
+from ..module_utils.api import WapiModule
+from ..module_utils.api import NIOS_DTC_MONITOR_SIP
+from ..module_utils.api import normalize_ib_spec
+
+
+def main():
+ ''' Main entry point for module execution
+ '''
+
+ ib_spec = dict(
+ name=dict(required=True, ib_req=True),
+
+ port=dict(type='int', default=5060),
+ ciphers=dict(type='str'),
+ client_cert=dict(type='str'),
+ request=dict(type='str'),
+ result=dict(default='ANY', choices=['ANY', 'CODE_IS', 'CODE_IS_NOT']),
+ result_code=dict(type='int', default=200),
+ transport=dict(default='TCP', choices=['SIPS', 'TCP', 'TLS', 'UDP']),
+ validate_cert=dict(type='bool', default=True),
+ interval=dict(type='int', default=5),
+ retry_down=dict(type='int', default=1),
+ retry_up=dict(type='int', default=1),
+ timeout=dict(type='int', default=15),
+
+ extattrs=dict(type='dict'),
+ comment=dict(),
+ )
+
+ argument_spec = dict(
+ provider=dict(required=True),
+ state=dict(default='present', choices=['present', 'absent'])
+ )
+
+ argument_spec.update(normalize_ib_spec(ib_spec))
+ argument_spec.update(WapiModule.provider_spec)
+
+ module = AnsibleModule(argument_spec=argument_spec,
+ supports_check_mode=True)
+
+ wapi = WapiModule(module)
+ result = wapi.run(NIOS_DTC_MONITOR_SIP, ib_spec)
+
+ module.exit_json(**result)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_snmp.py b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_snmp.py
new file mode 100644
index 000000000..036580e86
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_snmp.py
@@ -0,0 +1,279 @@
+#!/usr/bin/python
+# Copyright (c) 2018-2019 Red Hat, Inc.
+# Copyright (c) 2020 Infoblox, 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: nios_dtc_monitor_snmp
+author: "Joachim Buyse (@jbisabel)"
+version_added: "1.6.0"
+short_description: Configure Infoblox NIOS DTC SNMP monitors
+description:
+ - Adds and/or removes instances of DTC SNMP monitor objects from Infoblox NIOS
+ servers. This module manages C(dtc:monitor:snmp) objects using the Infoblox
+ WAPI interface over REST.
+requirements:
+ - infoblox-client
+extends_documentation_fragment: infoblox.nios_modules.nios
+notes:
+ - This module supports C(check_mode).
+options:
+ name:
+ description:
+ - Configures the display name for this DTC monitor. Values with leading
+ or trailing white space are not valid for this field.
+ required: true
+ type: str
+ port:
+ description:
+ - Configures the port value for SNMP requests.
+ type: int
+ default: 161
+ version:
+ description:
+ - Configures the SNMP protocol version for the SNMP health check.
+ type: str
+ choices:
+ - V1
+ - V2C
+ - V3
+ default: V2C
+ community:
+ description:
+ - Configures the SNMP community string for SNMP authentication.
+ type: str
+ default: public
+ user:
+ description:
+ - Configures the SNMPv3 user setting.
+ type: str
+ context:
+ description:
+ - Configures the SNMPv3 context. Values with leading or trailing white
+ space are not valid for this field.
+ type: str
+ engine_id:
+ description:
+ - Configures the SNMPv3 engine identifier. Values with leading or
+ trailing white space are not valid for this field.
+ type: str
+ oids:
+ description:
+ - Configures the list of OIDs for SNMP monitoring.
+ type: list
+ elements: dict
+ suboptions:
+ comment:
+ description:
+ - Configures a text string comment to be associated with the instance
+ of this object. The provided text string will be configured on the
+ object instance.
+ type: str
+ condition:
+ description:
+ - Configures the condition of the validation result for the SNMP
+ health check.
+ type: str
+ choices:
+ - ANY
+ - EXACT
+ - GEQ
+ - LEQ
+ - RANGE
+ default: ANY
+ first:
+ description:
+ - Configures the condition's first term to match against the SNMP
+ health check result.
+ type: str
+ last:
+ description:
+ - Configures the condition's second term to match against the SNMP
+ health check result with 'RANGE' condition.
+ type: str
+ oid:
+ description:
+ - Configures the SNMP OID value for DTC SNMP Monitor health checks.
+ - This field is required on creation
+ required: true
+ type: str
+ type:
+ description:
+ - Configures the condition type for DTC SNMP Monitor health checks
+ results.
+ type: str
+ choices:
+ - INTEGER
+ - STRING
+ default: STRING
+ interval:
+ description:
+ - Configures the interval for SNMP health check.
+ type: int
+ default: 5
+ retry_down:
+ description:
+ - Configures the value of how many times the server should appear as
+ down to be treated as dead after it was alive.
+ type: int
+ default: 1
+ retry_up:
+ description:
+ - Configures the value of how many times the server should appear as up
+ to be treated as alive after it was dead.
+ type: int
+ default: 1
+ timeout:
+ description:
+ - Configures the timeout for SNMP health check in seconds.
+ type: int
+ default: 15
+ extattrs:
+ description:
+ - Allows for the configuration of Extensible Attributes on the
+ instance of the object. This argument accepts a set of key / value
+ pairs for configuration.
+ type: dict
+ comment:
+ description:
+ - Configures a text string comment to be associated with the instance
+ of this object. The provided text string will be configured on the
+ object instance.
+ type: str
+ state:
+ description:
+ - Configures the intended state of the instance of the object on
+ the NIOS server. When this value is set to C(present), the object
+ is configured on the device and when this value is set to C(absent)
+ the value is removed (if necessary) from the device.
+ default: present
+ choices:
+ - present
+ - absent
+ type: str
+'''
+
+EXAMPLES = '''
+- name: Configure a DTC SNMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_snmp:
+ name: snmp_monitor
+ port: 8080
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Add a comment to an existing DTC SNMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_snmp:
+ name: snmp_monitor
+ comment: this is a test comment
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Remove a DTC SNMP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_snmp:
+ name: snmp_monitor
+ state: absent
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+'''
+
+RETURN = ''' # '''
+
+from ansible.module_utils.basic import AnsibleModule
+from ansible.module_utils.six import iteritems
+from ..module_utils.api import WapiModule
+from ..module_utils.api import NIOS_DTC_MONITOR_SNMP
+from ..module_utils.api import normalize_ib_spec
+
+
+def oids(module):
+ ''' Transform the module argument into a valid WAPI struct
+ This function will transform the oids argument into a structure that is a
+ valid WAPI structure in the format of:
+ {
+ comment: <value>,
+ condition: <value>,
+ first: <value>,
+ last: <value>,
+ oid: <value>,
+ type: <value>,
+ }
+ It will remove any options that are set to None since WAPI will error on
+ that condition.
+ The remainder of the value validation is performed by WAPI
+ '''
+
+ oids = list()
+ for item in module.params['oids']:
+ oid = dict([(k, v) for k, v in iteritems(item) if v is not None])
+ if 'oid' not in oid:
+ module.fail_json(msg='oid is required for oid value')
+ oids.append(oid)
+ return oids
+
+
+def main():
+ ''' Main entry point for module execution
+ '''
+
+ oid_spec = dict(
+ comment=dict(type='str'),
+ condition=dict(default='ANY', choices=['ANY', 'EXACT', 'GEQ', 'LEQ', 'RANGE']),
+ first=dict(type='str'),
+ last=dict(type='str'),
+ oid=dict(type='str', required=True),
+ type=dict(default='STRING', choices=['INTEGER', 'STRING'])
+ )
+
+ ib_spec = dict(
+ name=dict(required=True, ib_req=True),
+
+ port=dict(type='int', default=161),
+ version=dict(default='V2C', choices=['V1', 'V2C', 'V3']),
+ community=dict(type='str', default='public'),
+ user=dict(type='str'),
+ context=dict(type='str'),
+ engine_id=dict(type='str'),
+ oids=dict(type='list', elements='dict', options=oid_spec, transform=oids),
+ interval=dict(type='int', default=5),
+ retry_down=dict(type='int', default=1),
+ retry_up=dict(type='int', default=1),
+ timeout=dict(type='int', default=15),
+
+ extattrs=dict(type='dict'),
+ comment=dict(),
+ )
+
+ argument_spec = dict(
+ provider=dict(required=True),
+ state=dict(default='present', choices=['present', 'absent'])
+ )
+
+ argument_spec.update(normalize_ib_spec(ib_spec))
+ argument_spec.update(WapiModule.provider_spec)
+
+ module = AnsibleModule(argument_spec=argument_spec,
+ supports_check_mode=True)
+
+ wapi = WapiModule(module)
+ result = wapi.run(NIOS_DTC_MONITOR_SNMP, ib_spec)
+
+ module.exit_json(**result)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_tcp.py b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_tcp.py
new file mode 100644
index 000000000..e812f13c6
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_monitor_tcp.py
@@ -0,0 +1,163 @@
+#!/usr/bin/python
+# Copyright (c) 2018-2019 Red Hat, Inc.
+# Copyright (c) 2020 Infoblox, 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: nios_dtc_monitor_tcp
+author: "Joachim Buyse (@jbisabel)"
+version_added: "1.6.0"
+short_description: Configure Infoblox NIOS DTC TCP monitors
+description:
+ - Adds and/or removes instances of DTC TCP monitor objects from Infoblox NIOS
+ servers. This module manages C(dtc:monitor:tcp) objects using the Infoblox
+ WAPI interface over REST.
+requirements:
+ - infoblox-client
+extends_documentation_fragment: infoblox.nios_modules.nios
+notes:
+ - This module supports C(check_mode).
+options:
+ name:
+ description:
+ - Configures the display name for this DTC monitor. Values with leading
+ or trailing white space are not valid for this field.
+ required: true
+ type: str
+ port:
+ description:
+ - Configures the port value for TCP requests. The field is required on
+ creation.
+ required: true
+ type: int
+ interval:
+ description:
+ - Configures the interval for TCP health check.
+ type: int
+ default: 5
+ retry_down:
+ description:
+ - Configures the value of how many times the server should appear as
+ down to be treated as dead after it was alive.
+ type: int
+ default: 1
+ retry_up:
+ description:
+ - Configures the value of how many times the server should appear as up
+ to be treated as alive after it was dead.
+ type: int
+ default: 1
+ timeout:
+ description:
+ - Configures the timeout for TCP health check in seconds.
+ type: int
+ default: 15
+ extattrs:
+ description:
+ - Allows for the configuration of Extensible Attributes on the
+ instance of the object. This argument accepts a set of key / value
+ pairs for configuration.
+ type: dict
+ comment:
+ description:
+ - Configures a text string comment to be associated with the instance
+ of this object. The provided text string will be configured on the
+ object instance.
+ type: str
+ state:
+ description:
+ - Configures the intended state of the instance of the object on
+ the NIOS server. When this value is set to C(present), the object
+ is configured on the device and when this value is set to C(absent)
+ the value is removed (if necessary) from the device.
+ default: present
+ choices:
+ - present
+ - absent
+ type: str
+'''
+
+EXAMPLES = '''
+- name: Configure a DTC TCP monitor
+ infoblox.nios_modules.nios_dtc_monitor_tcp:
+ name: tcp_monitor
+ port: 8080
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Add a comment to an existing DTC TCP monitor
+ infoblox.nios_modules.nios_dtc_monitor_tcp:
+ name: tcp_monitor
+ port: 8080
+ comment: this is a test comment
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Remove a DTC TCP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_tcp:
+ name: tcp_monitor
+ port: 8080
+ state: absent
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+'''
+
+RETURN = ''' # '''
+
+from ansible.module_utils.basic import AnsibleModule
+from ..module_utils.api import WapiModule
+from ..module_utils.api import NIOS_DTC_MONITOR_TCP
+from ..module_utils.api import normalize_ib_spec
+
+
+def main():
+ ''' Main entry point for module execution
+ '''
+
+ ib_spec = dict(
+ name=dict(required=True, ib_req=True),
+ port=dict(type='int', required=True, ib_req=True),
+
+ interval=dict(type='int', default=5),
+ retry_down=dict(type='int', default=1),
+ retry_up=dict(type='int', default=1),
+ timeout=dict(type='int', default=15),
+
+ extattrs=dict(type='dict'),
+ comment=dict(),
+ )
+
+ argument_spec = dict(
+ provider=dict(required=True),
+ state=dict(default='present', choices=['present', 'absent'])
+ )
+
+ argument_spec.update(normalize_ib_spec(ib_spec))
+ argument_spec.update(WapiModule.provider_spec)
+
+ module = AnsibleModule(argument_spec=argument_spec,
+ supports_check_mode=True)
+
+ wapi = WapiModule(module)
+ result = wapi.run(NIOS_DTC_MONITOR_TCP, ib_spec)
+
+ module.exit_json(**result)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_pool.py b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_pool.py
index 422d76f16..82491f62b 100644
--- a/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_pool.py
+++ b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_pool.py
@@ -41,6 +41,12 @@ options:
- TOPOLOGY
required: true
type: str
+ lb_preferred_topology:
+ description:
+ - Configures the topology rules for the C(TOPOLOGY) load balancing method.
+ - Required only when I(lb_preferred_method) is set to C(TOPOLOGY).
+ required: false
+ type: str
servers:
description:
- Configure the DTC Servers related to the pool
@@ -170,9 +176,11 @@ def main():
for server in module.params['servers']:
server_obj = wapi.get_object('dtc:server',
{'name': server['server']})
- if server_obj is not None:
+ if server_obj:
server_list.append({'server': server_obj[0]['_ref'],
'ratio': server['ratio']})
+ else:
+ module.fail_json(msg='Server %s cannot be found.' % server)
return server_list
def monitors_transform(module):
@@ -181,10 +189,23 @@ def main():
for monitor in module.params['monitors']:
monitor_obj = wapi.get_object('dtc:monitor:' + monitor['type'],
{'name': monitor['name']})
- if monitor_obj is not None:
+ if monitor_obj:
monitor_list.append(monitor_obj[0]['_ref'])
+ else:
+ module.fail_json(
+ msg='monitor %s cannot be found.' % monitor)
return monitor_list
+ def topology_transform(module):
+ topology = module.params['lb_preferred_topology']
+ if topology:
+ topo_obj = wapi.get_object('dtc:topology', {'name': topology})
+ if topo_obj:
+ return topo_obj[0]['_ref']
+ else:
+ module.fail_json(
+ msg='topology %s cannot be found.' % topology)
+
servers_spec = dict(
server=dict(required=True),
ratio=dict(type='int', default=1)
@@ -203,6 +224,7 @@ def main():
'RATIO',
'ROUND_ROBIN',
'TOPOLOGY']),
+ lb_preferred_topology=dict(type='str', transform=topology_transform),
servers=dict(type='list', elements='dict', options=servers_spec,
transform=servers_transform),
diff --git a/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_topology.py b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_topology.py
new file mode 100644
index 000000000..eec857256
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/plugins/modules/nios_dtc_topology.py
@@ -0,0 +1,253 @@
+#!/usr/bin/python
+# Copyright (c) 2018-2019 Red Hat, Inc.
+# Copyright (c) 2020 Infoblox, 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: nios_dtc_topology
+author: "Joachim Buyse (@jbisabel)"
+short_description: Configure Infoblox NIOS DTC Topology
+version_added: "1.6.0"
+description:
+ - Adds and/or removes instances of DTC Topology objects from
+ Infoblox NIOS topologies. This module manages NIOS C(dtc:topology) objects
+ using the Infoblox WAPI interface over REST.
+requirements:
+ - infoblox-client
+extends_documentation_fragment: infoblox.nios_modules.nios
+notes:
+ - This module supports C(check_mode).
+options:
+ name:
+ description:
+ - Specifies the DTC Topology display name.
+ required: true
+ type: str
+ rules:
+ description:
+ - Configures the topology rules
+ type: list
+ elements: dict
+ suboptions:
+ dest_type:
+ description:
+ - Configures the type of the destination for this DTC Topology Rule.
+ type: str
+ choices:
+ - POOL
+ - SERVER
+ required: true
+ destination_link:
+ description:
+ - Configures the name of the destination DTC pool or DTC server.
+ type: str
+ return_type:
+ description:
+ - Configures the type of the DNS response for the rule.
+ type: str
+ choices:
+ - NOERR
+ - NXDOMAIN
+ - REGULAR
+ default: REGULAR
+ sources:
+ description:
+ - Configures the conditions for matching sources. Should be empty to
+ set the rule as default destination.
+ type: list
+ elements: dict
+ suboptions:
+ source_op:
+ description:
+ - Configures the operation used to match the value.
+ type: str
+ choices:
+ - IS
+ - IS_NOT
+ source_type:
+ description:
+ - Configures the source type.
+ type: str
+ choices:
+ - CITY
+ - CONTINENT
+ - COUNTRY
+ - EA0
+ - EA1
+ - EA2
+ - EA3
+ - SUBDIVISION
+ - SUBNET
+ required: true
+ source_value:
+ description:
+ - Configures the source value.
+ type: str
+ required: true
+ extattrs:
+ description:
+ - Allows for the configuration of Extensible Attributes on the
+ instance of the object. This argument accepts a set of key / value
+ pairs for configuration.
+ type: dict
+ comment:
+ description:
+ - Configures a text string comment to be associated with the instance
+ of this object. The provided text string will be configured on the
+ object instance.
+ type: str
+ state:
+ description:
+ - Configures the intended state of the instance of the object on
+ the NIOS topology. When this value is set to C(present), the object
+ is configured on the device and when this value is set to C(absent)
+ the value is removed (if necessary) from the device.
+ default: present
+ choices:
+ - present
+ - absent
+ type: str
+'''
+
+EXAMPLES = '''
+- name: Configure a DTC Topology
+ infoblox.nios_modules.nios_dtc_topology:
+ name: a_topology
+ rules:
+ - dest_type: POOL
+ destination_link: web_pool1
+ return_type: REGULAR
+ sources:
+ - source_op: IS
+ source_type: EA0
+ source_value: DC1
+ - dest_type: POOL
+ destination_link: web_pool2
+ return_type: REGULAR
+ sources:
+ - source_op: IS
+ source_type: EA0
+ source_value: DC2
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Add a comment to a DTC topology
+ infoblox.nios_modules.nios_dtc_topology:
+ name: a_topology
+ comment: this is a test comment
+ state: present
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+
+- name: Remove a DTC Topology from the system
+ infoblox.nios_modules.nios_dtc_topology:
+ name: a_topology
+ state: absent
+ provider:
+ host: "{{ inventory_hostname_short }}"
+ username: admin
+ password: admin
+ connection: local
+'''
+
+RETURN = ''' # '''
+
+from ansible.module_utils.basic import AnsibleModule
+from ansible.module_utils.six import iteritems
+from ..module_utils.api import WapiModule
+from ..module_utils.api import NIOS_DTC_TOPOLOGY
+from ..module_utils.api import normalize_ib_spec
+
+
+def main():
+ ''' Main entry point for module execution
+ '''
+
+ def sources_transform(sources, module):
+ source_list = list()
+ for source in sources:
+ src = dict([(k, v) for k, v in iteritems(source) if v is not None])
+ if 'source_type' not in src or 'source_value' not in src:
+ module.fail_json(msg='source_type and source_value are required for source')
+ source_list.append(src)
+ return source_list
+
+ def rules_transform(module):
+ rule_list = list()
+ dest_obj = None
+
+ if not module.params['rules']:
+ return rule_list
+
+ for rule in module.params['rules']:
+ if rule['dest_type'] == 'POOL':
+ dest_obj = wapi.get_object('dtc:pool', {'name': rule['destination_link']})
+ else:
+ dest_obj = wapi.get_object('dtc:server', {'name': rule['destination_link']})
+ if not dest_obj and rule['return_type'] == 'REGULAR':
+ module.fail_json(msg='destination_link %s does not exist' % rule['destination_link'])
+
+ tf_rule = dict(
+ dest_type=rule['dest_type'],
+ destination_link=dest_obj[0]['_ref'] if dest_obj else None,
+ return_type=rule['return_type']
+ )
+
+ if rule['sources']:
+ tf_rule['sources'] = sources_transform(rule['sources'], module)
+
+ rule_list.append(tf_rule)
+ return rule_list
+
+ source_spec = dict(
+ source_op=dict(choices=['IS', 'IS_NOT']),
+ source_type=dict(required=True, choices=['CITY', 'CONTINENT', 'COUNTRY', 'EA0', 'EA1', 'EA2', 'EA3', 'SUBDIVISION', 'SUBNET']),
+ source_value=dict(required=True, type='str')
+ )
+
+ rule_spec = dict(
+ dest_type=dict(required=True, choices=['POOL', 'SERVER']),
+ destination_link=dict(type='str'),
+ return_type=dict(default='REGULAR', choices=['NOERR', 'NXDOMAIN', 'REGULAR']),
+ sources=dict(type='list', elements='dict', options=source_spec)
+ )
+
+ ib_spec = dict(
+ name=dict(required=True, ib_req=True),
+
+ rules=dict(type='list', elements='dict', options=rule_spec, transform=rules_transform),
+
+ extattrs=dict(type='dict'),
+ comment=dict(),
+ )
+
+ argument_spec = dict(
+ provider=dict(required=True),
+ state=dict(default='present', choices=['present', 'absent'])
+ )
+
+ argument_spec.update(normalize_ib_spec(ib_spec))
+ argument_spec.update(WapiModule.provider_spec)
+
+ module = AnsibleModule(argument_spec=argument_spec,
+ supports_check_mode=True)
+
+ wapi = WapiModule(module)
+ result = wapi.run(NIOS_DTC_TOPOLOGY, ib_spec)
+
+ module.exit_json(**result)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/ansible_collections/infoblox/nios_modules/requirements.txt b/ansible_collections/infoblox/nios_modules/requirements.txt
index be6114543..886ac909a 100644
--- a/ansible_collections/infoblox/nios_modules/requirements.txt
+++ b/ansible_collections/infoblox/nios_modules/requirements.txt
@@ -1 +1 @@
-infoblox-client
+infoblox-client==0.6.0 \ No newline at end of file
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_a_record/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_a_record/tasks/main.yml
index b3fa8014d..0955a39f4 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_a_record/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_a_record/tasks/main.yml
@@ -1 +1 @@
-- include: nios_a_record_idempotence.yml
+- include_tasks: nios_a_record_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_aaaa_record/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_aaaa_record/tasks/main.yml
index 2fec2adb2..9096b63d8 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_aaaa_record/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_aaaa_record/tasks/main.yml
@@ -1 +1 @@
-- include: nios_aaaa_record_idempotence.yml
+- include_tasks: nios_aaaa_record_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_cname_record/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_cname_record/tasks/main.yml
index b30f250a5..df8ff758d 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_cname_record/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_cname_record/tasks/main.yml
@@ -1 +1 @@
-- include: nios_cname_record_idempotence.yml
+- include_tasks: nios_cname_record_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dns_view/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dns_view/tasks/main.yml
index 1eb9c07ab..2b9ca3a01 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dns_view/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dns_view/tasks/main.yml
@@ -1 +1 @@
-- include: nios_dns_view_idempotence.yml
+- include_tasks: nios_dns_view_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/aliases b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/aliases
new file mode 100644
index 000000000..b3138dc76
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/aliases
@@ -0,0 +1,3 @@
+shippable/cloud/group1
+cloud/nios
+destructive
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/defaults/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/defaults/main.yaml
new file mode 100644
index 000000000..9ef5ba516
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/defaults/main.yaml
@@ -0,0 +1,3 @@
+---
+testcase: "*"
+test_items: []
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/meta/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/meta/main.yaml
new file mode 100644
index 000000000..1b01a972f
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/meta/main.yaml
@@ -0,0 +1,2 @@
+dependencies:
+ - prepare_nios_tests
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/tasks/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/tasks/main.yaml
new file mode 100644
index 000000000..f774bfbfb
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/tasks/main.yaml
@@ -0,0 +1 @@
+- include_tasks: nios_dtc_monitor_http_idempotence.yaml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/tasks/nios_dtc_monitor_http_idempotence.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/tasks/nios_dtc_monitor_http_idempotence.yaml
new file mode 100644
index 000000000..8b3a4f404
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_http/tasks/nios_dtc_monitor_http_idempotence.yaml
@@ -0,0 +1,75 @@
+- name: Clean up the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: present
+ provider: "{{ nios_provider }}"
+
+- name: Clean up the DTC HTTPS monitor
+ infoblox.nios_modules.nios_dtc_monitor_http:
+ name: https_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create a DTC HTTPS monitor
+ infoblox.nios_modules.nios_dtc_monitor_http:
+ name: https_monitor
+ port: 443
+ secure: true
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_http_create1
+
+- name: Recreate a DTC HTTPS monitor
+ infoblox.nios_modules.nios_dtc_monitor_http:
+ name: https_monitor
+ port: 443
+ secure: true
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_http_create2
+
+- name: Add a comment to an existing DTC HTTPS monitor
+ infoblox.nios_modules.nios_dtc_monitor_http:
+ name: https_monitor
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_http_update1
+
+- name: Readd a comment to an existing DTC HTTPS monitor
+ infoblox.nios_modules.nios_dtc_monitor_http:
+ name: https_monitor
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_http_update2
+
+- name: Remove a DTC HTTPS monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_http:
+ name: https_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_http_delete1
+
+- name: Reremove a DTC HTTPS monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_http:
+ name: https_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_http_delete2
+
+- name: Verify outcomes
+ ansible.builtin.assert:
+ that:
+ - "dtc_monitor_http_create1.changed"
+ - "not dtc_monitor_http_create2.changed"
+ - "dtc_monitor_http_update1.changed"
+ - "not dtc_monitor_http_update2.changed"
+ - "dtc_monitor_http_delete1.changed"
+ - "not dtc_monitor_http_delete2.changed"
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/aliases b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/aliases
new file mode 100644
index 000000000..b3138dc76
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/aliases
@@ -0,0 +1,3 @@
+shippable/cloud/group1
+cloud/nios
+destructive
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/defaults/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/defaults/main.yaml
new file mode 100644
index 000000000..9ef5ba516
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/defaults/main.yaml
@@ -0,0 +1,3 @@
+---
+testcase: "*"
+test_items: []
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/meta/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/meta/main.yaml
new file mode 100644
index 000000000..1b01a972f
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/meta/main.yaml
@@ -0,0 +1,2 @@
+dependencies:
+ - prepare_nios_tests
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/tasks/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/tasks/main.yaml
new file mode 100644
index 000000000..28bf85bde
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/tasks/main.yaml
@@ -0,0 +1 @@
+- include_tasks: nios_dtc_monitor_icmp_idempotence.yaml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/tasks/nios_dtc_monitor_icmp_idempotence.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/tasks/nios_dtc_monitor_icmp_idempotence.yaml
new file mode 100644
index 000000000..984aa59a8
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_icmp/tasks/nios_dtc_monitor_icmp_idempotence.yaml
@@ -0,0 +1,71 @@
+- name: Clean up the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: present
+ provider: "{{ nios_provider }}"
+
+- name: Clean up the DTC ICMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_icmp:
+ name: icmp_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create a DTC ICMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_icmp:
+ name: icmp_monitor
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_icmp_create1
+
+- name: Recreate a DTC ICMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_icmp:
+ name: icmp_monitor
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_icmp_create2
+
+- name: Add a comment to an existing DTC ICMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_icmp:
+ name: icmp_monitor
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_icmp_update1
+
+- name: Readd a comment to an existing DTC ICMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_icmp:
+ name: icmp_monitor
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_icmp_update2
+
+- name: Remove a DTC ICMP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_icmp:
+ name: icmp_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_icmp_delete1
+
+- name: Reremove a DTC ICMP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_icmp:
+ name: icmp_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_icmp_delete2
+
+- name: Verify outcomes
+ ansible.builtin.assert:
+ that:
+ - "dtc_monitor_icmp_create1.changed"
+ - "not dtc_monitor_icmp_create2.changed"
+ - "dtc_monitor_icmp_update1.changed"
+ - "not dtc_monitor_icmp_update2.changed"
+ - "dtc_monitor_icmp_delete1.changed"
+ - "not dtc_monitor_icmp_delete2.changed"
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/aliases b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/aliases
new file mode 100644
index 000000000..b3138dc76
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/aliases
@@ -0,0 +1,3 @@
+shippable/cloud/group1
+cloud/nios
+destructive
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/defaults/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/defaults/main.yaml
new file mode 100644
index 000000000..9ef5ba516
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/defaults/main.yaml
@@ -0,0 +1,3 @@
+---
+testcase: "*"
+test_items: []
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/meta/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/meta/main.yaml
new file mode 100644
index 000000000..1b01a972f
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/meta/main.yaml
@@ -0,0 +1,2 @@
+dependencies:
+ - prepare_nios_tests
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/tasks/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/tasks/main.yaml
new file mode 100644
index 000000000..55829c8dc
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/tasks/main.yaml
@@ -0,0 +1 @@
+- include_tasks: nios_dtc_monitor_pdp_idempotence.yaml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/tasks/nios_dtc_monitor_pdp_idempotence.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/tasks/nios_dtc_monitor_pdp_idempotence.yaml
new file mode 100644
index 000000000..022f12d76
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_pdp/tasks/nios_dtc_monitor_pdp_idempotence.yaml
@@ -0,0 +1,71 @@
+- name: Clean up the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: present
+ provider: "{{ nios_provider }}"
+
+- name: Clean up the DTC PDP monitor
+ infoblox.nios_modules.nios_dtc_monitor_pdp:
+ name: pdp_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create a DTC PDP monitor
+ infoblox.nios_modules.nios_dtc_monitor_pdp:
+ name: pdp_monitor
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_pdp_create1
+
+- name: Recreate a DTC PDP monitor
+ infoblox.nios_modules.nios_dtc_monitor_pdp:
+ name: pdp_monitor
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_pdp_create2
+
+- name: Add a comment to an existing DTC PDP monitor
+ infoblox.nios_modules.nios_dtc_monitor_pdp:
+ name: pdp_monitor
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_pdp_update1
+
+- name: Readd a comment to an existing DTC PDP monitor
+ infoblox.nios_modules.nios_dtc_monitor_pdp:
+ name: pdp_monitor
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_pdp_update2
+
+- name: Remove a DTC PDP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_pdp:
+ name: pdp_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_pdp_delete1
+
+- name: Reremove a DTC PDP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_pdp:
+ name: pdp_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_pdp_delete2
+
+- name: Verify outcomes
+ ansible.builtin.assert:
+ that:
+ - "dtc_monitor_pdp_create1.changed"
+ - "not dtc_monitor_pdp_create2.changed"
+ - "dtc_monitor_pdp_update1.changed"
+ - "not dtc_monitor_pdp_update2.changed"
+ - "dtc_monitor_pdp_delete1.changed"
+ - "not dtc_monitor_pdp_delete2.changed"
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/aliases b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/aliases
new file mode 100644
index 000000000..b3138dc76
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/aliases
@@ -0,0 +1,3 @@
+shippable/cloud/group1
+cloud/nios
+destructive
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/defaults/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/defaults/main.yaml
new file mode 100644
index 000000000..9ef5ba516
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/defaults/main.yaml
@@ -0,0 +1,3 @@
+---
+testcase: "*"
+test_items: []
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/meta/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/meta/main.yaml
new file mode 100644
index 000000000..1b01a972f
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/meta/main.yaml
@@ -0,0 +1,2 @@
+dependencies:
+ - prepare_nios_tests
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/tasks/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/tasks/main.yaml
new file mode 100644
index 000000000..e5e1b33f5
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/tasks/main.yaml
@@ -0,0 +1 @@
+- include_tasks: nios_dtc_monitor_sip_idempotence.yaml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/tasks/nios_dtc_monitor_sip_idempotence.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/tasks/nios_dtc_monitor_sip_idempotence.yaml
new file mode 100644
index 000000000..68187a12b
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_sip/tasks/nios_dtc_monitor_sip_idempotence.yaml
@@ -0,0 +1,71 @@
+- name: Clean up the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: present
+ provider: "{{ nios_provider }}"
+
+- name: Clean up the DTC SIP monitor
+ infoblox.nios_modules.nios_dtc_monitor_sip:
+ name: sip_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create a DTC SIP monitor
+ infoblox.nios_modules.nios_dtc_monitor_sip:
+ name: sip_monitor
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_sip_create1
+
+- name: Recreate a DTC SIP monitor
+ infoblox.nios_modules.nios_dtc_monitor_sip:
+ name: sip_monitor
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_sip_create2
+
+- name: Add a comment to an existing DTC SIP monitor
+ infoblox.nios_modules.nios_dtc_monitor_sip:
+ name: sip_monitor
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_sip_update1
+
+- name: Readd a comment to an existing DTC SIP monitor
+ infoblox.nios_modules.nios_dtc_monitor_sip:
+ name: sip_monitor
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_sip_update2
+
+- name: Remove a DTC SIP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_sip:
+ name: sip_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_sip_delete1
+
+- name: Reremove a DTC SIP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_sip:
+ name: sip_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_sip_delete2
+
+- name: Verify outcomes
+ ansible.builtin.assert:
+ that:
+ - "dtc_monitor_sip_create1.changed"
+ - "not dtc_monitor_sip_create2.changed"
+ - "dtc_monitor_sip_update1.changed"
+ - "not dtc_monitor_sip_update2.changed"
+ - "dtc_monitor_sip_delete1.changed"
+ - "not dtc_monitor_sip_delete2.changed"
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/aliases b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/aliases
new file mode 100644
index 000000000..b3138dc76
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/aliases
@@ -0,0 +1,3 @@
+shippable/cloud/group1
+cloud/nios
+destructive
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/defaults/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/defaults/main.yaml
new file mode 100644
index 000000000..9ef5ba516
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/defaults/main.yaml
@@ -0,0 +1,3 @@
+---
+testcase: "*"
+test_items: []
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/meta/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/meta/main.yaml
new file mode 100644
index 000000000..1b01a972f
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/meta/main.yaml
@@ -0,0 +1,2 @@
+dependencies:
+ - prepare_nios_tests
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/tasks/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/tasks/main.yaml
new file mode 100644
index 000000000..02c852d38
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/tasks/main.yaml
@@ -0,0 +1 @@
+- include_tasks: nios_dtc_monitor_snmp_idempotence.yaml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/tasks/nios_dtc_monitor_snmp_idempotence.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/tasks/nios_dtc_monitor_snmp_idempotence.yaml
new file mode 100644
index 000000000..12b560470
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_snmp/tasks/nios_dtc_monitor_snmp_idempotence.yaml
@@ -0,0 +1,71 @@
+- name: Clean up the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: present
+ provider: "{{ nios_provider }}"
+
+- name: Clean up the DTC SNMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_snmp:
+ name: snmp_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create a DTC SNMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_snmp:
+ name: snmp_monitor
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_snmp_create1
+
+- name: Recreate a DTC SNMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_snmp:
+ name: snmp_monitor
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_snmp_create2
+
+- name: Add a comment to an existing DTC SNMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_snmp:
+ name: snmp_monitor
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_snmp_update1
+
+- name: Readd a comment to an existing DTC SNMP monitor
+ infoblox.nios_modules.nios_dtc_monitor_snmp:
+ name: snmp_monitor
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_snmp_update2
+
+- name: Remove a DTC SNMP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_snmp:
+ name: snmp_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_snmp_delete1
+
+- name: Reremove a DTC SNMP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_snmp:
+ name: snmp_monitor
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_snmp_delete2
+
+- name: Verify outcomes
+ ansible.builtin.assert:
+ that:
+ - "dtc_monitor_snmp_create1.changed"
+ - "not dtc_monitor_snmp_create2.changed"
+ - "dtc_monitor_snmp_update1.changed"
+ - "not dtc_monitor_snmp_update2.changed"
+ - "dtc_monitor_snmp_delete1.changed"
+ - "not dtc_monitor_snmp_delete2.changed"
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/aliases b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/aliases
new file mode 100644
index 000000000..b3138dc76
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/aliases
@@ -0,0 +1,3 @@
+shippable/cloud/group1
+cloud/nios
+destructive
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/defaults/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/defaults/main.yaml
new file mode 100644
index 000000000..9ef5ba516
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/defaults/main.yaml
@@ -0,0 +1,3 @@
+---
+testcase: "*"
+test_items: []
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/meta/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/meta/main.yaml
new file mode 100644
index 000000000..1b01a972f
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/meta/main.yaml
@@ -0,0 +1,2 @@
+dependencies:
+ - prepare_nios_tests
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/tasks/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/tasks/main.yaml
new file mode 100644
index 000000000..e24c82651
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/tasks/main.yaml
@@ -0,0 +1 @@
+- include_tasks: nios_dtc_monitor_tcp_idempotence.yaml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/tasks/nios_dtc_monitor_tcp_idempotence.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/tasks/nios_dtc_monitor_tcp_idempotence.yaml
new file mode 100644
index 000000000..1c025b93b
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_monitor_tcp/tasks/nios_dtc_monitor_tcp_idempotence.yaml
@@ -0,0 +1,78 @@
+- name: Clean up the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: present
+ provider: "{{ nios_provider }}"
+
+- name: Clean up the DTC TCP monitor
+ infoblox.nios_modules.nios_dtc_monitor_tcp:
+ name: tcp_monitor
+ port: 8080
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create a DTC TCP monitor
+ infoblox.nios_modules.nios_dtc_monitor_tcp:
+ name: tcp_monitor
+ port: 8080
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_tcp_create1
+
+- name: Recreate a DTC TCP monitor
+ infoblox.nios_modules.nios_dtc_monitor_tcp:
+ name: tcp_monitor
+ port: 8080
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_tcp_create2
+
+- name: Add a comment to an existing DTC TCP monitor
+ infoblox.nios_modules.nios_dtc_monitor_tcp:
+ name: tcp_monitor
+ port: 8080
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_tcp_update1
+
+- name: Readd a comment to an existing DTC TCP monitor
+ infoblox.nios_modules.nios_dtc_monitor_tcp:
+ name: tcp_monitor
+ port: 8080
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_tcp_update2
+
+- name: Remove a DTC TCP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_tcp:
+ name: tcp_monitor
+ port: 8080
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_tcp_delete1
+
+- name: Reremove a DTC TCP monitor from the system
+ infoblox.nios_modules.nios_dtc_monitor_tcp:
+ name: tcp_monitor
+ port: 8080
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_monitor_tcp_delete2
+
+- name: Verify outcomes
+ ansible.builtin.assert:
+ that:
+ - "dtc_monitor_tcp_create1.changed"
+ - "not dtc_monitor_tcp_create2.changed"
+ - "dtc_monitor_tcp_update1.changed"
+ - "not dtc_monitor_tcp_update2.changed"
+ - "dtc_monitor_tcp_delete1.changed"
+ - "not dtc_monitor_tcp_delete2.changed"
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/aliases b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/aliases
new file mode 100644
index 000000000..b3138dc76
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/aliases
@@ -0,0 +1,3 @@
+shippable/cloud/group1
+cloud/nios
+destructive
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/defaults/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/defaults/main.yaml
new file mode 100644
index 000000000..9ef5ba516
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/defaults/main.yaml
@@ -0,0 +1,3 @@
+---
+testcase: "*"
+test_items: []
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/meta/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/meta/main.yaml
new file mode 100644
index 000000000..1b01a972f
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/meta/main.yaml
@@ -0,0 +1,2 @@
+dependencies:
+ - prepare_nios_tests
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/tasks/main.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/tasks/main.yaml
new file mode 100644
index 000000000..8873ef552
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/tasks/main.yaml
@@ -0,0 +1 @@
+- include_tasks: nios_dtc_topology_idempotence.yaml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/tasks/nios_dtc_topology_idempotence.yaml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/tasks/nios_dtc_topology_idempotence.yaml
new file mode 100644
index 000000000..a24a9c31a
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_dtc_topology/tasks/nios_dtc_topology_idempotence.yaml
@@ -0,0 +1,122 @@
+- name: Clean up the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create the parent object
+ infoblox.nios_modules.nios_zone:
+ name: ansible.com
+ state: present
+ provider: "{{ nios_provider }}"
+
+- name: Clean up the DTC Topology
+ infoblox.nios_modules.nios_dtc_topology:
+ name: a_topology
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Clean up the DTC pool
+ infoblox.nios_modules.nios_dtc_pool:
+ name: web_pool
+ lb_preferred_method: ROUND_ROBIN
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Clean up the DTC server
+ infoblox.nios_modules.nios_dtc_server:
+ name: Server1
+ host: 192.168.10.1
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Create DTC server
+ infoblox.nios_modules.nios_dtc_server:
+ name: Server1
+ host: 192.168.10.1
+ comment: Created with Ansible
+ state: present
+ provider: "{{ nios_provider }}"
+
+- name: Create DTC Pool
+ infoblox.nios_modules.nios_dtc_pool:
+ name: web_pool
+ lb_preferred_method: ROUND_ROBIN
+ servers:
+ - server: Server1
+ ratio: 1
+ comment: Created with Ansible
+ state: present
+ provider: "{{ nios_provider }}"
+
+- name: Create a DTC Topology
+ infoblox.nios_modules.nios_dtc_topology:
+ name: a_topology
+ rules:
+ - dest_type: POOL
+ destination_link: web_pool
+ return_type: REGULAR
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_topology_create1
+
+- name: Recreate a DTC Topology
+ infoblox.nios_modules.nios_dtc_topology:
+ name: a_topology
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_topology_create2
+
+- name: Add a comment to an existing DTC Topology
+ infoblox.nios_modules.nios_dtc_topology:
+ name: a_topology
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_topology_update1
+
+- name: Readd a comment to an existing DTC Topology
+ infoblox.nios_modules.nios_dtc_topology:
+ name: a_topology
+ comment: this is a test comment
+ state: present
+ provider: "{{ nios_provider }}"
+ register: dtc_topology_update2
+
+- name: Remove a DTC Topology
+ infoblox.nios_modules.nios_dtc_topology:
+ name: a_topology
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_topology_delete1
+
+- name: Reremove a DTC Topology
+ infoblox.nios_modules.nios_dtc_topology:
+ name: a_topology
+ state: absent
+ provider: "{{ nios_provider }}"
+ register: dtc_topology_delete2
+
+- name: Remove the DTC pool
+ infoblox.nios_modules.nios_dtc_pool:
+ name: web_pool
+ lb_preferred_method: ROUND_ROBIN
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Remove the DTC server
+ infoblox.nios_modules.nios_dtc_server:
+ name: Server1
+ host: 192.168.10.1
+ state: absent
+ provider: "{{ nios_provider }}"
+
+- name: Verify outcomes
+ ansible.builtin.assert:
+ that:
+ - "dtc_topology_create1.changed"
+ - "not dtc_topology_create2.changed"
+ - "dtc_topology_update1.changed"
+ - "not dtc_topology_update2.changed"
+ - "dtc_topology_delete1.changed"
+ - "not dtc_topology_delete2.changed"
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_host_record/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_host_record/tasks/main.yml
index 2f1dcc55e..3c626f557 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_host_record/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_host_record/tasks/main.yml
@@ -1 +1 @@
-- include: nios_host_record_idempotence.yml
+- include_tasks: nios_host_record_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_mx_record/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_mx_record/tasks/main.yml
index fe687173b..ebffb41ac 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_mx_record/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_mx_record/tasks/main.yml
@@ -1 +1 @@
-- include: nios_mx_record_idempotence.yml
+- include_tasks: nios_mx_record_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_naptr_record/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_naptr_record/tasks/main.yml
index a22a8018c..ed94e8a3f 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_naptr_record/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_naptr_record/tasks/main.yml
@@ -1 +1 @@
-- include: nios_naptr_record_idempotence.yml
+- include_tasks: nios_naptr_record_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_network/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_network/tasks/main.yml
index c147af8f4..040cb8a8e 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_network/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_network/tasks/main.yml
@@ -1 +1 @@
-- include: nios_network_idempotence.yml
+- include_tasks: nios_network_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_network_view/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_network_view/tasks/main.yml
index 97e87148b..0acf4a4c3 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_network_view/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_network_view/tasks/main.yml
@@ -1 +1 @@
-- include: nios_network_view_idempotence.yml
+- include_tasks: nios_network_view_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_ptr_record/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_ptr_record/tasks/main.yml
index ec33e8f53..29fbb5fe5 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_ptr_record/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_ptr_record/tasks/main.yml
@@ -1 +1 @@
-- include: nios_ptr_record_idempotence.yml
+- include_tasks: nios_ptr_record_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_srv_record/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_srv_record/tasks/main.yml
index 1c8476732..4e4dd1660 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_srv_record/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_srv_record/tasks/main.yml
@@ -1 +1 @@
-- include: nios_srv_record_idempotence.yml
+- include_tasks: nios_srv_record_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_txt_record/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_txt_record/tasks/main.yml
index e15b4c55d..0acbc091f 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_txt_record/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_txt_record/tasks/main.yml
@@ -1 +1 @@
-- include: nios_txt_record_idempotence.yml
+- include_tasks: nios_txt_record_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_zone/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_zone/tasks/main.yml
index f066edcdb..cb335970a 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_zone/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/nios_zone/tasks/main.yml
@@ -1 +1 @@
-- include: nios_zone_idempotence.yml
+- include_tasks: nios_zone_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/integration/targets/prepare_nios_tests/tasks/main.yml b/ansible_collections/infoblox/nios_modules/tests/integration/targets/prepare_nios_tests/tasks/main.yml
index 2a3092f3a..e3c03fb33 100644
--- a/ansible_collections/infoblox/nios_modules/tests/integration/targets/prepare_nios_tests/tasks/main.yml
+++ b/ansible_collections/infoblox/nios_modules/tests/integration/targets/prepare_nios_tests/tasks/main.yml
@@ -1 +1 @@
-- include: prepare_nios_tests_idempotence.yml
+- include_tasks: prepare_nios_tests_idempotence.yml
diff --git a/ansible_collections/infoblox/nios_modules/tests/requirements.txt b/ansible_collections/infoblox/nios_modules/tests/requirements.txt
index 7f835e9f4..708b417d1 100644
--- a/ansible_collections/infoblox/nios_modules/tests/requirements.txt
+++ b/ansible_collections/infoblox/nios_modules/tests/requirements.txt
@@ -4,6 +4,6 @@ pytest-xdist
mock
pytest-mock
pytest-cov==2.8.0
-coverage
+coverage==7.3.2
pygobject
launchpadlib
diff --git a/ansible_collections/infoblox/nios_modules/tests/unit/plugins/module_utils/test_api.py b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/module_utils/test_api.py
index 9636c05bb..18d02fafa 100644
--- a/ansible_collections/infoblox/nios_modules/tests/unit/plugins/module_utils/test_api.py
+++ b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/module_utils/test_api.py
@@ -5,8 +5,10 @@ from __future__ import absolute_import, division, print_function
__metaclass__ = type
import copy
-
-from ansible_collections.infoblox.nios_modules.tests.unit.compat import unittest
+try:
+ from ansible_collections.infoblox.nios_modules.tests.unit.compat import unittest
+except ImportError:
+ import unittest
from ansible_collections.infoblox.nios_modules.tests.unit.compat.mock import patch, MagicMock, Mock
from ansible_collections.infoblox.nios_modules.plugins.module_utils import api
diff --git a/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_http.py b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_http.py
new file mode 100644
index 000000000..d053f0bfe
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_http.py
@@ -0,0 +1,136 @@
+# 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
+
+
+from ansible_collections.infoblox.nios_modules.plugins.modules import nios_dtc_monitor_http
+from ansible_collections.infoblox.nios_modules.plugins.module_utils import api
+from ansible_collections.infoblox.nios_modules.tests.unit.compat.mock import patch, MagicMock, Mock
+from .test_nios_module import TestNiosModule, load_fixture
+
+
+class TestNiosDtcHttpMonitorModule(TestNiosModule):
+
+ module = nios_dtc_monitor_http
+
+ def setUp(self):
+ super(TestNiosDtcHttpMonitorModule, self).setUp()
+ self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule')
+ self.module.check_mode = False
+ self.module.params = {'provider': None}
+ self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule')
+ self.exec_command = self.mock_wapi.start()
+ self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_http.WapiModule.run')
+ self.mock_wapi_run.start()
+ self.load_config = self.mock_wapi_run.start()
+ self.mock_check_type_dict = patch('ansible.module_utils.common.validation.check_type_dict')
+ self.mock_check_type_dict_obj = self.mock_check_type_dict.start()
+
+ def tearDown(self):
+ super(TestNiosDtcHttpMonitorModule, self).tearDown()
+ self.mock_wapi.stop()
+ self.mock_wapi_run.stop()
+ self.mock_check_type_dict.stop()
+
+ def _get_wapi(self, test_object):
+ wapi = api.WapiModule(self.module)
+ wapi.get_object = Mock(name='get_object', return_value=test_object)
+ wapi.create_object = Mock(name='create_object')
+ wapi.update_object = Mock(name='update_object')
+ wapi.delete_object = Mock(name='delete_object')
+ return wapi
+
+ def load_fixtures(self, commands=None):
+ self.exec_command.return_value = (0, load_fixture('nios_result.txt').strip(), None)
+ self.load_config.return_value = dict(diff=None, session='session')
+
+ def test_nios_dtc_monitor_http_create(self):
+ self.module.params = {'provider': None, 'state': 'present', 'name': 'https_monitor',
+ 'port': 443, 'secure': True, 'comment': None, 'extattrs': None}
+
+ test_object = None
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "port": {},
+ "secure": {},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.create_object.assert_called_once_with('testobject', {'name': 'https_monitor',
+ 'port': 443, 'secure': True})
+
+ def test_nios_dtc_monitor_http_update_comment(self):
+ self.module.params = {'provider': None, 'state': 'present', 'name': 'https_monitor',
+ 'comment': 'updated comment', 'extattrs': None}
+
+ test_object = [
+ {
+ "comment": "test comment",
+ "_ref": "dtc:monitor:http/ZG5zLm5ldHdvcmtfdmlldyQw:default/true",
+ "name": "https_monitor",
+ "port": 443,
+ "secure": True,
+ "extattrs": {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+
+ def test_nios_dtc_monitor_http_remove(self):
+ self.module.params = {'provider': None, 'state': 'absent', 'name': 'https_monitor',
+ 'comment': None, 'extattrs': None}
+
+ ref = "dtc:monitor:http/ZG5zLm5ldHdvcmtfdmlldyQw:default/false"
+
+ test_object = [
+ {
+ "comment": "test comment",
+ "_ref": ref,
+ "name": "https_monitor",
+ "port": 443,
+ "secure": True,
+ "extattrs": {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.delete_object.assert_called_once_with(ref)
diff --git a/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py
new file mode 100644
index 000000000..fb4b300dd
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_icmp.py
@@ -0,0 +1,129 @@
+# 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
+
+
+from ansible_collections.infoblox.nios_modules.plugins.modules import nios_dtc_monitor_icmp
+from ansible_collections.infoblox.nios_modules.plugins.module_utils import api
+from ansible_collections.infoblox.nios_modules.tests.unit.compat.mock import patch, MagicMock, Mock
+from .test_nios_module import TestNiosModule, load_fixture
+
+
+class TestNiosDtcIcmpMonitorModule(TestNiosModule):
+
+ module = nios_dtc_monitor_icmp
+
+ def setUp(self):
+ super(TestNiosDtcIcmpMonitorModule, self).setUp()
+ self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule')
+ self.module.check_mode = False
+ self.module.params = {'provider': None}
+ self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule')
+ self.exec_command = self.mock_wapi.start()
+ self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_icmp.WapiModule.run')
+ self.mock_wapi_run.start()
+ self.load_config = self.mock_wapi_run.start()
+ self.mock_check_type_dict = patch('ansible.module_utils.common.validation.check_type_dict')
+ self.mock_check_type_dict_obj = self.mock_check_type_dict.start()
+
+ def tearDown(self):
+ super(TestNiosDtcIcmpMonitorModule, self).tearDown()
+ self.mock_wapi.stop()
+ self.mock_wapi_run.stop()
+ self.mock_check_type_dict.stop()
+
+ def _get_wapi(self, test_object):
+ wapi = api.WapiModule(self.module)
+ wapi.get_object = Mock(name='get_object', return_value=test_object)
+ wapi.create_object = Mock(name='create_object')
+ wapi.update_object = Mock(name='update_object')
+ wapi.delete_object = Mock(name='delete_object')
+ return wapi
+
+ def load_fixtures(self, commands=None):
+ self.exec_command.return_value = (0, load_fixture('nios_result.txt').strip(), None)
+ self.load_config.return_value = dict(diff=None, session='session')
+
+ def test_nios_dtc_monitor_icmp_create(self):
+ self.module.params = {'provider': None, 'state': 'present', 'name': 'icmp_monitor',
+ 'comment': None, 'extattrs': None}
+
+ test_object = None
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.create_object.assert_called_once_with('testobject', {'name': 'icmp_monitor'})
+
+ def test_nios_dtc_monitor_icmp_update_comment(self):
+ self.module.params = {'provider': None, 'state': 'present', 'name': 'icmp_monitor',
+ 'comment': 'updated comment', 'extattrs': None}
+
+ test_object = [
+ {
+ "comment": "test comment",
+ "_ref": "dtc:monitor:icmp/ZG5zLm5ldHdvcmtfdmlldyQw:default/true",
+ "name": "icmp_monitor",
+ "extattrs": {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+
+ def test_nios_dtc_monitor_icmp_remove(self):
+ self.module.params = {'provider': None, 'state': 'absent', 'name': 'icmp_monitor',
+ 'comment': None, 'extattrs': None}
+
+ ref = "dtc:monitor:icmp/ZG5zLm5ldHdvcmtfdmlldyQw:default/false"
+
+ test_object = [
+ {
+ "comment": "test comment",
+ "_ref": ref,
+ "name": "icmp_monitor",
+ "extattrs": {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.delete_object.assert_called_once_with(ref)
diff --git a/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py
new file mode 100644
index 000000000..802637840
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_pdp.py
@@ -0,0 +1,131 @@
+# 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
+
+
+from ansible_collections.infoblox.nios_modules.plugins.modules import nios_dtc_monitor_pdp
+from ansible_collections.infoblox.nios_modules.plugins.module_utils import api
+from ansible_collections.infoblox.nios_modules.tests.unit.compat.mock import patch, MagicMock, Mock
+from .test_nios_module import TestNiosModule, load_fixture
+
+
+class TestNiosDtcTcpMonitorModule(TestNiosModule):
+
+ module = nios_dtc_monitor_pdp
+
+ def setUp(self):
+ super(TestNiosDtcTcpMonitorModule, self).setUp()
+ self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule')
+ self.module.check_mode = False
+ self.module.params = {'provider': None}
+ self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule')
+ self.exec_command = self.mock_wapi.start()
+ self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_pdp.WapiModule.run')
+ self.mock_wapi_run.start()
+ self.load_config = self.mock_wapi_run.start()
+ self.mock_check_type_dict = patch('ansible.module_utils.common.validation.check_type_dict')
+ self.mock_check_type_dict_obj = self.mock_check_type_dict.start()
+
+ def tearDown(self):
+ super(TestNiosDtcTcpMonitorModule, self).tearDown()
+ self.mock_wapi.stop()
+ self.mock_wapi_run.stop()
+ self.mock_check_type_dict.stop()
+
+ def _get_wapi(self, test_object):
+ wapi = api.WapiModule(self.module)
+ wapi.get_object = Mock(name='get_object', return_value=test_object)
+ wapi.create_object = Mock(name='create_object')
+ wapi.update_object = Mock(name='update_object')
+ wapi.delete_object = Mock(name='delete_object')
+ return wapi
+
+ def load_fixtures(self, commands=None):
+ self.exec_command.return_value = (0, load_fixture('nios_result.txt').strip(), None)
+ self.load_config.return_value = dict(diff=None, session='session')
+
+ def test_nios_dtc_monitor_pdp_create(self):
+ self.module.params = {'provider': None, 'state': 'present', 'name': 'pdp_monitor',
+ 'comment': None, 'extattrs': None}
+
+ test_object = None
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.create_object.assert_called_once_with('testobject', {'name': 'pdp_monitor'})
+
+ def test_nios_dtc_monitor_pdp_update_comment(self):
+ self.module.params = {'provider': None, 'state': 'present', 'name': 'pdp_monitor',
+ 'comment': 'updated comment', 'extattrs': None}
+
+ test_object = [
+ {
+ "comment": "test comment",
+ "_ref": "dtc:monitor:pdp/ZG5zLm5ldHdvcmtfdmlldyQw:default/true",
+ "name": "pdp_monitor",
+ "port": 2123,
+ "extattrs": {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+
+ def test_nios_dtc_monitor_pdp_remove(self):
+ self.module.params = {'provider': None, 'state': 'absent', 'name': 'pdp_monitor',
+ 'comment': None, 'extattrs': None}
+
+ ref = "dtc:monitor:pdp/ZG5zLm5ldHdvcmtfdmlldyQw:default/false"
+
+ test_object = [
+ {
+ "comment": "test comment",
+ "_ref": ref,
+ "name": "pdp_monitor",
+ "port": 2123,
+ "extattrs": {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.delete_object.assert_called_once_with(ref)
diff --git a/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py
new file mode 100644
index 000000000..90b86bfa5
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_sip.py
@@ -0,0 +1,129 @@
+# 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
+
+
+from ansible_collections.infoblox.nios_modules.plugins.modules import nios_dtc_monitor_sip
+from ansible_collections.infoblox.nios_modules.plugins.module_utils import api
+from ansible_collections.infoblox.nios_modules.tests.unit.compat.mock import patch, MagicMock, Mock
+from .test_nios_module import TestNiosModule, load_fixture
+
+
+class TestNiosDtcSipMonitorModule(TestNiosModule):
+
+ module = nios_dtc_monitor_sip
+
+ def setUp(self):
+ super(TestNiosDtcSipMonitorModule, self).setUp()
+ self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule')
+ self.module.check_mode = False
+ self.module.params = {'provider': None}
+ self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule')
+ self.exec_command = self.mock_wapi.start()
+ self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_sip.WapiModule.run')
+ self.mock_wapi_run.start()
+ self.load_config = self.mock_wapi_run.start()
+ self.mock_check_type_dict = patch('ansible.module_utils.common.validation.check_type_dict')
+ self.mock_check_type_dict_obj = self.mock_check_type_dict.start()
+
+ def tearDown(self):
+ super(TestNiosDtcSipMonitorModule, self).tearDown()
+ self.mock_wapi.stop()
+ self.mock_wapi_run.stop()
+ self.mock_check_type_dict.stop()
+
+ def _get_wapi(self, test_object):
+ wapi = api.WapiModule(self.module)
+ wapi.get_object = Mock(name='get_object', return_value=test_object)
+ wapi.create_object = Mock(name='create_object')
+ wapi.update_object = Mock(name='update_object')
+ wapi.delete_object = Mock(name='delete_object')
+ return wapi
+
+ def load_fixtures(self, commands=None):
+ self.exec_command.return_value = (0, load_fixture('nios_result.txt').strip(), None)
+ self.load_config.return_value = dict(diff=None, session='session')
+
+ def test_nios_dtc_monitor_sip_create(self):
+ self.module.params = {'provider': None, 'state': 'present', 'name': 'sip_monitor',
+ 'comment': None, 'extattrs': None}
+
+ test_object = None
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.create_object.assert_called_once_with('testobject', {'name': 'sip_monitor'})
+
+ def test_nios_dtc_monitor_sip_update_comment(self):
+ self.module.params = {'provider': None, 'state': 'present', 'name': 'sip_monitor',
+ 'comment': 'updated comment', 'extattrs': None}
+
+ test_object = [
+ {
+ "comment": "test comment",
+ "_ref": "dtc:monitor:sip/ZG5zLm5ldHdvcmtfdmlldyQw:default/true",
+ "name": "sip_monitor",
+ "extattrs": {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+
+ def test_nios_dtc_monitor_sip_remove(self):
+ self.module.params = {'provider': None, 'state': 'absent', 'name': 'sip_monitor',
+ 'comment': None, 'extattrs': None}
+
+ ref = "dtc:monitor:sip/ZG5zLm5ldHdvcmtfdmlldyQw:default/false"
+
+ test_object = [
+ {
+ "comment": "test comment",
+ "_ref": ref,
+ "name": "sip_monitor",
+ "extattrs": {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.delete_object.assert_called_once_with(ref)
diff --git a/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py
new file mode 100644
index 000000000..838a35ebd
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_snmp.py
@@ -0,0 +1,143 @@
+# 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
+
+
+from ansible_collections.infoblox.nios_modules.plugins.modules import nios_dtc_monitor_snmp
+from ansible_collections.infoblox.nios_modules.plugins.module_utils import api
+from ansible_collections.infoblox.nios_modules.tests.unit.compat.mock import patch, MagicMock, Mock
+from .test_nios_module import TestNiosModule, load_fixture
+
+
+class TestNiosDtcSnmpMonitorModule(TestNiosModule):
+
+ module = nios_dtc_monitor_snmp
+
+ def setUp(self):
+ super(TestNiosDtcSnmpMonitorModule, self).setUp()
+ self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule')
+ self.module.check_mode = False
+ self.module.params = {'provider': None}
+ self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule')
+ self.exec_command = self.mock_wapi.start()
+ self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_snmp.WapiModule.run')
+ self.mock_wapi_run.start()
+ self.load_config = self.mock_wapi_run.start()
+ self.mock_check_type_dict = patch('ansible.module_utils.common.validation.check_type_dict')
+ self.mock_check_type_dict_obj = self.mock_check_type_dict.start()
+
+ def tearDown(self):
+ super(TestNiosDtcSnmpMonitorModule, self).tearDown()
+ self.mock_wapi.stop()
+ self.mock_wapi_run.stop()
+ self.mock_check_type_dict.stop()
+
+ def _get_wapi(self, test_object):
+ wapi = api.WapiModule(self.module)
+ wapi.get_object = Mock(name='get_object', return_value=test_object)
+ wapi.create_object = Mock(name='create_object')
+ wapi.update_object = Mock(name='update_object')
+ wapi.delete_object = Mock(name='delete_object')
+ return wapi
+
+ def load_fixtures(self, commands=None):
+ self.exec_command.return_value = (0, load_fixture('nios_result.txt').strip(), None)
+ self.load_config.return_value = dict(diff=None, session='session')
+
+ def test_nios_dtc_monitor_snmp_create(self):
+ self.module.params = {'provider': None, 'state': 'present', 'name': 'snmp_monitor',
+ 'comment': None, 'extattrs': None}
+
+ test_object = None
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.create_object.assert_called_once_with('testobject', {'name': 'snmp_monitor'})
+
+ def test_nios_dtc_monitor_snmp_update_comment(self):
+ self.module.params = {'provider': None, 'state': 'present', 'name': 'snmp_monitor',
+ 'comment': 'updated comment', 'extattrs': None}
+
+ test_object = [
+ {
+ "comment": "test comment",
+ "_ref": "dtc:monitor:snmp/ZG5zLm5ldHdvcmtfdmlldyQw:default/true",
+ "name": "snmp_monitor",
+ "port": 161,
+ "version": "V2C",
+ "community": "public",
+ "interval": 5,
+ "retry_down": 1,
+ "retry_up": 1,
+ "timeout": 15,
+ "extattrs": {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+
+ def test_nios_dtc_monitor_snmp_remove(self):
+ self.module.params = {'provider': None, 'state': 'absent', 'name': 'snmp_monitor',
+ 'comment': None, 'extattrs': None}
+
+ ref = "dtc:monitor:snmp/ZG5zLm5ldHdvcmtfdmlldyQw:default/false"
+
+ test_object = [
+ {
+ "comment": "test comment",
+ "_ref": ref,
+ "name": "snmp_monitor",
+ "port": 161,
+ "version": "V2C",
+ "community": "public",
+ "interval": 5,
+ "retry_down": 1,
+ "retry_up": 1,
+ "timeout": 15,
+ "extattrs": {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.delete_object.assert_called_once_with(ref)
diff --git a/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py
new file mode 100644
index 000000000..072ba1a37
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_monitor_tcp.py
@@ -0,0 +1,133 @@
+# 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
+
+
+from ansible_collections.infoblox.nios_modules.plugins.modules import nios_dtc_monitor_tcp
+from ansible_collections.infoblox.nios_modules.plugins.module_utils import api
+from ansible_collections.infoblox.nios_modules.tests.unit.compat.mock import patch, MagicMock, Mock
+from .test_nios_module import TestNiosModule, load_fixture
+
+
+class TestNiosDtcTcpMonitorModule(TestNiosModule):
+
+ module = nios_dtc_monitor_tcp
+
+ def setUp(self):
+ super(TestNiosDtcTcpMonitorModule, self).setUp()
+ self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule')
+ self.module.check_mode = False
+ self.module.params = {'provider': None}
+ self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule')
+ self.exec_command = self.mock_wapi.start()
+ self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_monitor_tcp.WapiModule.run')
+ self.mock_wapi_run.start()
+ self.load_config = self.mock_wapi_run.start()
+ self.mock_check_type_dict = patch('ansible.module_utils.common.validation.check_type_dict')
+ self.mock_check_type_dict_obj = self.mock_check_type_dict.start()
+
+ def tearDown(self):
+ super(TestNiosDtcTcpMonitorModule, self).tearDown()
+ self.mock_wapi.stop()
+ self.mock_wapi_run.stop()
+ self.mock_check_type_dict.stop()
+
+ def _get_wapi(self, test_object):
+ wapi = api.WapiModule(self.module)
+ wapi.get_object = Mock(name='get_object', return_value=test_object)
+ wapi.create_object = Mock(name='create_object')
+ wapi.update_object = Mock(name='update_object')
+ wapi.delete_object = Mock(name='delete_object')
+ return wapi
+
+ def load_fixtures(self, commands=None):
+ self.exec_command.return_value = (0, load_fixture('nios_result.txt').strip(), None)
+ self.load_config.return_value = dict(diff=None, session='session')
+
+ def test_nios_dtc_monitor_tcp_create(self):
+ self.module.params = {'provider': None, 'state': 'present', 'name': 'tcp_monitor',
+ 'port': 8080, 'comment': None, 'extattrs': None}
+
+ test_object = None
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "port": {},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.create_object.assert_called_once_with('testobject', {'name': 'tcp_monitor',
+ 'port': 8080})
+
+ def test_nios_dtc_monitor_tcp_update_comment(self):
+ self.module.params = {'provider': None, 'state': 'present', 'name': 'tcp_monitor',
+ 'comment': 'updated comment', 'extattrs': None}
+
+ test_object = [
+ {
+ "comment": "test comment",
+ "_ref": "dtc:monitor:tcp/ZG5zLm5ldHdvcmtfdmlldyQw:default/true",
+ "name": "tcp_monitor",
+ "port": 8080,
+ "extattrs": {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+
+ def test_nios_dtc_monitor_tcp_remove(self):
+ self.module.params = {'provider': None, 'state': 'absent', 'name': 'tcp_monitor',
+ 'comment': None, 'extattrs': None}
+
+ ref = "dtc:monitor:tcp/ZG5zLm5ldHdvcmtfdmlldyQw:default/false"
+
+ test_object = [
+ {
+ "comment": "test comment",
+ "_ref": ref,
+ "name": "tcp_monitor",
+ "port": 8080,
+ "extattrs": {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.delete_object.assert_called_once_with(ref)
diff --git a/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_topology.py b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_topology.py
new file mode 100644
index 000000000..d0ee4c69a
--- /dev/null
+++ b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/test_nios_dtc_topology.py
@@ -0,0 +1,156 @@
+# 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
+
+
+from ansible_collections.infoblox.nios_modules.plugins.modules import nios_dtc_topology
+from ansible_collections.infoblox.nios_modules.plugins.module_utils import api
+from ansible_collections.infoblox.nios_modules.tests.unit.compat.mock import patch, MagicMock, Mock
+from .test_nios_module import TestNiosModule, load_fixture
+
+
+class TestNiosDtcTopologyModule(TestNiosModule):
+
+ module = nios_dtc_topology
+
+ def setUp(self):
+ super(TestNiosDtcTopologyModule, self).setUp()
+ self.module = MagicMock(name='ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule')
+ self.module.check_mode = False
+ self.module.params = {'provider': None}
+ self.mock_wapi = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule')
+ self.exec_command = self.mock_wapi.start()
+ self.mock_wapi_run = patch('ansible_collections.infoblox.nios_modules.plugins.modules.nios_dtc_topology.WapiModule.run')
+ self.mock_wapi_run.start()
+ self.load_config = self.mock_wapi_run.start()
+ self.mock_check_type_dict = patch('ansible.module_utils.common.validation.check_type_dict')
+ self.mock_check_type_dict_obj = self.mock_check_type_dict.start()
+
+ def tearDown(self):
+ super(TestNiosDtcTopologyModule, self).tearDown()
+ self.mock_wapi.stop()
+ self.mock_wapi_run.stop()
+ self.mock_check_type_dict.stop()
+
+ def _get_wapi(self, test_object):
+ wapi = api.WapiModule(self.module)
+ wapi.get_object = Mock(name='get_object', return_value=test_object)
+ wapi.create_object = Mock(name='create_object')
+ wapi.update_object = Mock(name='update_object')
+ wapi.delete_object = Mock(name='delete_object')
+ return wapi
+
+ def load_fixtures(self, commands=None):
+ self.exec_command.return_value = (0, load_fixture('nios_result.txt').strip(), None)
+ self.load_config.return_value = dict(diff=None, session='session')
+
+ def test_nios_dtc_topology_create(self):
+ self.module.params = {
+ 'provider': None,
+ 'state': 'present',
+ 'name': 'a_topology',
+ 'rules': [{
+ 'dest_type': 'POOL',
+ 'destination_link': 'web_pool',
+ 'return_type': 'REGULAR'
+ }],
+ 'comment': None,
+ 'extattrs': None
+ }
+
+ test_object = None
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "rules": {},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.create_object.assert_called_once_with(
+ 'testobject',
+ {
+ 'name': 'a_topology',
+ 'rules': [{
+ 'dest_type': 'POOL',
+ 'destination_link': 'web_pool',
+ 'return_type': 'REGULAR'
+ }]
+ }
+ )
+
+ def test_nios_dtc_topology_update_comment(self):
+ self.module.params = {'provider': None, 'state': 'present', 'name': 'a_topology',
+ 'comment': 'updated comment', 'extattrs': None}
+
+ test_object = [
+ {
+ '_ref': 'dtc:topology/ZG5zLm5ldHdvcmtfdmlldyQw:default/true',
+ 'name': 'a_topology',
+ 'rules': [{
+ '_ref': 'dtc:topology:rule/ZG5zLm5ldHdvcmtfdmlldyQw:a_topology/web_pool'
+ }],
+ 'comment': "test comment",
+ 'extattrs': {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+
+ def test_nios_dtc_topology_remove(self):
+ self.module.params = {'provider': None, 'state': 'absent', 'name': 'a_topology',
+ 'comment': None, 'extattrs': None}
+
+ ref = "dtc:topology/ZG5zLm5ldHdvcmtfdmlldyQw:default/false"
+
+ test_object = [
+ {
+ "comment": {},
+ "_ref": ref,
+ "name": "a_topology",
+ 'rules': [{
+ '_ref': 'dtc:topology:rule/ZG5zLm5ldHdvcmtfdmlldyQw:a_topology/web_pool'
+ }],
+ "extattrs": {}
+ }
+ ]
+
+ test_spec = {
+ "name": {"ib_req": True},
+ "comment": {},
+ "extattrs": {}
+ }
+
+ wapi = self._get_wapi(test_object)
+ res = wapi.run('testobject', test_spec)
+
+ self.assertTrue(res['changed'])
+ wapi.delete_object.assert_called_once_with(ref)
diff --git a/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/utils.py b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/utils.py
index 6a00fd25f..15e7ec14d 100644
--- a/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/utils.py
+++ b/ansible_collections/infoblox/nios_modules/tests/unit/plugins/modules/utils.py
@@ -4,8 +4,10 @@ from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
import json
-
-from ansible_collections.community.general.tests.unit.compat import unittest
+try:
+ from ansible_collections.community.general.tests.unit.compat import unittest
+except ImportError:
+ import unittest
from ansible_collections.community.general.tests.unit.compat.mock import patch
from ansible.module_utils import basic
from ansible.module_utils.common.text.converters import to_bytes
diff --git a/ansible_collections/infoblox/nios_modules/tests/unit/requirements.txt b/ansible_collections/infoblox/nios_modules/tests/unit/requirements.txt
index a0a2eb7ec..fc67ca9e7 100644
--- a/ansible_collections/infoblox/nios_modules/tests/unit/requirements.txt
+++ b/ansible_collections/infoblox/nios_modules/tests/unit/requirements.txt
@@ -5,4 +5,5 @@ pytest-xdist
mock
pytest-mock
pytest-cov
-coverage==4.5.4
+coverage==7.3.2
+