|
|
|
@ -35,7 +35,7 @@ except ImportError:
|
|
|
|
|
has_lib_cs = False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class AnsibleCloudStack:
|
|
|
|
|
class AnsibleCloudStack(object):
|
|
|
|
|
|
|
|
|
|
def __init__(self, module):
|
|
|
|
|
if not has_lib_cs:
|
|
|
|
@ -45,6 +45,22 @@ class AnsibleCloudStack:
|
|
|
|
|
'changed': False,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Common returns, will be merged with self.returns
|
|
|
|
|
# search_for_key: replace_with_key
|
|
|
|
|
self.common_returns = {
|
|
|
|
|
'id': 'id',
|
|
|
|
|
'name': 'name',
|
|
|
|
|
'created': 'created',
|
|
|
|
|
'zonename': 'zone',
|
|
|
|
|
'state': 'state',
|
|
|
|
|
'project': 'project',
|
|
|
|
|
'account': 'account',
|
|
|
|
|
'domain': 'domain',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Init returns dict for use in subclasses
|
|
|
|
|
self.returns = {}
|
|
|
|
|
|
|
|
|
|
self.module = module
|
|
|
|
|
self._connect()
|
|
|
|
|
|
|
|
|
@ -370,14 +386,18 @@ class AnsibleCloudStack:
|
|
|
|
|
|
|
|
|
|
def get_result(self, resource):
|
|
|
|
|
if resource:
|
|
|
|
|
if 'id' in resource:
|
|
|
|
|
self.result['id'] = resource['id']
|
|
|
|
|
if 'project' in resource:
|
|
|
|
|
self.result['project'] = resource['project']
|
|
|
|
|
if 'domain' in resource:
|
|
|
|
|
self.result['domain'] = resource['domain']
|
|
|
|
|
if 'account' in resource:
|
|
|
|
|
self.result['account'] = resource['account']
|
|
|
|
|
if 'zonename' in resource:
|
|
|
|
|
self.result['zone'] = resource['zonename']
|
|
|
|
|
returns = self.common_returns.copy()
|
|
|
|
|
returns.update(self.returns)
|
|
|
|
|
for search_key, return_key in returns.iteritems():
|
|
|
|
|
if search_key in resource:
|
|
|
|
|
self.result[return_key] = resource[search_key]
|
|
|
|
|
|
|
|
|
|
# Special handling for tags
|
|
|
|
|
if 'tags' in resource:
|
|
|
|
|
self.result['tags'] = []
|
|
|
|
|
for tag in resource['tags']:
|
|
|
|
|
result_tag = {}
|
|
|
|
|
result_tag['key'] = tag['key']
|
|
|
|
|
result_tag['value'] = tag['value']
|
|
|
|
|
self.result['tags'].append(result_tag)
|
|
|
|
|
return self.result
|
|
|
|
|