|
|
|
@ -30,7 +30,6 @@ options:
|
|
|
|
|
api_version:
|
|
|
|
|
description:
|
|
|
|
|
- Specific API version to be used.
|
|
|
|
|
required: yes
|
|
|
|
|
provider:
|
|
|
|
|
description:
|
|
|
|
|
- Provider type, should be specified in no URL is given
|
|
|
|
@ -121,8 +120,7 @@ class AzureRMResourceFacts(AzureRMModuleBase):
|
|
|
|
|
default=[]
|
|
|
|
|
),
|
|
|
|
|
api_version=dict(
|
|
|
|
|
type='str',
|
|
|
|
|
required=True
|
|
|
|
|
type='str'
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
# store the results of the module operation
|
|
|
|
@ -176,6 +174,24 @@ class AzureRMResourceFacts(AzureRMModuleBase):
|
|
|
|
|
if orphan is not None:
|
|
|
|
|
self.url += '/' + orphan
|
|
|
|
|
|
|
|
|
|
# if api_version was not specified, get latest one
|
|
|
|
|
if not self.api_version:
|
|
|
|
|
try:
|
|
|
|
|
# extract provider and resource type
|
|
|
|
|
if "/providers/" in self.url:
|
|
|
|
|
provider = self.url.split("/providers/")[1].split("/")[0]
|
|
|
|
|
resourceType = self.url.split(provider + "/")[1].split("/")[0]
|
|
|
|
|
url = "/subscriptions/" + self.subscription_id + "/providers/" + provider
|
|
|
|
|
api_versions = json.loads(self.mgmt_client.query(url, "GET", {'api-version': '2015-01-01'}, None, None, [200], 0, 0).text)
|
|
|
|
|
for rt in api_versions['resourceTypes']:
|
|
|
|
|
if rt['resourceType'].lower() == resourceType.lower():
|
|
|
|
|
self.api_version = rt['apiVersions'][0]
|
|
|
|
|
break
|
|
|
|
|
if not self.api_version:
|
|
|
|
|
self.fail("Couldn't find api version for {0}/{1}".format(provider, resourceType))
|
|
|
|
|
except Exception as exc:
|
|
|
|
|
self.fail("Failed to obtain API version: {0}".format(str(exc)))
|
|
|
|
|
|
|
|
|
|
self.results['url'] = self.url
|
|
|
|
|
|
|
|
|
|
query_parameters = {}
|
|
|
|
|