Added Tag functionality to Volume,Template,FWRule,PF Rule,ISO,Snapshot (#23141)
* Added Tag functionality to Volume,Template,FWRule,PF Rule,ISO,Snapshot * Update cs_firewall.py Fixed whitespace * Added doc for Cloudstack Tags in Volume,Template,FWRule,PF Rule,ISO,Snapshotpull/4420/head
parent
9713abe9f7
commit
e4206d8ef5
|
@ -115,6 +115,14 @@ options:
|
||||||
- Poll async jobs until job has finished.
|
- Poll async jobs until job has finished.
|
||||||
required: false
|
required: false
|
||||||
default: true
|
default: true
|
||||||
|
tags:
|
||||||
|
description:
|
||||||
|
- List of tags. Tags are a list of dictionaries having keys C(key) and C(value).
|
||||||
|
- "To delete all tags, set a empty list e.g. C(tags: [])."
|
||||||
|
required: false
|
||||||
|
default: null
|
||||||
|
aliases: [ 'tag' ]
|
||||||
|
version_added: "2.4"
|
||||||
extends_documentation_fragment: cloudstack
|
extends_documentation_fragment: cloudstack
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
@ -345,6 +353,11 @@ class AnsibleCloudStackFirewall(AnsibleCloudStack):
|
||||||
poll_async = self.module.params.get('poll_async')
|
poll_async = self.module.params.get('poll_async')
|
||||||
if poll_async:
|
if poll_async:
|
||||||
firewall_rule = self.poll_job(res, 'firewallrule')
|
firewall_rule = self.poll_job(res, 'firewallrule')
|
||||||
|
|
||||||
|
if firewall_rule:
|
||||||
|
firewall_rule = self.ensure_tags(resource=firewall_rule, resource_type='Firewallrule')
|
||||||
|
self.firewall_rule = firewall_rule
|
||||||
|
|
||||||
return firewall_rule
|
return firewall_rule
|
||||||
|
|
||||||
def remove_firewall_rule(self):
|
def remove_firewall_rule(self):
|
||||||
|
@ -398,6 +411,7 @@ def main():
|
||||||
account=dict(),
|
account=dict(),
|
||||||
project=dict(),
|
project=dict(),
|
||||||
poll_async=dict(type='bool', default=True),
|
poll_async=dict(type='bool', default=True),
|
||||||
|
tags=dict(type='list', aliases=['tag'], default=None),
|
||||||
))
|
))
|
||||||
|
|
||||||
required_together = cs_required_together()
|
required_together = cs_required_together()
|
||||||
|
|
|
@ -117,6 +117,14 @@ options:
|
||||||
required: false
|
required: false
|
||||||
default: true
|
default: true
|
||||||
version_added: "2.3"
|
version_added: "2.3"
|
||||||
|
tags:
|
||||||
|
description:
|
||||||
|
- List of tags. Tags are a list of dictionaries having keys C(key) and C(value).
|
||||||
|
- "To delete all tags, set a empty list e.g. C(tags: [])."
|
||||||
|
required: false
|
||||||
|
default: null
|
||||||
|
aliases: [ 'tag' ]
|
||||||
|
version_added: "2.4"
|
||||||
extends_documentation_fragment: cloudstack
|
extends_documentation_fragment: cloudstack
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
@ -255,6 +263,11 @@ class AnsibleCloudStackIso(AnsibleCloudStack):
|
||||||
if 'errortext' in res:
|
if 'errortext' in res:
|
||||||
self.module.fail_json(msg="Failed: '%s'" % res['errortext'])
|
self.module.fail_json(msg="Failed: '%s'" % res['errortext'])
|
||||||
iso = res['iso'][0]
|
iso = res['iso'][0]
|
||||||
|
|
||||||
|
if iso:
|
||||||
|
iso = self.ensure_tags(resource=iso, resource_type='ISO')
|
||||||
|
self.iso=iso
|
||||||
|
|
||||||
return iso
|
return iso
|
||||||
|
|
||||||
|
|
||||||
|
@ -325,6 +338,7 @@ def main():
|
||||||
is_dynamically_scalable = dict(type='bool', default=False),
|
is_dynamically_scalable = dict(type='bool', default=False),
|
||||||
state = dict(choices=['present', 'absent'], default='present'),
|
state = dict(choices=['present', 'absent'], default='present'),
|
||||||
poll_async = dict(type='bool', default=True),
|
poll_async = dict(type='bool', default=True),
|
||||||
|
tags=dict(type='list', aliases=['tag'], default=None),
|
||||||
))
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
|
|
|
@ -123,6 +123,14 @@ options:
|
||||||
- Poll async jobs until job has finished.
|
- Poll async jobs until job has finished.
|
||||||
required: false
|
required: false
|
||||||
default: true
|
default: true
|
||||||
|
tags:
|
||||||
|
description:
|
||||||
|
- List of tags. Tags are a list of dictionaries having keys C(key) and C(value).
|
||||||
|
- "To delete all tags, set a empty list e.g. C(tags: [])."
|
||||||
|
required: false
|
||||||
|
default: null
|
||||||
|
aliases: [ 'tag' ]
|
||||||
|
version_added: "2.4"
|
||||||
extends_documentation_fragment: cloudstack
|
extends_documentation_fragment: cloudstack
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
@ -288,6 +296,11 @@ class AnsibleCloudStackPortforwarding(AnsibleCloudStack):
|
||||||
portforwarding_rule = self.update_portforwarding_rule(portforwarding_rule)
|
portforwarding_rule = self.update_portforwarding_rule(portforwarding_rule)
|
||||||
else:
|
else:
|
||||||
portforwarding_rule = self.create_portforwarding_rule()
|
portforwarding_rule = self.create_portforwarding_rule()
|
||||||
|
|
||||||
|
if portforwarding_rule:
|
||||||
|
portforwarding_rule = self.ensure_tags(resource=portforwarding_rule, resource_type='PortForwardingRule')
|
||||||
|
self.portforwarding_rule=portforwarding_rule
|
||||||
|
|
||||||
return portforwarding_rule
|
return portforwarding_rule
|
||||||
|
|
||||||
|
|
||||||
|
@ -395,6 +408,7 @@ def main():
|
||||||
account = dict(default=None),
|
account = dict(default=None),
|
||||||
project = dict(default=None),
|
project = dict(default=None),
|
||||||
poll_async = dict(type='bool', default=True),
|
poll_async = dict(type='bool', default=True),
|
||||||
|
tags=dict(type='list', aliases=['tag'], default=None),
|
||||||
))
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
|
|
|
@ -203,6 +203,14 @@ options:
|
||||||
- Poll async jobs until job has finished.
|
- Poll async jobs until job has finished.
|
||||||
required: false
|
required: false
|
||||||
default: true
|
default: true
|
||||||
|
tags:
|
||||||
|
description:
|
||||||
|
- List of tags. Tags are a list of dictionaries having keys C(key) and C(value).
|
||||||
|
- "To delete all tags, set a empty list e.g. C(tags: [])."
|
||||||
|
required: false
|
||||||
|
default: null
|
||||||
|
aliases: [ 'tag' ]
|
||||||
|
version_added: "2.4"
|
||||||
extends_documentation_fragment: cloudstack
|
extends_documentation_fragment: cloudstack
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
@ -482,6 +490,9 @@ class AnsibleCloudStackTemplate(AnsibleCloudStack):
|
||||||
poll_async = self.module.params.get('poll_async')
|
poll_async = self.module.params.get('poll_async')
|
||||||
if poll_async:
|
if poll_async:
|
||||||
template = self.poll_job(template, 'template')
|
template = self.poll_job(template, 'template')
|
||||||
|
if template:
|
||||||
|
template = self.ensure_tags(resource=template, resource_type='Template')
|
||||||
|
|
||||||
return template
|
return template
|
||||||
|
|
||||||
|
|
||||||
|
@ -630,6 +641,7 @@ def main():
|
||||||
account = dict(default=None),
|
account = dict(default=None),
|
||||||
project = dict(default=None),
|
project = dict(default=None),
|
||||||
poll_async = dict(type='bool', default=True),
|
poll_async = dict(type='bool', default=True),
|
||||||
|
tags=dict(type='list', aliases=['tag'], default=None),
|
||||||
))
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
|
|
|
@ -82,6 +82,14 @@ options:
|
||||||
- Poll async jobs until job has finished.
|
- Poll async jobs until job has finished.
|
||||||
required: false
|
required: false
|
||||||
default: true
|
default: true
|
||||||
|
tags:
|
||||||
|
description:
|
||||||
|
- List of tags. Tags are a list of dictionaries having keys C(key) and C(value).
|
||||||
|
- "To delete all tags, set a empty list e.g. C(tags: [])."
|
||||||
|
required: false
|
||||||
|
default: null
|
||||||
|
aliases: [ 'tag' ]
|
||||||
|
version_added: "2.4"
|
||||||
extends_documentation_fragment: cloudstack
|
extends_documentation_fragment: cloudstack
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
@ -216,6 +224,9 @@ class AnsibleCloudStackVmSnapshot(AnsibleCloudStack):
|
||||||
if res and poll_async:
|
if res and poll_async:
|
||||||
snapshot = self.poll_job(res, 'vmsnapshot')
|
snapshot = self.poll_job(res, 'vmsnapshot')
|
||||||
|
|
||||||
|
if snapshot:
|
||||||
|
snapshot = self.ensure_tags(resource=snapshot, resource_type='Snapshot')
|
||||||
|
|
||||||
return snapshot
|
return snapshot
|
||||||
|
|
||||||
|
|
||||||
|
@ -268,6 +279,7 @@ def main():
|
||||||
account = dict(default=None),
|
account = dict(default=None),
|
||||||
project = dict(default=None),
|
project = dict(default=None),
|
||||||
poll_async = dict(type='bool', default=True),
|
poll_async = dict(type='bool', default=True),
|
||||||
|
tags=dict(type='list', aliases=['tag'], default=None),
|
||||||
))
|
))
|
||||||
|
|
||||||
required_together = cs_required_together()
|
required_together = cs_required_together()
|
||||||
|
|
|
@ -127,6 +127,14 @@ options:
|
||||||
- Poll async jobs until job has finished.
|
- Poll async jobs until job has finished.
|
||||||
required: false
|
required: false
|
||||||
default: true
|
default: true
|
||||||
|
tags:
|
||||||
|
description:
|
||||||
|
- List of tags. Tags are a list of dictionaries having keys C(key) and C(value).
|
||||||
|
- "To delete all tags, set a empty list e.g. C(tags: [])."
|
||||||
|
required: false
|
||||||
|
default: null
|
||||||
|
aliases: [ 'tag' ]
|
||||||
|
version_added: "2.4"
|
||||||
extends_documentation_fragment: cloudstack
|
extends_documentation_fragment: cloudstack
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
@ -338,6 +346,10 @@ class AnsibleCloudStackVolume(AnsibleCloudStack):
|
||||||
poll_async = self.module.params.get('poll_async')
|
poll_async = self.module.params.get('poll_async')
|
||||||
if poll_async:
|
if poll_async:
|
||||||
volume = self.poll_job(res, 'volume')
|
volume = self.poll_job(res, 'volume')
|
||||||
|
if volume:
|
||||||
|
volume = self.ensure_tags(resource=volume, resource_type='Volume')
|
||||||
|
self.volume=volume
|
||||||
|
|
||||||
return volume
|
return volume
|
||||||
|
|
||||||
|
|
||||||
|
@ -458,6 +470,7 @@ def main():
|
||||||
account = dict(default=None),
|
account = dict(default=None),
|
||||||
project = dict(default=None),
|
project = dict(default=None),
|
||||||
poll_async = dict(type='bool', default=True),
|
poll_async = dict(type='bool', default=True),
|
||||||
|
tags=dict(type='list', aliases=['tag'], default=None),
|
||||||
))
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
|
|
Loading…
Reference in New Issue