Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New module: azure_rm_privatednszonelink #495

Merged

Conversation

ghost
Copy link

@ghost ghost commented Apr 18, 2021

SUMMARY

This module supports following operations :

  1. Create a virtual network link
  2. Update an existing virtual network link
  3. Delete virtual network link
  4. Get details about specified virtual network link
  5. List all virtual network links in given private DNS zone

Fixes #318

ISSUE TYPE
  • New Module Pull Request
COMPONENT NAME

azure_rm_privatednszonelink
azure_rm_privatednszonelink_info

ADDITIONAL INFORMATION

https://docs.microsoft.com/en-us/rest/api/dns/privatedns/virtualnetworklinks

@Fred-sun
Copy link
Collaborator

@techcon65 Please help to change the module name to ”azure_rm_privatednszonelink*“, which is consistent with other modules, thank you!

@Fred-sun Fred-sun added medium_priority Medium priority new_module_pr Add new modules work in In trying to solve, or in working with contributors labels Apr 19, 2021
Copy link
Collaborator

@Fred-sun Fred-sun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@techcon65 Thanks for your contribution!Please remove "plugins/modules/azure_rm_privatednszone_vnetlink.py validate-modules:required_if-requirements-unknown
plugins/modules/azure_rm_privatednszone_vnetlink.py validate-modules:required_if-unknown-key" in ignore*.txt and add follow parameter to your module!

In addition, please share the result of you execute "tests/integration/targets/azure_rm_notificationhub/tasks/main.yml " Thank you!

    log_path:
	        description:
	            - parent argument.
	        type: str
	    log_mode:
	        description:
	            - parent argument.
	        type: str

plugins/modules/azure_rm_privatednszone_vnetlink.py Outdated Show resolved Hide resolved
tests/sanity/ignore-2.10.txt Outdated Show resolved Hide resolved
tests/sanity/ignore-2.11.txt Outdated Show resolved Hide resolved
aparna-patil and others added 7 commits April 19, 2021 18:20
…ases

Co-authored-by: Fred-sun <37327967+Fred-sun@users.noreply.github.com>
Co-authored-by: Fred-sun <37327967+Fred-sun@users.noreply.github.com>
Co-authored-by: Fred-sun <37327967+Fred-sun@users.noreply.github.com>
@ghost
Copy link
Author

ghost commented Apr 19, 2021

@techcon65 Please help to change the module name to ”azure_rm_privatednszonelink*“, which is consistent with other modules, thank you!

@Fred-sun updated the file names as suggested, Thank you very much!

@ghost
Copy link
Author

ghost commented Apr 19, 2021

@techcon65 Thanks for your contribution!Please remove "plugins/modules/azure_rm_privatednszone_vnetlink.py validate-modules:required_if-requirements-unknown
plugins/modules/azure_rm_privatednszone_vnetlink.py validate-modules:required_if-unknown-key" in ignore*.txt and add follow parameter to your module!

In addition, please share the result of you execute "tests/integration/targets/azure_rm_notificationhub/tasks/main.yml " Thank you!

    log_path:
	        description:
	            - parent argument.
	        type: str
	    log_mode:
	        description:
	            - parent argument.
	        type: str

@Fred-sun Incorporated all the changes.
Also, here is the integration test results for - tests/integration/targets/azure_rm_privatednszonelink/tasks/main.yml file. Tetsed this locally with ansible-playbook (-vvv output is too long to share, hence sharing -v level output)

Using /etc/ansible/ansible.cfg as config file

PLAY [Virtual network link integration tests] ************************************************************************************************************************************************************************

TASK [Create virtual network link name] *******************************************************************************************************************************************************************
ok: [localhost] => {"ansible_facts": {"link_name": "linkc45a0c9bf44019d01fd561"}, "changed": false}

TASK [Create random number] *******************************************************************************************************************************************************************************
ok: [localhost] => {"ansible_facts": {"rpfx": "c45a0c9649"}, "changed": false}

TASK [Create random domain name] **************************************************************************************************************************************************************************
ok: [localhost] => {"ansible_facts": {"domain_name": "c45a0c9bf44019d065521"}, "changed": false}

TASK [Create a Private DNS zone] **************************************************************************************************************************************************************************
[WARNING]: Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
changed: [localhost] => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": true, "check_mode": false, "state": {"id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/myazureresourcegroup/providers/Microsoft.Network/privateDnsZones/c45a0c9bf44019d065521.com", "name": "c45a0c9bf44019d065521.com", "number_of_record_sets": 1, "number_of_virtual_network_links": 0, "number_of_virtual_network_links_with_registration": 0, "tags": null}}

TASK [Create a virtual network] ***************************************************************************************************************************************************************************
changed: [localhost] => {"changed": true, "check_mode": false, "state": {"address_prefixes": ["10.1.0.0/16", "172.100.0.0/16"], "dns_servers": ["127.0.0.1", "127.0.0.2"], "etag": "W/\"973459e4-1f25-41ed-abfc-a8a1c9532586\"", "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9649", "location": "centralindia", "name": "vnetc45a0c9649", "provisioning_state": "Succeeded", "tags": null, "type": "Microsoft.Network/virtualNetworks"}}

TASK [Create a subnet] ************************************************************************************************************************************************************************************
changed: [localhost] => {"changed": true, "state": {"address_prefix": "10.1.0.0/24", "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9649/subnets/subnetc45a0c9649", "name": "subnetc45a0c9649", "network_security_group": {}, "provisioning_state": "Succeeded", "route_table": {}}}

TASK [Create a virtual network link] **********************************************************************************************************************************************************************
changed: [localhost] => {"changed": true, "state": {"etag": "\"cf009c38-0000-0100-0000-607da95a0000\"", "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/myazureresourcegroup/providers/Microsoft.Network/privateDnsZones/c45a0c9bf44019d065521.com/virtualNetworkLinks/linkc45a0c9bf44019d01fd561", "location": "global", "name": "linkc45a0c9bf44019d01fd561", "provisioning_state": "Succeeded", "registration_enabled": false, "tags": null, "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks", "virtual_network": {"id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9649"}, "virtual_network_link_state": "Completed"}}

TASK [Assert that virtual network link is created] ********************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [Create a virtual network link (Idempotent test)] ****************************************************************************************************************************************************
ok: [localhost] => {"changed": false, "state": {"etag": "\"cf009c38-0000-0100-0000-607da95a0000\"", "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/myazureresourcegroup/providers/Microsoft.Network/privateDnsZones/c45a0c9bf44019d065521.com/virtualNetworkLinks/linkc45a0c9bf44019d01fd561", "location": "global", "name": "linkc45a0c9bf44019d01fd561", "provisioning_state": "Succeeded", "registration_enabled": false, "tags": {}, "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks", "virtual_network": {"id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9649"}, "virtual_network_link_state": "Completed"}}

TASK [Assert that output is not changed] ******************************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [Update a virtual network link] **********************************************************************************************************************************************************************
changed: [localhost] => {"changed": true, "state": {"etag": "\"cf00573d-0000-0100-0000-607da9b10000\"", "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/myazureresourcegroup/providers/Microsoft.Network/privateDnsZones/c45a0c9bf44019d065521.com/virtualNetworkLinks/linkc45a0c9bf44019d01fd561", "location": "global", "name": "linkc45a0c9bf44019d01fd561", "provisioning_state": "Succeeded", "registration_enabled": true, "tags": null, "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks", "virtual_network": {"id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9649"}, "virtual_network_link_state": "Completed"}}

TASK [Assert that virtual network link is updated] ********************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [Get virtual network link] ***************************************************************************************************************************************************************************
ok: [localhost] => {"changed": false, "virtualnetworklinks": [{"id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/myazureresourcegroup/providers/Microsoft.Network/privateDnsZones/c45a0c9bf44019d065521.com/virtualNetworkLinks/linkc45a0c9bf44019d01fd561", "name": "linkc45a0c9bf44019d01fd561", "provisioning_state": "Succeeded", "registration_enabled": true, "tags": null, "virtual_network": {"id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9649"}, "virtual_network_link_state": "Completed"}]}

TASK [assert] *********************************************************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [Delete virtual network link] ************************************************************************************************************************************************************************
changed: [localhost] => {"changed": true, "state": "Deleted"}

TASK [Assert that virtual network link is deleted] ********************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [Delete virtual network link (Idempotent test)] ******************************************************************************************************************************************************
ok: [localhost] => {"changed": false, "state": {}}

TASK [Asset that output is not changed] *******************************************************************************************************************************************************************
ok: [localhost] => {
    "changed": false,
    "msg": "All assertions passed"
}

TASK [Delete virtual network] *****************************************************************************************************************************************************************************
changed: [localhost] => {"changed": true, "check_mode": false, "state": {"address_prefixes": ["10.1.0.0/16", "172.100.0.0/16"], "dns_servers": ["127.0.0.1", "127.0.0.2"], "etag": "W/\"e9b0881e-6d03-48e1-90af-f640cc6c1164\"", "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9649", "location": "centralindia", "name": "vnetc45a0c9649", "provisioning_state": "Succeeded", "status": "Deleted", "tags": null, "type": "Microsoft.Network/virtualNetworks"}}

TASK [Delete private DNS zone] ****************************************************************************************************************************************************************************
changed: [localhost] => {"changed": true, "check_mode": false, "state": {"id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/myazureresourcegroup/providers/Microsoft.Network/privateDnsZones/c45a0c9bf44019d065521.com", "name": "c45a0c9bf44019d065521.com", "number_of_record_sets": 1, "number_of_virtual_network_links": 0, "number_of_virtual_network_links_with_registration": 0, "status": "Deleted", "tags": null}}

PLAY RECAP ************************************************************************************************************************************************************************************************
localhost                  : ok=20   changed=8    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 `

@ghost
Copy link
Author

ghost commented Apr 20, 2021

@Fred-sun Tested the integration test file with ansible-test, sharing the results for reference. was trying with ansible-playbook earlier. Thank you!

root@techcon65:~/ansible# ansible-test integration azure_rm_privatednszonelink --allow-destructive -vvv

RLIMIT_NOFILE: (1024, 1048576)
MAXFD: -1
>>> Container Database
{}
Run command: /usr/bin/python /root/ansible/test/lib/ansible_test/_data/yamlcheck.py
Working directory: /root/ansible
Program found: /usr/bin/python
HOME=/root
LC_ALL=en_US.UTF-8
PATH=/root/ansible/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Run command: /usr/bin/python /root/ansible/test/lib/ansible_test/_data/versions.py
Working directory: /root/ansible
Program found: /usr/bin/python
HOME=/root
LC_ALL=en_US.UTF-8
PATH=/root/ansible/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Run command: /usr/bin/python3 /root/ansible/test/lib/ansible_test/_data/versions.py
Working directory: /root/ansible
Program found: /usr/bin/python3
HOME=/root
LC_ALL=en_US.UTF-8
PATH=/root/ansible/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Run command: /usr/bin/python3.8 /root/ansible/test/lib/ansible_test/_data/versions.py
Working directory: /root/ansible
Program found: /usr/bin/python3.8
HOME=/root
LC_ALL=en_US.UTF-8
PATH=/root/ansible/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
>>> Environment Description
{
    "known_hosts_hash": "b0709d04e0374eb987a2282fdbcbc8b6349e418038aa0c7972062d8eac2998c9",
    "pip_interpreters": {
        "3": "#!/usr/bin/python3"
    },
    "pip_paths": {
        "": null,
        "2": null,
        "2.6": null,
        "2.7": null,
        "3": "/usr/bin/pip3",
        "3.5": null,
        "3.6": null,
        "3.7": null,
        "3.8": null,
        "3.9": null
    },
    "program_versions": {
        "": [
            "3.8.2 (default, Jul 16 2020, 14:00:26)",
            "[GCC 9.3.0]",
            "pip 20.0.2 from /usr/lib/python3/dist-packages/pip"
        ],
        "3": [
            "3.8.2 (default, Jul 16 2020, 14:00:26)",
            "[GCC 9.3.0]",
            "pip 20.0.2 from /usr/lib/python3/dist-packages/pip"
        ],
        "3.8": [
            "3.8.2 (default, Jul 16 2020, 14:00:26)",
            "[GCC 9.3.0]",
            "pip 20.0.2 from /usr/lib/python3/dist-packages/pip"
        ]
    },
    "python_paths": {
        "": "/usr/bin/python",
        "2": null,
        "2.6": null,
        "2.7": null,
        "3": "/usr/bin/python3",
        "3.5": null,
        "3.6": null,
        "3.7": null,
        "3.8": "/usr/bin/python3.8",
        "3.9": null
    },
    "warnings": []
}
Running azure_rm_privatednszonelink integration test role
Preparing temporary directory: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ
Copying test/integration/targets/azure_rm_privatednszonelink/ to /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/
Copying /root/ansible/test/integration/integration_config.yml to /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/integration_config.yml
Copying /root/ansible/test/lib/ansible_test/_data/ansible.cfg to /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/integration.cfg
Copying /root/ansible/test/lib/ansible_test/_data/inventory to /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/inventory
>>> Playbook: azure_rm_privatednszonelink-8kf1h3qf.yml
[
    {
        "gather_facts": true,
        "hosts": "testhost",
        "roles": [
            "azure_rm_privatednszonelink"
        ],
        "vars": {
            "output_dir": "/root/ansible/test/results/.tmp/output_dir"
        },
        "vars_files": [
            "integration_config.yml"
        ]
    }
]
Injecting "/tmp/python-1jgtrmaq-ansible/python" as a execv wrapper for the "/usr/bin/python" interpreter.
Run command: ansible-playbook azure_rm_privatednszonelink-8kf1h3qf.yml -i inventory -vvv
Working directory: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration
Program found: /root/ansible/test/lib/ansible_test/_data/injector/ansible-playbook
ANSIBLE_CACHE_PLUGINS=/root/ansible/test/support/integration/plugins/cache
ANSIBLE_CALLBACKS_ENABLED=junit
ANSIBLE_CONFIG=/root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/integration.cfg
ANSIBLE_CONTROLLER_PYTHON_WARNING=false
ANSIBLE_DEPRECATION_WARNINGS=false
ANSIBLE_DEVEL_WARNING=false
ANSIBLE_FILTER_PLUGINS=/root/ansible/test/support/integration/plugins/filter
ANSIBLE_FORCE_COLOR=true
ANSIBLE_FORCE_HANDLERS=true
ANSIBLE_HOST_KEY_CHECKING=false
ANSIBLE_HOST_PATTERN_MISMATCH=error
ANSIBLE_INVENTORY=/dev/null
ANSIBLE_INVENTORY_PLUGINS=/root/ansible/test/support/integration/plugins/inventory
ANSIBLE_LIBRARY=/root/ansible/test/support/integration/plugins/modules
ANSIBLE_LOOKUP_PLUGINS=/root/ansible/test/support/integration/plugins/lookup
ANSIBLE_MODULE_UTILS=/root/ansible/test/support/integration/plugins/module_utils
ANSIBLE_PLAYBOOK_DIR=/root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration
ANSIBLE_PYTHON_INTERPRETER=/set/ansible_python_interpreter/in/inventory
ANSIBLE_PYTHON_MODULE_RLIMIT_NOFILE=1024
ANSIBLE_RETRY_FILES_ENABLED=false
ANSIBLE_ROLES_PATH=/root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets
ANSIBLE_TEST_CI=
ANSIBLE_TEST_COVERAGE=
ANSIBLE_TEST_PYTHON_INTERPRETER=/usr/bin/python
ANSIBLE_TEST_PYTHON_VERSION=3.8
ANSIBLE_WORKER_SHUTDOWN_POLL_COUNT=100
ANSIBLE_WORKER_SHUTDOWN_POLL_DELAY=0.1
HOME=/root
INVENTORY_PATH=/root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/inventory
JUNIT_OUTPUT_DIR=/root/ansible/test/results/junit
LC_ALL=en_US.UTF-8
OUTPUT_DIR=/root/ansible/test/results/.tmp/output_dir
PAGER=/bin/cat
PATH=/tmp/python-1jgtrmaq-ansible:/root/ansible/test/lib/ansible_test/_data/injector:/root/ansible/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
PYTHONPATH=/root/ansible/lib
ansible-playbook [core 2.12.0.dev0]  (devel 9ba6cf9a72) last updated 2021/04/19 16:15:31 (GMT +550)
  config file = /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/integration.cfg
  configured module search path = ['/root/ansible/test/support/integration/plugins/modules']
  ansible python module location = /root/ansible/lib/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /root/ansible/bin/ansible-playbook
  python version = 3.8.2 (default, Jul 16 2020, 14:00:26) [GCC 9.3.0]
  jinja version = 2.10.1
  libyaml = True
Using /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/integration.cfg as config file
host_list declined parsing /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/inventory as it did not pass its verify_file() method
script declined parsing /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/inventory as it did not pass its verify_file() method
auto declined parsing /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/inventory as it did not pass its verify_file() method
Parsed /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/inventory inventory source with ini plugin
Read vars_file 'integration_config.yml'
redirecting (type: modules) ansible.builtin.azure_rm_virtualnetwork to azure.azcollection.azure_rm_virtualnetwork
redirecting (type: modules) ansible.builtin.azure_rm_subnet to azure.azcollection.azure_rm_subnet
redirecting (type: modules) ansible.builtin.azure_rm_virtualnetwork to azure.azcollection.azure_rm_virtualnetwork
Skipping callback 'default', as we already have a stdout callback.
[WARNING]: The `junit_xml` python module is not installed. Disabling the `junit` callback plugin.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: azure_rm_privatednszonelink-8kf1h3qf.yml ********************************************************************************************************************************************************
1 plays in azure_rm_privatednszonelink-8kf1h3qf.yml
Read vars_file 'integration_config.yml'
Read vars_file 'integration_config.yml'
Read vars_file 'integration_config.yml'

PLAY [testhost] *******************************************************************************************************************************************************************************************
Read vars_file 'integration_config.yml'

TASK [Gathering Facts] ************************************************************************************************************************************************************************************
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1618908038.0872183-7766-127077291669737 `" && echo ansible-tmp-1618908038.0872183-7766-127077291669737="` echo /root/.ansible/tmp/ansible-tmp-1618908038.0872183-7766-127077291669737 `" ) && sleep 0'
Using module file /root/ansible/lib/ansible/modules/setup.py
<testhost> PUT /root/.ansible/tmp/ansible-local-7761jiidu10q/tmp2y1f_t6_ TO /root/.ansible/tmp/ansible-tmp-1618908038.0872183-7766-127077291669737/AnsiballZ_setup.py
<testhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1618908038.0872183-7766-127077291669737/ /root/.ansible/tmp/ansible-tmp-1618908038.0872183-7766-127077291669737/AnsiballZ_setup.py && sleep 0'
<testhost> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1618908038.0872183-7766-127077291669737/AnsiballZ_setup.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1618908038.0872183-7766-127077291669737/ > /dev/null 2>&1 && sleep 0'
ok: [testhost]
Read vars_file 'integration_config.yml'
META: ran handlers
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Create virtual network link name] *************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:19
ok: [testhost] => {
    "ansible_facts": {
        "link_name": "linkc45a0c9bf44019d01fd561"
    },
    "changed": false
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Create random number] *************************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:23
ok: [testhost] => {
    "ansible_facts": {
        "rpfx": "c45a0c9788"
    },
    "changed": false
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Create random domain name] ********************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:28
ok: [testhost] => {
    "ansible_facts": {
        "domain_name": "c45a0c9bf44019d011999"
    },
    "changed": false
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Create a Private DNS zone] ********************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:32
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1618908039.5060349-7837-79518153204989 `" && echo ansible-tmp-1618908039.5060349-7837-79518153204989="` echo /root/.ansible/tmp/ansible-tmp-1618908039.5060349-7837-79518153204989 `" ) && sleep 0'
Using module file /root/ansible/lib/ansible/modules/azure_rm_privatednszone.py
<testhost> PUT /root/.ansible/tmp/ansible-local-7761jiidu10q/tmpzn_dht4e TO /root/.ansible/tmp/ansible-tmp-1618908039.5060349-7837-79518153204989/AnsiballZ_azure_rm_privatednszone.py
<testhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1618908039.5060349-7837-79518153204989/ /root/.ansible/tmp/ansible-tmp-1618908039.5060349-7837-79518153204989/AnsiballZ_azure_rm_privatednszone.py && sleep 0'
<testhost> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1618908039.5060349-7837-79518153204989/AnsiballZ_azure_rm_privatednszone.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1618908039.5060349-7837-79518153204989/ > /dev/null 2>&1 && sleep 0'
[WARNING]: Azure API profile latest does not define an entry for PrivateDnsManagementClient
changed: [testhost] => {
    "changed": true,
    "check_mode": false,
    "invocation": {
        "module_args": {
            "ad_user": null,
            "adfs_authority_url": null,
            "api_profile": "latest",
            "append_tags": true,
            "auth_source": "auto",
            "cert_validation_mode": null,
            "client_id": null,
            "cloud_environment": "AzureCloud",
            "name": "c45a0c9bf44019d011999.com",
            "password": null,
            "profile": null,
            "resource_group": "MyAzureResourceGroup",
            "secret": null,
            "state": "present",
            "subscription_id": null,
            "tags": null,
            "tenant": null
        }
    },
    "state": {
        "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/myazureresourcegroup/providers/Microsoft.Network/privateDnsZones/c45a0c9bf44019d011999.com",
        "name": "c45a0c9bf44019d011999.com",
        "number_of_record_sets": 1,
        "number_of_virtual_network_links": 0,
        "number_of_virtual_network_links_with_registration": 0,
        "tags": null
    }
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Create a virtual network] *********************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:38
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1618908077.2805514-7865-45058298949152 `" && echo ansible-tmp-1618908077.2805514-7865-45058298949152="` echo /root/.ansible/tmp/ansible-tmp-1618908077.2805514-7865-45058298949152 `" ) && sleep 0'
redirecting (type: modules) ansible.builtin.azure_rm_virtualnetwork to azure.azcollection.azure_rm_virtualnetwork
Using module file /root/.ansible/collections/ansible_collections/azure/azcollection/plugins/modules/azure_rm_virtualnetwork.py
<testhost> PUT /root/.ansible/tmp/ansible-local-7761jiidu10q/tmpszky06rh TO /root/.ansible/tmp/ansible-tmp-1618908077.2805514-7865-45058298949152/AnsiballZ_azure_rm_virtualnetwork.py
<testhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1618908077.2805514-7865-45058298949152/ /root/.ansible/tmp/ansible-tmp-1618908077.2805514-7865-45058298949152/AnsiballZ_azure_rm_virtualnetwork.py && sleep 0'
<testhost> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1618908077.2805514-7865-45058298949152/AnsiballZ_azure_rm_virtualnetwork.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1618908077.2805514-7865-45058298949152/ > /dev/null 2>&1 && sleep 0'
changed: [testhost] => {
    "changed": true,
    "check_mode": false,
    "invocation": {
        "module_args": {
            "ad_user": null,
            "address_prefixes_cidr": [
                "10.1.0.0/16",
                "172.100.0.0/16"
            ],
            "adfs_authority_url": null,
            "api_profile": "latest",
            "append_tags": true,
            "auth_source": "auto",
            "cert_validation_mode": null,
            "client_id": null,
            "cloud_environment": "AzureCloud",
            "dns_servers": [
                "127.0.0.1",
                "127.0.0.2"
            ],
            "location": null,
            "name": "vnetc45a0c9788",
            "password": null,
            "profile": null,
            "purge_address_prefixes": false,
            "purge_dns_servers": false,
            "resource_group": "MyAzureResourceGroup",
            "secret": null,
            "state": "present",
            "subscription_id": null,
            "tags": null,
            "tenant": null
        }
    },
    "state": {
        "address_prefixes": [
            "10.1.0.0/16",
            "172.100.0.0/16"
        ],
        "dns_servers": [
            "127.0.0.1",
            "127.0.0.2"
        ],
        "etag": "W/\"623ac5c3-1bdf-4899-bc91-2794780b5c7c\"",
        "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9788",
        "location": "centralindia",
        "name": "vnetc45a0c9788",
        "provisioning_state": "Succeeded",
        "tags": null,
        "type": "Microsoft.Network/virtualNetworks"
    }
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Create a subnet] ******************************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:49
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1618908086.433512-7893-34956938135925 `" && echo ansible-tmp-1618908086.433512-7893-34956938135925="` echo /root/.ansible/tmp/ansible-tmp-1618908086.433512-7893-34956938135925 `" ) && sleep 0'
redirecting (type: modules) ansible.builtin.azure_rm_subnet to azure.azcollection.azure_rm_subnet
Using module file /root/.ansible/collections/ansible_collections/azure/azcollection/plugins/modules/azure_rm_subnet.py
<testhost> PUT /root/.ansible/tmp/ansible-local-7761jiidu10q/tmp1wzk18p3 TO /root/.ansible/tmp/ansible-tmp-1618908086.433512-7893-34956938135925/AnsiballZ_azure_rm_subnet.py
<testhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1618908086.433512-7893-34956938135925/ /root/.ansible/tmp/ansible-tmp-1618908086.433512-7893-34956938135925/AnsiballZ_azure_rm_subnet.py && sleep 0'
<testhost> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1618908086.433512-7893-34956938135925/AnsiballZ_azure_rm_subnet.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1618908086.433512-7893-34956938135925/ > /dev/null 2>&1 && sleep 0'
changed: [testhost] => {
    "changed": true,
    "invocation": {
        "module_args": {
            "ad_user": null,
            "address_prefix_cidr": "10.1.0.0/24",
            "address_prefixes_cidr": null,
            "adfs_authority_url": null,
            "api_profile": "latest",
            "auth_source": "auto",
            "cert_validation_mode": null,
            "client_id": null,
            "cloud_environment": "AzureCloud",
            "name": "subnetc45a0c9788",
            "password": null,
            "profile": null,
            "resource_group": "MyAzureResourceGroup",
            "route_table": null,
            "secret": null,
            "security_group": null,
            "service_endpoints": null,
            "state": "present",
            "subscription_id": null,
            "tenant": null,
            "virtual_network_name": "vnetc45a0c9788"
        }
    },
    "state": {
        "address_prefix": "10.1.0.0/24",
        "address_prefixes": null,
        "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9788/subnets/subnetc45a0c9788",
        "name": "subnetc45a0c9788",
        "network_security_group": {},
        "provisioning_state": "Succeeded",
        "route_table": {}
    }
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Create a virtual network link] ****************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:56
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1618908093.8796546-7921-54913063660571 `" && echo ansible-tmp-1618908093.8796546-7921-54913063660571="` echo /root/.ansible/tmp/ansible-tmp-1618908093.8796546-7921-54913063660571 `" ) && sleep 0'
Using module file /root/ansible/lib/ansible/modules/azure_rm_privatednszonelink.py
<testhost> PUT /root/.ansible/tmp/ansible-local-7761jiidu10q/tmp50gpq25r TO /root/.ansible/tmp/ansible-tmp-1618908093.8796546-7921-54913063660571/AnsiballZ_azure_rm_privatednszonelink.py
<testhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1618908093.8796546-7921-54913063660571/ /root/.ansible/tmp/ansible-tmp-1618908093.8796546-7921-54913063660571/AnsiballZ_azure_rm_privatednszonelink.py && sleep 0'
<testhost> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1618908093.8796546-7921-54913063660571/AnsiballZ_azure_rm_privatednszonelink.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1618908093.8796546-7921-54913063660571/ > /dev/null 2>&1 && sleep 0'
changed: [testhost] => {
    "changed": true,
    "invocation": {
        "module_args": {
            "ad_user": null,
            "adfs_authority_url": null,
            "api_profile": "latest",
            "append_tags": true,
            "auth_source": "auto",
            "cert_validation_mode": null,
            "client_id": null,
            "cloud_environment": "AzureCloud",
            "log_mode": null,
            "log_path": null,
            "name": "linkc45a0c9bf44019d01fd561",
            "password": null,
            "profile": null,
            "registration_enabled": false,
            "resource_group": "MyAzureResourceGroup",
            "secret": null,
            "state": "present",
            "subscription_id": null,
            "tags": null,
            "tenant": null,
            "virtual_network": "vnetc45a0c9788",
            "zone_name": "c45a0c9bf44019d011999.com"
        }
    },
    "state": {
        "etag": "\"cc00e8ef-0000-0100-0000-607e93e30000\"",
        "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/myazureresourcegroup/providers/Microsoft.Network/privateDnsZones/c45a0c9bf44019d011999.com/virtualNetworkLinks/linkc45a0c9bf44019d01fd561",
        "location": "global",
        "name": "linkc45a0c9bf44019d01fd561",
        "provisioning_state": "Succeeded",
        "registration_enabled": false,
        "tags": null,
        "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks",
        "virtual_network": {
            "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9788"
        },
        "virtual_network_link_state": "Completed"
    }
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Assert that virtual network link is created] **************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:65
ok: [testhost] => {
    "changed": false,
    "msg": "All assertions passed"
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Create a virtual network link (Idempotent test)] **********************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:69
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1618908163.4559119-7953-233884896683796 `" && echo ansible-tmp-1618908163.4559119-7953-233884896683796="` echo /root/.ansible/tmp/ansible-tmp-1618908163.4559119-7953-233884896683796 `" ) && sleep 0'
Using module file /root/ansible/lib/ansible/modules/azure_rm_privatednszonelink.py
<testhost> PUT /root/.ansible/tmp/ansible-local-7761jiidu10q/tmpd55s716_ TO /root/.ansible/tmp/ansible-tmp-1618908163.4559119-7953-233884896683796/AnsiballZ_azure_rm_privatednszonelink.py
<testhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1618908163.4559119-7953-233884896683796/ /root/.ansible/tmp/ansible-tmp-1618908163.4559119-7953-233884896683796/AnsiballZ_azure_rm_privatednszonelink.py && sleep 0'
<testhost> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1618908163.4559119-7953-233884896683796/AnsiballZ_azure_rm_privatednszonelink.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1618908163.4559119-7953-233884896683796/ > /dev/null 2>&1 && sleep 0'
ok: [testhost] => {
    "changed": false,
    "invocation": {
        "module_args": {
            "ad_user": null,
            "adfs_authority_url": null,
            "api_profile": "latest",
            "append_tags": true,
            "auth_source": "auto",
            "cert_validation_mode": null,
            "client_id": null,
            "cloud_environment": "AzureCloud",
            "log_mode": null,
            "log_path": null,
            "name": "linkc45a0c9bf44019d01fd561",
            "password": null,
            "profile": null,
            "registration_enabled": false,
            "resource_group": "MyAzureResourceGroup",
            "secret": null,
            "state": "present",
            "subscription_id": null,
            "tags": null,
            "tenant": null,
            "virtual_network": "vnetc45a0c9788",
            "zone_name": "c45a0c9bf44019d011999.com"
        }
    },
    "state": {
        "etag": "\"cc00e8ef-0000-0100-0000-607e93e30000\"",
        "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/myazureresourcegroup/providers/Microsoft.Network/privateDnsZones/c45a0c9bf44019d011999.com/virtualNetworkLinks/linkc45a0c9bf44019d01fd561",
        "location": "global",
        "name": "linkc45a0c9bf44019d01fd561",
        "provisioning_state": "Succeeded",
        "registration_enabled": false,
        "tags": {},
        "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks",
        "virtual_network": {
            "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9788"
        },
        "virtual_network_link_state": "Completed"
    }
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Assert that output is not changed] ************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:78
ok: [testhost] => {
    "changed": false,
    "msg": "All assertions passed"
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Update a virtual network link] ****************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:82
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1618908166.9033813-7982-14100294020596 `" && echo ansible-tmp-1618908166.9033813-7982-14100294020596="` echo /root/.ansible/tmp/ansible-tmp-1618908166.9033813-7982-14100294020596 `" ) && sleep 0'
Using module file /root/ansible/lib/ansible/modules/azure_rm_privatednszonelink.py
<testhost> PUT /root/.ansible/tmp/ansible-local-7761jiidu10q/tmpwzh3s1fu TO /root/.ansible/tmp/ansible-tmp-1618908166.9033813-7982-14100294020596/AnsiballZ_azure_rm_privatednszonelink.py
<testhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1618908166.9033813-7982-14100294020596/ /root/.ansible/tmp/ansible-tmp-1618908166.9033813-7982-14100294020596/AnsiballZ_azure_rm_privatednszonelink.py && sleep 0'
<testhost> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1618908166.9033813-7982-14100294020596/AnsiballZ_azure_rm_privatednszonelink.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1618908166.9033813-7982-14100294020596/ > /dev/null 2>&1 && sleep 0'
changed: [testhost] => {
    "changed": true,
    "invocation": {
        "module_args": {
            "ad_user": null,
            "adfs_authority_url": null,
            "api_profile": "latest",
            "append_tags": true,
            "auth_source": "auto",
            "cert_validation_mode": null,
            "client_id": null,
            "cloud_environment": "AzureCloud",
            "log_mode": null,
            "log_path": null,
            "name": "linkc45a0c9bf44019d01fd561",
            "password": null,
            "profile": null,
            "registration_enabled": true,
            "resource_group": "MyAzureResourceGroup",
            "secret": null,
            "state": "present",
            "subscription_id": null,
            "tags": null,
            "tenant": null,
            "virtual_network": "vnetc45a0c9788",
            "zone_name": "c45a0c9bf44019d011999.com"
        }
    },
    "state": {
        "etag": "\"cc0006fa-0000-0100-0000-607e94380000\"",
        "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/myazureresourcegroup/providers/Microsoft.Network/privateDnsZones/c45a0c9bf44019d011999.com/virtualNetworkLinks/linkc45a0c9bf44019d01fd561",
        "location": "global",
        "name": "linkc45a0c9bf44019d01fd561",
        "provisioning_state": "Succeeded",
        "registration_enabled": true,
        "tags": null,
        "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks",
        "virtual_network": {
            "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9788"
        },
        "virtual_network_link_state": "Completed"
    }
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Assert that virtual network link is updated] **************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:92
ok: [testhost] => {
    "changed": false,
    "msg": "All assertions passed"
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Get virtual network link] *********************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:96
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1618908235.5911157-8053-78445014313198 `" && echo ansible-tmp-1618908235.5911157-8053-78445014313198="` echo /root/.ansible/tmp/ansible-tmp-1618908235.5911157-8053-78445014313198 `" ) && sleep 0'
Using module file /root/ansible/lib/ansible/modules/azure_rm_privatednszonelink_info.py
<testhost> PUT /root/.ansible/tmp/ansible-local-7761jiidu10q/tmpj2dbpjd1 TO /root/.ansible/tmp/ansible-tmp-1618908235.5911157-8053-78445014313198/AnsiballZ_azure_rm_privatednszonelink_info.py
<testhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1618908235.5911157-8053-78445014313198/ /root/.ansible/tmp/ansible-tmp-1618908235.5911157-8053-78445014313198/AnsiballZ_azure_rm_privatednszonelink_info.py && sleep 0'
<testhost> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1618908235.5911157-8053-78445014313198/AnsiballZ_azure_rm_privatednszonelink_info.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1618908235.5911157-8053-78445014313198/ > /dev/null 2>&1 && sleep 0'
ok: [testhost] => {
    "changed": false,
    "invocation": {
        "module_args": {
            "ad_user": null,
            "adfs_authority_url": null,
            "api_profile": "latest",
            "append_tags": true,
            "auth_source": "auto",
            "cert_validation_mode": null,
            "client_id": null,
            "cloud_environment": "AzureCloud",
            "log_mode": null,
            "log_path": null,
            "name": "linkc45a0c9bf44019d01fd561",
            "password": null,
            "profile": null,
            "resource_group": "MyAzureResourceGroup",
            "secret": null,
            "subscription_id": null,
            "tags": null,
            "tenant": null,
            "zone_name": "c45a0c9bf44019d011999.com"
        }
    },
    "virtualnetworklinks": [
        {
            "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/myazureresourcegroup/providers/Microsoft.Network/privateDnsZones/c45a0c9bf44019d011999.com/virtualNetworkLinks/linkc45a0c9bf44019d01fd561",
            "name": "linkc45a0c9bf44019d01fd561",
            "provisioning_state": "Succeeded",
            "registration_enabled": true,
            "tags": null,
            "virtual_network": {
                "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9788"
            },
            "virtual_network_link_state": "Completed"
        }
    ]
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : assert] ***************************************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:103
ok: [testhost] => {
    "changed": false,
    "msg": "All assertions passed"
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Delete virtual network link] ******************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:111
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1618908238.4918492-8082-140487259663869 `" && echo ansible-tmp-1618908238.4918492-8082-140487259663869="` echo /root/.ansible/tmp/ansible-tmp-1618908238.4918492-8082-140487259663869 `" ) && sleep 0'
Using module file /root/ansible/lib/ansible/modules/azure_rm_privatednszonelink.py
<testhost> PUT /root/.ansible/tmp/ansible-local-7761jiidu10q/tmpwwhnnbix TO /root/.ansible/tmp/ansible-tmp-1618908238.4918492-8082-140487259663869/AnsiballZ_azure_rm_privatednszonelink.py
<testhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1618908238.4918492-8082-140487259663869/ /root/.ansible/tmp/ansible-tmp-1618908238.4918492-8082-140487259663869/AnsiballZ_azure_rm_privatednszonelink.py && sleep 0'
<testhost> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1618908238.4918492-8082-140487259663869/AnsiballZ_azure_rm_privatednszonelink.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1618908238.4918492-8082-140487259663869/ > /dev/null 2>&1 && sleep 0'
changed: [testhost] => {
    "changed": true,
    "invocation": {
        "module_args": {
            "ad_user": null,
            "adfs_authority_url": null,
            "api_profile": "latest",
            "append_tags": true,
            "auth_source": "auto",
            "cert_validation_mode": null,
            "client_id": null,
            "cloud_environment": "AzureCloud",
            "log_mode": null,
            "log_path": null,
            "name": "linkc45a0c9bf44019d01fd561",
            "password": null,
            "profile": null,
            "registration_enabled": false,
            "resource_group": "MyAzureResourceGroup",
            "secret": null,
            "state": "absent",
            "subscription_id": null,
            "tags": null,
            "tenant": null,
            "virtual_network": null,
            "zone_name": "c45a0c9bf44019d011999.com"
        }
    },
    "state": "Deleted"
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Assert that virtual network link is deleted] **************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:119
ok: [testhost] => {
    "changed": false,
    "msg": "All assertions passed"
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Delete virtual network link (Idempotent test)] ************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:123
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1618908307.4017928-8113-187106398347074 `" && echo ansible-tmp-1618908307.4017928-8113-187106398347074="` echo /root/.ansible/tmp/ansible-tmp-1618908307.4017928-8113-187106398347074 `" ) && sleep 0'
Using module file /root/ansible/lib/ansible/modules/azure_rm_privatednszonelink.py
<testhost> PUT /root/.ansible/tmp/ansible-local-7761jiidu10q/tmpq52z21uh TO /root/.ansible/tmp/ansible-tmp-1618908307.4017928-8113-187106398347074/AnsiballZ_azure_rm_privatednszonelink.py
<testhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1618908307.4017928-8113-187106398347074/ /root/.ansible/tmp/ansible-tmp-1618908307.4017928-8113-187106398347074/AnsiballZ_azure_rm_privatednszonelink.py && sleep 0'
<testhost> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1618908307.4017928-8113-187106398347074/AnsiballZ_azure_rm_privatednszonelink.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1618908307.4017928-8113-187106398347074/ > /dev/null 2>&1 && sleep 0'
ok: [testhost] => {
    "changed": false,
    "invocation": {
        "module_args": {
            "ad_user": null,
            "adfs_authority_url": null,
            "api_profile": "latest",
            "append_tags": true,
            "auth_source": "auto",
            "cert_validation_mode": null,
            "client_id": null,
            "cloud_environment": "AzureCloud",
            "log_mode": null,
            "log_path": null,
            "name": "linkc45a0c9bf44019d01fd561",
            "password": null,
            "profile": null,
            "registration_enabled": false,
            "resource_group": "MyAzureResourceGroup",
            "secret": null,
            "state": "absent",
            "subscription_id": null,
            "tags": null,
            "tenant": null,
            "virtual_network": null,
            "zone_name": "c45a0c9bf44019d011999.com"
        }
    },
    "state": {}
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Asset that output is not changed] *************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:131
ok: [testhost] => {
    "changed": false,
    "msg": "All assertions passed"
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Delete virtual network] ***********************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:135
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1618908310.8555791-8142-123836933457084 `" && echo ansible-tmp-1618908310.8555791-8142-123836933457084="` echo /root/.ansible/tmp/ansible-tmp-1618908310.8555791-8142-123836933457084 `" ) && sleep 0'
redirecting (type: modules) ansible.builtin.azure_rm_virtualnetwork to azure.azcollection.azure_rm_virtualnetwork
Using module file /root/.ansible/collections/ansible_collections/azure/azcollection/plugins/modules/azure_rm_virtualnetwork.py
<testhost> PUT /root/.ansible/tmp/ansible-local-7761jiidu10q/tmprve6rsgf TO /root/.ansible/tmp/ansible-tmp-1618908310.8555791-8142-123836933457084/AnsiballZ_azure_rm_virtualnetwork.py
<testhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1618908310.8555791-8142-123836933457084/ /root/.ansible/tmp/ansible-tmp-1618908310.8555791-8142-123836933457084/AnsiballZ_azure_rm_virtualnetwork.py && sleep 0'
<testhost> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1618908310.8555791-8142-123836933457084/AnsiballZ_azure_rm_virtualnetwork.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1618908310.8555791-8142-123836933457084/ > /dev/null 2>&1 && sleep 0'
changed: [testhost] => {
    "changed": true,
    "check_mode": false,
    "invocation": {
        "module_args": {
            "ad_user": null,
            "address_prefixes_cidr": null,
            "adfs_authority_url": null,
            "api_profile": "latest",
            "append_tags": true,
            "auth_source": "auto",
            "cert_validation_mode": null,
            "client_id": null,
            "cloud_environment": "AzureCloud",
            "dns_servers": null,
            "location": null,
            "name": "vnetc45a0c9788",
            "password": null,
            "profile": null,
            "purge_address_prefixes": false,
            "purge_dns_servers": false,
            "resource_group": "MyAzureResourceGroup",
            "secret": null,
            "state": "absent",
            "subscription_id": null,
            "tags": null,
            "tenant": null
        }
    },
    "state": {
        "address_prefixes": [
            "10.1.0.0/16",
            "172.100.0.0/16"
        ],
        "dns_servers": [
            "127.0.0.1",
            "127.0.0.2"
        ],
        "etag": "W/\"97a118bd-6649-4f57-bdcd-f15569467abc\"",
        "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/MyAzureResourceGroup/providers/Microsoft.Network/virtualNetworks/vnetc45a0c9788",
        "location": "centralindia",
        "name": "vnetc45a0c9788",
        "provisioning_state": "Succeeded",
        "status": "Deleted",
        "tags": null,
        "type": "Microsoft.Network/virtualNetworks"
    }
}
Read vars_file 'integration_config.yml'

TASK [azure_rm_privatednszonelink : Delete private DNS zone] **********************************************************************************************************************************************
task path: /root/ansible/test/results/.tmp/integration/azure_rm_privatednszonelink-jv_efng6-ÅÑŚÌβŁÈ/test/integration/targets/azure_rm_privatednszonelink/tasks/main.yml:141
<testhost> ESTABLISH LOCAL CONNECTION FOR USER: root
<testhost> EXEC /bin/sh -c 'echo ~root && sleep 0'
<testhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /root/.ansible/tmp `"&& mkdir "` echo /root/.ansible/tmp/ansible-tmp-1618908323.8820677-8170-242476015049114 `" && echo ansible-tmp-1618908323.8820677-8170-242476015049114="` echo /root/.ansible/tmp/ansible-tmp-1618908323.8820677-8170-242476015049114 `" ) && sleep 0'
Using module file /root/ansible/lib/ansible/modules/azure_rm_privatednszone.py
<testhost> PUT /root/.ansible/tmp/ansible-local-7761jiidu10q/tmpdrryxax8 TO /root/.ansible/tmp/ansible-tmp-1618908323.8820677-8170-242476015049114/AnsiballZ_azure_rm_privatednszone.py
<testhost> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1618908323.8820677-8170-242476015049114/ /root/.ansible/tmp/ansible-tmp-1618908323.8820677-8170-242476015049114/AnsiballZ_azure_rm_privatednszone.py && sleep 0'
<testhost> EXEC /bin/sh -c '/usr/bin/python /root/.ansible/tmp/ansible-tmp-1618908323.8820677-8170-242476015049114/AnsiballZ_azure_rm_privatednszone.py && sleep 0'
<testhost> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1618908323.8820677-8170-242476015049114/ > /dev/null 2>&1 && sleep 0'
changed: [testhost] => {
    "changed": true,
    "check_mode": false,
    "invocation": {
        "module_args": {
            "ad_user": null,
            "adfs_authority_url": null,
            "api_profile": "latest",
            "append_tags": true,
            "auth_source": "auto",
            "cert_validation_mode": null,
            "client_id": null,
            "cloud_environment": "AzureCloud",
            "name": "c45a0c9bf44019d011999.com",
            "password": null,
            "profile": null,
            "resource_group": "MyAzureResourceGroup",
            "secret": null,
            "state": "absent",
            "subscription_id": null,
            "tags": null,
            "tenant": null
        }
    },
    "state": {
        "id": "/subscriptions/7b1b46f1-e266-404e-96b4-8738a385c254/resourceGroups/myazureresourcegroup/providers/Microsoft.Network/privateDnsZones/c45a0c9bf44019d011999.com",
        "name": "c45a0c9bf44019d011999.com",
        "number_of_record_sets": 1,
        "number_of_virtual_network_links": 0,
        "number_of_virtual_network_links_with_registration": 0,
        "status": "Deleted",
        "tags": null
    }
}
Read vars_file 'integration_config.yml'
META: role_complete for testhost
Read vars_file 'integration_config.yml'
META: ran handlers
Read vars_file 'integration_config.yml'
META: ran handlers

PLAY RECAP ************************************************************************************************************************************************************************************************
testhost                   : ok=21   changed=8    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

Run command: /usr/bin/python /root/ansible/test/lib/ansible_test/_data/versions.py
Working directory: /root/ansible
Program found: /usr/bin/python
HOME=/root
LC_ALL=en_US.UTF-8
PATH=/root/ansible/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Run command: /usr/bin/python3 /root/ansible/test/lib/ansible_test/_data/versions.py
Working directory: /root/ansible
Program found: /usr/bin/python3
HOME=/root
LC_ALL=en_US.UTF-8
PATH=/root/ansible/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Run command: /usr/bin/python3.8 /root/ansible/test/lib/ansible_test/_data/versions.py
Working directory: /root/ansible
Program found: /usr/bin/python3.8
HOME=/root
LC_ALL=en_US.UTF-8
PATH=/root/ansible/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Cleaning up temporary python directory: /tmp/python-1jgtrmaq-ansible

@ghost
Copy link
Author

ghost commented Apr 30, 2021

Hi @Fred-sun Can you please review this PR? Thanks a lot!!

@ghost ghost requested a review from Fred-sun April 30, 2021 01:58
@Xiuxi-Sun
Copy link

Hi @Fred-sun Can you please review this PR? Thanks a lot!!

@techcon65 I am working on it! Thank you very much!

@haiyuazhang haiyuazhang changed the title Added new module for Virtual network links for private DNS zones New module: azure_rm_privatednszonelink May 17, 2021
techcon65 and others added 3 commits May 26, 2021 18:50
Co-authored-by: Fred-sun <37327967+Fred-sun@users.noreply.github.com>
Co-authored-by: Fred-sun <37327967+Fred-sun@users.noreply.github.com>
@Fred-sun Fred-sun added ready_for_review The PR has been modified and can be reviewed and merged and removed work in In trying to solve, or in working with contributors labels May 26, 2021
…in.yml

Co-authored-by: Fred-sun <37327967+Fred-sun@users.noreply.github.com>
@haiyuazhang haiyuazhang merged commit b95e844 into ansible-collections:dev May 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
medium_priority Medium priority new_module_pr Add new modules ready_for_review The PR has been modified and can be reviewed and merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for managing virtual network links for private dnszones
4 participants