Commit 333c623b by Rene Moser

cloudstack: implement account und domain support in utils

parent af74d7f1
...@@ -121,8 +121,11 @@ class AnsibleCloudStack: ...@@ -121,8 +121,11 @@ class AnsibleCloudStack:
project = self.module.params.get('project') project = self.module.params.get('project')
if not project: if not project:
return None return None
args = {}
projects = self.cs.listProjects(listall=True) args['listall'] = True
args['account'] = self.get_account(key='name')
args['domainid'] = self.get_domain(key='id')
projects = self.cs.listProjects(**args)
if projects: if projects:
for p in projects['project']: for p in projects['project']:
if project in [ p['name'], p['displaytext'], p['id'] ]: if project in [ p['name'], p['displaytext'], p['id'] ]:
...@@ -146,6 +149,8 @@ class AnsibleCloudStack: ...@@ -146,6 +149,8 @@ class AnsibleCloudStack:
args = {} args = {}
args['ipaddress'] = ip_address args['ipaddress'] = ip_address
args['account'] = self.get_account(key='name')
args['domainid'] = self.get_domain(key='id')
args['projectid'] = self.get_project(key='id') args['projectid'] = self.get_project(key='id')
ip_addresses = self.cs.listPublicIpAddresses(**args) ip_addresses = self.cs.listPublicIpAddresses(**args)
...@@ -170,6 +175,8 @@ class AnsibleCloudStack: ...@@ -170,6 +175,8 @@ class AnsibleCloudStack:
self.module.fail_json(msg="Virtual machine param 'vm' is required") self.module.fail_json(msg="Virtual machine param 'vm' is required")
args = {} args = {}
args['account'] = self.get_account(key='name')
args['domainid'] = self.get_domain(key='id')
args['projectid'] = self.get_project(key='id') args['projectid'] = self.get_project(key='id')
args['zoneid'] = self.get_zone(key='id') args['zoneid'] = self.get_zone(key='id')
vms = self.cs.listVirtualMachines(**args) vms = self.cs.listVirtualMachines(**args)
...@@ -255,8 +262,13 @@ class AnsibleCloudStack: ...@@ -255,8 +262,13 @@ class AnsibleCloudStack:
if not account: if not account:
return None return None
domain = self.module.params.get('domain')
if not domain:
self.module.fail_json(msg="Account must be specified with Domain")
args = {} args = {}
args['name'] = account args['name'] = account
args['domainid'] = self.get_domain(key='id')
args['listall'] = True args['listall'] = True
accounts = self.cs.listAccounts(**args) accounts = self.cs.listAccounts(**args)
if accounts: if accounts:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment