--- - name: Build tags list set_fact: tags_list: "{{ tags_list | default([]) | union([[tag.key,tag.value]|join(':')]) }}" loop: "{{ lookup('dict', ip.tags | default({}, true)) }}" loop_control: loop_var: "tag" - name: Get ip address azure_rm_publicipaddress_info: ad_user: "{{ azure_ad_user | default(omit) }}" password: "{{ azure_password | default(omit) }}" subscription_id: "{{ azure_subscription_id | default(lookup('env', 'AZURE_SUBSCRIPTION_ID')) }}" client_id: "{{ azure_client_id | default(lookup('env', 'AZURE_CLIENT_ID')) }}" secret: "{{ azure_secret | default(lookup('env', 'AZURE_SECRET')) }}" tenant: "{{ azure_tenant | default(lookup('env', 'AZURE_TENANT')) }}" resource_group: "{{ ip.resource_group }}" name: "{{ ip.name | default(omit) }}" register: azure_ip_facts - name: load template template: src: azure_public_ip_address.j2 dest: /tmp/azure_public_ip_address_body.json changed_when: false - name: Create ip address azure_rm_resource: ad_user: "{{ azure_ad_user | default(omit) }}" password: "{{ azure_password | default(omit) }}" subscription_id: "{{ azure_subscription_id | default(lookup('env', 'AZURE_SUBSCRIPTION_ID')) }}" client_id: "{{ azure_client_id | default(lookup('env', 'AZURE_CLIENT_ID')) }}" secret: "{{ azure_secret | default(lookup('env', 'AZURE_SECRET')) }}" tenant: "{{ azure_tenant | default(lookup('env', 'AZURE_TENANT')) }}" resource_name: "{{ ip.name | urlencode }}" resource_type: "publicIPAddresses" resource_group: "{{ ip.resource_group }}" provider: "Network" idempotency: true body: "{{ lookup('file', '/tmp/azure_public_ip_address_body.json') }}" method: "{{ ip.method | default(omit, true) }}" subresource: "{{ ip.subresource | default(omit, true) }}" status_code: "{{ ip.status_code | default(omit, true) }}" state: "present" register: createip failed_when: - createip.rc is defined - createip.rc != 0 - '"PublicIPAddressInUseCannotUpdate" not in createip.module_stderr' ...