From 19e1b4de58ef556857defa976338df2344d6783d Mon Sep 17 00:00:00 2001 From: Zim Kalinowski Date: Mon, 25 Mar 2019 11:55:43 +0800 Subject: [PATCH] special case for rest module (#54236) --- lib/ansible/modules/cloud/azure/azure_rm_resource.py | 3 +++ .../modules/cloud/azure/azure_rm_resource_facts.py | 8 ++++++++ .../targets/azure_rm_resource/tasks/main.yml | 11 +++++++++++ 3 files changed, 22 insertions(+) diff --git a/lib/ansible/modules/cloud/azure/azure_rm_resource.py b/lib/ansible/modules/cloud/azure/azure_rm_resource.py index 6ef23fce1f..4407a63c20 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_resource.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_resource.py @@ -272,6 +272,9 @@ class AzureRMResource(AzureRMModuleBase): if rt['resourceType'].lower() == resourceType.lower(): self.api_version = rt['apiVersions'][0] break + else: + # if there's no provider in API version, assume Microsoft.Resources + self.api_version = '2018-05-01' if not self.api_version: self.fail("Couldn't find api version for {0}/{1}".format(provider, resourceType)) except Exception as exc: diff --git a/lib/ansible/modules/cloud/azure/azure_rm_resource_facts.py b/lib/ansible/modules/cloud/azure/azure_rm_resource_facts.py index c86c553e31..1e06a8db9a 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_resource_facts.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_resource_facts.py @@ -73,6 +73,11 @@ EXAMPLES = ''' resource_type: virtualmachinescalesets resource_name: myVmss api_version: "2017-12-01" + + - name: Query all the resources in the resource group + azure_rm_resource_facts: + resource_group: "{{ resource_group }}" + resource_type: resources ''' RETURN = ''' @@ -187,6 +192,9 @@ class AzureRMResourceFacts(AzureRMModuleBase): if rt['resourceType'].lower() == resourceType.lower(): self.api_version = rt['apiVersions'][0] break + else: + # if there's no provider in API version, assume Microsoft.Resources + self.api_version = '2018-05-01' if not self.api_version: self.fail("Couldn't find api version for {0}/{1}".format(provider, resourceType)) except Exception as exc: diff --git a/test/integration/targets/azure_rm_resource/tasks/main.yml b/test/integration/targets/azure_rm_resource/tasks/main.yml index 920ffe45f8..7c3024a5ef 100644 --- a/test/integration/targets/azure_rm_resource/tasks/main.yml +++ b/test/integration/targets/azure_rm_resource/tasks/main.yml @@ -99,6 +99,17 @@ - output.response[0]['name'] != None - output.response | length >= 1 +- name: Query all the resources in the resource group + azure_rm_resource_facts: + resource_group: "{{ resource_group }}" + resource_type: resources + register: output +- name: Assert value was returned + assert: + that: + - not output.changed + - output.response | length >= 1 + - name: Create storage account that requires LRO polling azure_rm_resource: polling_timeout: 600