cloudstack: implement common argument spec handling
This commit is contained in:
parent
6e4c78d165
commit
a134a71187
18 changed files with 356 additions and 424 deletions
|
@ -343,30 +343,25 @@ class AnsibleCloudStackAccount(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
name = dict(required=True),
|
||||||
|
state = dict(choices=['present', 'absent', 'enabled', 'disabled', 'locked', 'unlocked'], default='present'),
|
||||||
|
account_type = dict(choices=['user', 'root_admin', 'domain_admin'], default='user'),
|
||||||
|
network_domain = dict(default=None),
|
||||||
|
domain = dict(default='ROOT'),
|
||||||
|
email = dict(default=None),
|
||||||
|
first_name = dict(default=None),
|
||||||
|
last_name = dict(default=None),
|
||||||
|
username = dict(default=None),
|
||||||
|
password = dict(default=None),
|
||||||
|
timezone = dict(default=None),
|
||||||
|
poll_async = dict(choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
name = dict(required=True),
|
required_together=cs_required_together(),
|
||||||
state = dict(choices=['present', 'absent', 'enabled', 'disabled', 'locked', 'unlocked'], default='present'),
|
|
||||||
account_type = dict(choices=['user', 'root_admin', 'domain_admin'], default='user'),
|
|
||||||
network_domain = dict(default=None),
|
|
||||||
domain = dict(default='ROOT'),
|
|
||||||
email = dict(default=None),
|
|
||||||
first_name = dict(default=None),
|
|
||||||
last_name = dict(default=None),
|
|
||||||
username = dict(default=None),
|
|
||||||
password = dict(default=None),
|
|
||||||
timezone = dict(default=None),
|
|
||||||
poll_async = dict(choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -200,25 +200,20 @@ class AnsibleCloudStackAffinityGroup(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
name = dict(required=True),
|
||||||
|
affinty_type = dict(default=None),
|
||||||
|
description = dict(default=None),
|
||||||
|
state = dict(choices=['present', 'absent'], default='present'),
|
||||||
|
domain = dict(default=None),
|
||||||
|
account = dict(default=None),
|
||||||
|
poll_async = dict(choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
name = dict(required=True),
|
required_together=cs_required_together(),
|
||||||
affinty_type = dict(default=None),
|
|
||||||
description = dict(default=None),
|
|
||||||
state = dict(choices=['present', 'absent'], default='present'),
|
|
||||||
domain = dict(default=None),
|
|
||||||
account = dict(default=None),
|
|
||||||
poll_async = dict(choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -239,23 +239,18 @@ class AnsibleCloudStackDomain(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
path = dict(required=True),
|
||||||
|
state = dict(choices=['present', 'absent'], default='present'),
|
||||||
|
network_domain = dict(default=None),
|
||||||
|
clean_up = dict(choices=BOOLEANS, default=False),
|
||||||
|
poll_async = dict(choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
path = dict(required=True),
|
required_together=cs_required_together(),
|
||||||
state = dict(choices=['present', 'absent'], default='present'),
|
|
||||||
network_domain = dict(default=None),
|
|
||||||
clean_up = dict(choices=BOOLEANS, default=False),
|
|
||||||
poll_async = dict(choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -391,36 +391,35 @@ class AnsibleCloudStackFirewall(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
ip_address = dict(default=None),
|
||||||
|
network = dict(default=None),
|
||||||
|
cidr = dict(default='0.0.0.0/0'),
|
||||||
|
protocol = dict(choices=['tcp', 'udp', 'icmp', 'all'], default='tcp'),
|
||||||
|
type = dict(choices=['ingress', 'egress'], default='ingress'),
|
||||||
|
icmp_type = dict(type='int', default=None),
|
||||||
|
icmp_code = dict(type='int', default=None),
|
||||||
|
start_port = dict(type='int', aliases=['port'], default=None),
|
||||||
|
end_port = dict(type='int', default=None),
|
||||||
|
state = dict(choices=['present', 'absent'], default='present'),
|
||||||
|
domain = dict(default=None),
|
||||||
|
account = dict(default=None),
|
||||||
|
project = dict(default=None),
|
||||||
|
poll_async = dict(choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
|
||||||
|
required_together = cs_required_together()
|
||||||
|
required_together.extend([
|
||||||
|
['icmp_type', 'icmp_code'],
|
||||||
|
])
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
ip_address = dict(default=None),
|
required_together=required_together,
|
||||||
network = dict(default=None),
|
|
||||||
cidr = dict(default='0.0.0.0/0'),
|
|
||||||
protocol = dict(choices=['tcp', 'udp', 'icmp', 'all'], default='tcp'),
|
|
||||||
type = dict(choices=['ingress', 'egress'], default='ingress'),
|
|
||||||
icmp_type = dict(type='int', default=None),
|
|
||||||
icmp_code = dict(type='int', default=None),
|
|
||||||
start_port = dict(type='int', aliases=['port'], default=None),
|
|
||||||
end_port = dict(type='int', default=None),
|
|
||||||
state = dict(choices=['present', 'absent'], default='present'),
|
|
||||||
domain = dict(default=None),
|
|
||||||
account = dict(default=None),
|
|
||||||
project = dict(default=None),
|
|
||||||
poll_async = dict(choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_one_of = (
|
required_one_of = (
|
||||||
['ip_address', 'network'],
|
['ip_address', 'network'],
|
||||||
),
|
),
|
||||||
required_together = (
|
|
||||||
['icmp_type', 'icmp_code'],
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
mutually_exclusive = (
|
mutually_exclusive = (
|
||||||
['icmp_type', 'start_port'],
|
['icmp_type', 'start_port'],
|
||||||
['icmp_type', 'end_port'],
|
['icmp_type', 'end_port'],
|
||||||
|
|
|
@ -818,52 +818,51 @@ class AnsibleCloudStackInstance(AnsibleCloudStack):
|
||||||
return self.result
|
return self.result
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
name = dict(required=True),
|
||||||
|
display_name = dict(default=None),
|
||||||
|
group = dict(default=None),
|
||||||
|
state = dict(choices=['present', 'deployed', 'started', 'stopped', 'restarted', 'absent', 'destroyed', 'expunged'], default='present'),
|
||||||
|
service_offering = dict(default=None),
|
||||||
|
cpu = dict(default=None, type='int'),
|
||||||
|
cpu_speed = dict(default=None, type='int'),
|
||||||
|
memory = dict(default=None, type='int'),
|
||||||
|
template = dict(default=None),
|
||||||
|
iso = dict(default=None),
|
||||||
|
networks = dict(type='list', aliases=[ 'network' ], default=None),
|
||||||
|
ip_to_networks = dict(type='list', aliases=['ip_to_network'], default=None),
|
||||||
|
ip_address = dict(defaul=None),
|
||||||
|
ip6_address = dict(defaul=None),
|
||||||
|
disk_offering = dict(default=None),
|
||||||
|
disk_size = dict(type='int', default=None),
|
||||||
|
root_disk_size = dict(type='int', default=None),
|
||||||
|
keyboard = dict(choices=['de', 'de-ch', 'es', 'fi', 'fr', 'fr-be', 'fr-ch', 'is', 'it', 'jp', 'nl-be', 'no', 'pt', 'uk', 'us'], default=None),
|
||||||
|
hypervisor = dict(choices=['KVM', 'VMware', 'BareMetal', 'XenServer', 'LXC', 'HyperV', 'UCS', 'OVM', 'Simulator'], default=None),
|
||||||
|
security_groups = dict(type='list', aliases=[ 'security_group' ], default=[]),
|
||||||
|
affinity_groups = dict(type='list', aliases=[ 'affinity_group' ], default=[]),
|
||||||
|
domain = dict(default=None),
|
||||||
|
account = dict(default=None),
|
||||||
|
project = dict(default=None),
|
||||||
|
user_data = dict(default=None),
|
||||||
|
zone = dict(default=None),
|
||||||
|
ssh_key = dict(default=None),
|
||||||
|
force = dict(choices=BOOLEANS, default=False),
|
||||||
|
tags = dict(type='list', aliases=[ 'tag' ], default=None),
|
||||||
|
poll_async = dict(choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
|
||||||
|
required_together = cs_required_together()
|
||||||
|
required_together.extend([
|
||||||
|
['cpu', 'cpu_speed', 'memory'],
|
||||||
|
])
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
name = dict(required=True),
|
required_together=required_together,
|
||||||
display_name = dict(default=None),
|
|
||||||
group = dict(default=None),
|
|
||||||
state = dict(choices=['present', 'deployed', 'started', 'stopped', 'restarted', 'absent', 'destroyed', 'expunged'], default='present'),
|
|
||||||
service_offering = dict(default=None),
|
|
||||||
cpu = dict(default=None, type='int'),
|
|
||||||
cpu_speed = dict(default=None, type='int'),
|
|
||||||
memory = dict(default=None, type='int'),
|
|
||||||
template = dict(default=None),
|
|
||||||
iso = dict(default=None),
|
|
||||||
networks = dict(type='list', aliases=[ 'network' ], default=None),
|
|
||||||
ip_to_networks = dict(type='list', aliases=['ip_to_network'], default=None),
|
|
||||||
ip_address = dict(defaul=None),
|
|
||||||
ip6_address = dict(defaul=None),
|
|
||||||
disk_offering = dict(default=None),
|
|
||||||
disk_size = dict(type='int', default=None),
|
|
||||||
root_disk_size = dict(type='int', default=None),
|
|
||||||
keyboard = dict(choices=['de', 'de-ch', 'es', 'fi', 'fr', 'fr-be', 'fr-ch', 'is', 'it', 'jp', 'nl-be', 'no', 'pt', 'uk', 'us'], default=None),
|
|
||||||
hypervisor = dict(choices=['KVM', 'VMware', 'BareMetal', 'XenServer', 'LXC', 'HyperV', 'UCS', 'OVM', 'Simulator'], default=None),
|
|
||||||
security_groups = dict(type='list', aliases=[ 'security_group' ], default=[]),
|
|
||||||
affinity_groups = dict(type='list', aliases=[ 'affinity_group' ], default=[]),
|
|
||||||
domain = dict(default=None),
|
|
||||||
account = dict(default=None),
|
|
||||||
project = dict(default=None),
|
|
||||||
user_data = dict(default=None),
|
|
||||||
zone = dict(default=None),
|
|
||||||
ssh_key = dict(default=None),
|
|
||||||
force = dict(choices=BOOLEANS, default=False),
|
|
||||||
tags = dict(type='list', aliases=[ 'tag' ], default=None),
|
|
||||||
poll_async = dict(choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
mutually_exclusive = (
|
mutually_exclusive = (
|
||||||
['template', 'iso'],
|
['template', 'iso'],
|
||||||
),
|
),
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
['cpu', 'cpu_speed', 'memory'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -170,23 +170,18 @@ class AnsibleCloudStackInstanceGroup(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
name = dict(required=True),
|
||||||
|
state = dict(default='present', choices=['present', 'absent']),
|
||||||
|
domain = dict(default=None),
|
||||||
|
account = dict(default=None),
|
||||||
|
project = dict(default=None),
|
||||||
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
name = dict(required=True),
|
required_together=cs_required_together(),
|
||||||
state = dict(default='present', choices=['present', 'absent']),
|
|
||||||
domain = dict(default=None),
|
|
||||||
account = dict(default=None),
|
|
||||||
project = dict(default=None),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -224,26 +224,21 @@ class AnsibleCloudStackIPAddress(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
ip_address = dict(required=False),
|
||||||
|
state = dict(choices=['present', 'absent'], default='present'),
|
||||||
|
zone = dict(default=None),
|
||||||
|
domain = dict(default=None),
|
||||||
|
account = dict(default=None),
|
||||||
|
network = dict(default=None),
|
||||||
|
project = dict(default=None),
|
||||||
|
poll_async = dict(choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
ip_address = dict(required=False),
|
required_together=cs_required_together(),
|
||||||
state = dict(choices=['present', 'absent'], default='present'),
|
|
||||||
zone = dict(default=None),
|
|
||||||
domain = dict(default=None),
|
|
||||||
account = dict(default=None),
|
|
||||||
network = dict(default=None),
|
|
||||||
project = dict(default=None),
|
|
||||||
poll_async = dict(choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -295,32 +295,27 @@ class AnsibleCloudStackIso(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
name = dict(required=True),
|
||||||
|
url = dict(default=None),
|
||||||
|
os_type = dict(default=None),
|
||||||
|
zone = dict(default=None),
|
||||||
|
iso_filter = dict(default='self', choices=[ 'featured', 'self', 'selfexecutable','sharedexecutable','executable', 'community' ]),
|
||||||
|
domain = dict(default=None),
|
||||||
|
account = dict(default=None),
|
||||||
|
project = dict(default=None),
|
||||||
|
checksum = dict(default=None),
|
||||||
|
is_ready = dict(choices=BOOLEANS, default=False),
|
||||||
|
bootable = dict(choices=BOOLEANS, default=True),
|
||||||
|
is_featured = dict(choices=BOOLEANS, default=False),
|
||||||
|
is_dynamically_scalable = dict(choices=BOOLEANS, default=False),
|
||||||
|
state = dict(choices=['present', 'absent'], default='present'),
|
||||||
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
name = dict(required=True),
|
required_together=cs_required_together(),
|
||||||
url = dict(default=None),
|
|
||||||
os_type = dict(default=None),
|
|
||||||
zone = dict(default=None),
|
|
||||||
iso_filter = dict(default='self', choices=[ 'featured', 'self', 'selfexecutable','sharedexecutable','executable', 'community' ]),
|
|
||||||
domain = dict(default=None),
|
|
||||||
account = dict(default=None),
|
|
||||||
project = dict(default=None),
|
|
||||||
checksum = dict(default=None),
|
|
||||||
is_ready = dict(choices=BOOLEANS, default=False),
|
|
||||||
bootable = dict(choices=BOOLEANS, default=True),
|
|
||||||
is_featured = dict(choices=BOOLEANS, default=False),
|
|
||||||
is_dynamically_scalable = dict(choices=BOOLEANS, default=False),
|
|
||||||
state = dict(choices=['present', 'absent'], default='present'),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -522,43 +522,41 @@ class AnsibleCloudStackNetwork(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
name = dict(required=True),
|
||||||
|
display_text = dict(default=None),
|
||||||
|
network_offering = dict(default=None),
|
||||||
|
zone = dict(default=None),
|
||||||
|
start_ip = dict(default=None),
|
||||||
|
end_ip = dict(default=None),
|
||||||
|
gateway = dict(default=None),
|
||||||
|
netmask = dict(default=None),
|
||||||
|
start_ipv6 = dict(default=None),
|
||||||
|
end_ipv6 = dict(default=None),
|
||||||
|
cidr_ipv6 = dict(default=None),
|
||||||
|
gateway_ipv6 = dict(default=None),
|
||||||
|
vlan = dict(default=None),
|
||||||
|
vpc = dict(default=None),
|
||||||
|
isolated_pvlan = dict(default=None),
|
||||||
|
clean_up = dict(type='bool', choices=BOOLEANS, default=False),
|
||||||
|
network_domain = dict(default=None),
|
||||||
|
state = dict(choices=['present', 'absent', 'restarted' ], default='present'),
|
||||||
|
acl_type = dict(choices=['account', 'domain'], default='account'),
|
||||||
|
project = dict(default=None),
|
||||||
|
domain = dict(default=None),
|
||||||
|
account = dict(default=None),
|
||||||
|
poll_async = dict(type='bool', choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
required_together = cs_required_together()
|
||||||
|
required_together.extend([
|
||||||
|
['start_ip', 'netmask', 'gateway'],
|
||||||
|
['start_ipv6', 'cidr_ipv6', 'gateway_ipv6'],
|
||||||
|
])
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
name = dict(required=True),
|
required_together=required_together,
|
||||||
display_text = dict(default=None),
|
|
||||||
network_offering = dict(default=None),
|
|
||||||
zone = dict(default=None),
|
|
||||||
start_ip = dict(default=None),
|
|
||||||
end_ip = dict(default=None),
|
|
||||||
gateway = dict(default=None),
|
|
||||||
netmask = dict(default=None),
|
|
||||||
start_ipv6 = dict(default=None),
|
|
||||||
end_ipv6 = dict(default=None),
|
|
||||||
cidr_ipv6 = dict(default=None),
|
|
||||||
gateway_ipv6 = dict(default=None),
|
|
||||||
vlan = dict(default=None),
|
|
||||||
vpc = dict(default=None),
|
|
||||||
isolated_pvlan = dict(default=None),
|
|
||||||
clean_up = dict(type='bool', choices=BOOLEANS, default=False),
|
|
||||||
network_domain = dict(default=None),
|
|
||||||
state = dict(choices=['present', 'absent', 'restarted' ], default='present'),
|
|
||||||
acl_type = dict(choices=['account', 'domain'], default='account'),
|
|
||||||
project = dict(default=None),
|
|
||||||
domain = dict(default=None),
|
|
||||||
account = dict(default=None),
|
|
||||||
poll_async = dict(type='bool', choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
['start_ip', 'netmask', 'gateway'],
|
|
||||||
['start_ipv6', 'cidr_ipv6', 'gateway_ipv6'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -368,33 +368,28 @@ class AnsibleCloudStackPortforwarding(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
ip_address = dict(required=True),
|
||||||
|
protocol= dict(choices=['tcp', 'udp'], default='tcp'),
|
||||||
|
public_port = dict(type='int', required=True),
|
||||||
|
public_end_port = dict(type='int', default=None),
|
||||||
|
private_port = dict(type='int', required=True),
|
||||||
|
private_end_port = dict(type='int', default=None),
|
||||||
|
state = dict(choices=['present', 'absent'], default='present'),
|
||||||
|
open_firewall = dict(choices=BOOLEANS, default=False),
|
||||||
|
vm_guest_ip = dict(default=None),
|
||||||
|
vm = dict(default=None),
|
||||||
|
zone = dict(default=None),
|
||||||
|
domain = dict(default=None),
|
||||||
|
account = dict(default=None),
|
||||||
|
project = dict(default=None),
|
||||||
|
poll_async = dict(choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
ip_address = dict(required=True),
|
required_together=cs_required_together(),
|
||||||
protocol= dict(choices=['tcp', 'udp'], default='tcp'),
|
|
||||||
public_port = dict(type='int', required=True),
|
|
||||||
public_end_port = dict(type='int', default=None),
|
|
||||||
private_port = dict(type='int', required=True),
|
|
||||||
private_end_port = dict(type='int', default=None),
|
|
||||||
state = dict(choices=['present', 'absent'], default='present'),
|
|
||||||
open_firewall = dict(choices=BOOLEANS, default=False),
|
|
||||||
vm_guest_ip = dict(default=None),
|
|
||||||
vm = dict(default=None),
|
|
||||||
zone = dict(default=None),
|
|
||||||
domain = dict(default=None),
|
|
||||||
account = dict(default=None),
|
|
||||||
project = dict(default=None),
|
|
||||||
poll_async = dict(choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -259,24 +259,19 @@ class AnsibleCloudStackProject(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
name = dict(required=True),
|
||||||
|
display_text = dict(default=None),
|
||||||
|
state = dict(choices=['present', 'absent', 'active', 'suspended' ], default='present'),
|
||||||
|
domain = dict(default=None),
|
||||||
|
account = dict(default=None),
|
||||||
|
poll_async = dict(type='bool', choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
name = dict(required=True),
|
required_together=cs_required_together(),
|
||||||
display_text = dict(default=None),
|
|
||||||
state = dict(choices=['present', 'absent', 'active', 'suspended' ], default='present'),
|
|
||||||
domain = dict(default=None),
|
|
||||||
account = dict(default=None),
|
|
||||||
poll_async = dict(type='bool', choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -150,22 +150,17 @@ class AnsibleCloudStackSecurityGroup(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
name = dict(required=True),
|
||||||
|
description = dict(default=None),
|
||||||
|
state = dict(choices=['present', 'absent'], default='present'),
|
||||||
|
project = dict(default=None),
|
||||||
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
name = dict(required=True),
|
required_together=cs_required_together(),
|
||||||
description = dict(default=None),
|
|
||||||
state = dict(choices=['present', 'absent'], default='present'),
|
|
||||||
project = dict(default=None),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -370,31 +370,29 @@ class AnsibleCloudStackSecurityGroupRule(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
security_group = dict(required=True),
|
||||||
|
type = dict(choices=['ingress', 'egress'], default='ingress'),
|
||||||
|
cidr = dict(default='0.0.0.0/0'),
|
||||||
|
user_security_group = dict(default=None),
|
||||||
|
protocol = dict(choices=['tcp', 'udp', 'icmp', 'ah', 'esp', 'gre'], default='tcp'),
|
||||||
|
icmp_type = dict(type='int', default=None),
|
||||||
|
icmp_code = dict(type='int', default=None),
|
||||||
|
start_port = dict(type='int', default=None, aliases=['port']),
|
||||||
|
end_port = dict(type='int', default=None),
|
||||||
|
state = dict(choices=['present', 'absent'], default='present'),
|
||||||
|
project = dict(default=None),
|
||||||
|
poll_async = dict(choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
required_together = cs_required_together()
|
||||||
|
required_together.extend([
|
||||||
|
['icmp_type', 'icmp_code'],
|
||||||
|
])
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
security_group = dict(required=True),
|
required_together=required_together,
|
||||||
type = dict(choices=['ingress', 'egress'], default='ingress'),
|
|
||||||
cidr = dict(default='0.0.0.0/0'),
|
|
||||||
user_security_group = dict(default=None),
|
|
||||||
protocol = dict(choices=['tcp', 'udp', 'icmp', 'ah', 'esp', 'gre'], default='tcp'),
|
|
||||||
icmp_type = dict(type='int', default=None),
|
|
||||||
icmp_code = dict(type='int', default=None),
|
|
||||||
start_port = dict(type='int', default=None, aliases=['port']),
|
|
||||||
end_port = dict(type='int', default=None),
|
|
||||||
state = dict(choices=['present', 'absent'], default='present'),
|
|
||||||
project = dict(default=None),
|
|
||||||
poll_async = dict(choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['icmp_type', 'icmp_code'],
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
mutually_exclusive = (
|
mutually_exclusive = (
|
||||||
['icmp_type', 'start_port'],
|
['icmp_type', 'start_port'],
|
||||||
['icmp_type', 'end_port'],
|
['icmp_type', 'end_port'],
|
||||||
|
|
|
@ -205,24 +205,19 @@ class AnsibleCloudStackSshKey(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
name = dict(required=True),
|
||||||
|
public_key = dict(default=None),
|
||||||
|
domain = dict(default=None),
|
||||||
|
account = dict(default=None),
|
||||||
|
project = dict(default=None),
|
||||||
|
state = dict(choices=['present', 'absent'], default='present'),
|
||||||
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
name = dict(required=True),
|
required_together=cs_required_together(),
|
||||||
public_key = dict(default=None),
|
|
||||||
domain = dict(default=None),
|
|
||||||
account = dict(default=None),
|
|
||||||
project = dict(default=None),
|
|
||||||
state = dict(choices=['present', 'absent'], default='present'),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -259,27 +259,22 @@ class AnsibleCloudStackStaticNat(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
ip_address = dict(required=True),
|
||||||
|
vm = dict(default=None),
|
||||||
|
vm_guest_ip = dict(default=None),
|
||||||
|
state = dict(choices=['present', 'absent'], default='present'),
|
||||||
|
zone = dict(default=None),
|
||||||
|
domain = dict(default=None),
|
||||||
|
account = dict(default=None),
|
||||||
|
project = dict(default=None),
|
||||||
|
poll_async = dict(choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
ip_address = dict(required=True),
|
required_together=cs_required_together(),
|
||||||
vm = dict(default=None),
|
|
||||||
vm_guest_ip = dict(default=None),
|
|
||||||
state = dict(choices=['present', 'absent'], default='present'),
|
|
||||||
zone = dict(default=None),
|
|
||||||
domain = dict(default=None),
|
|
||||||
account = dict(default=None),
|
|
||||||
project = dict(default=None),
|
|
||||||
poll_async = dict(choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -529,51 +529,50 @@ class AnsibleCloudStackTemplate(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
name = dict(required=True),
|
||||||
|
display_text = dict(default=None),
|
||||||
|
url = dict(default=None),
|
||||||
|
vm = dict(default=None),
|
||||||
|
snapshot = dict(default=None),
|
||||||
|
os_type = dict(default=None),
|
||||||
|
is_ready = dict(type='bool', choices=BOOLEANS, default=False),
|
||||||
|
is_public = dict(type='bool', choices=BOOLEANS, default=True),
|
||||||
|
is_featured = dict(type='bool', choices=BOOLEANS, default=False),
|
||||||
|
is_dynamically_scalable = dict(type='bool', choices=BOOLEANS, default=False),
|
||||||
|
is_extractable = dict(type='bool', choices=BOOLEANS, default=False),
|
||||||
|
is_routing = dict(type='bool', choices=BOOLEANS, default=False),
|
||||||
|
checksum = dict(default=None),
|
||||||
|
template_filter = dict(default='self', choices=['featured', 'self', 'selfexecutable', 'sharedexecutable', 'executable', 'community']),
|
||||||
|
hypervisor = dict(choices=['KVM', 'VMware', 'BareMetal', 'XenServer', 'LXC', 'HyperV', 'UCS', 'OVM', 'Simulator'], default=None),
|
||||||
|
requires_hvm = dict(type='bool', choices=BOOLEANS, default=False),
|
||||||
|
password_enabled = dict(type='bool', choices=BOOLEANS, default=False),
|
||||||
|
template_tag = dict(default=None),
|
||||||
|
sshkey_enabled = dict(type='bool', choices=BOOLEANS, default=False),
|
||||||
|
format = dict(choices=['QCOW2', 'RAW', 'VHD', 'OVA'], default=None),
|
||||||
|
details = dict(default=None),
|
||||||
|
bits = dict(type='int', choices=[ 32, 64 ], default=64),
|
||||||
|
state = dict(choices=['present', 'absent'], default='present'),
|
||||||
|
cross_zones = dict(type='bool', choices=BOOLEANS, default=False),
|
||||||
|
zone = dict(default=None),
|
||||||
|
domain = dict(default=None),
|
||||||
|
account = dict(default=None),
|
||||||
|
project = dict(default=None),
|
||||||
|
poll_async = dict(type='bool', choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
|
||||||
|
required_together = cs_required_together()
|
||||||
|
required_together.extend([
|
||||||
|
['format', 'url', 'hypervisor'],
|
||||||
|
])
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
name = dict(required=True),
|
required_together=required_together,
|
||||||
display_text = dict(default=None),
|
|
||||||
url = dict(default=None),
|
|
||||||
vm = dict(default=None),
|
|
||||||
snapshot = dict(default=None),
|
|
||||||
os_type = dict(default=None),
|
|
||||||
is_ready = dict(type='bool', choices=BOOLEANS, default=False),
|
|
||||||
is_public = dict(type='bool', choices=BOOLEANS, default=True),
|
|
||||||
is_featured = dict(type='bool', choices=BOOLEANS, default=False),
|
|
||||||
is_dynamically_scalable = dict(type='bool', choices=BOOLEANS, default=False),
|
|
||||||
is_extractable = dict(type='bool', choices=BOOLEANS, default=False),
|
|
||||||
is_routing = dict(type='bool', choices=BOOLEANS, default=False),
|
|
||||||
checksum = dict(default=None),
|
|
||||||
template_filter = dict(default='self', choices=['featured', 'self', 'selfexecutable', 'sharedexecutable', 'executable', 'community']),
|
|
||||||
hypervisor = dict(choices=['KVM', 'VMware', 'BareMetal', 'XenServer', 'LXC', 'HyperV', 'UCS', 'OVM', 'Simulator'], default=None),
|
|
||||||
requires_hvm = dict(type='bool', choices=BOOLEANS, default=False),
|
|
||||||
password_enabled = dict(type='bool', choices=BOOLEANS, default=False),
|
|
||||||
template_tag = dict(default=None),
|
|
||||||
sshkey_enabled = dict(type='bool', choices=BOOLEANS, default=False),
|
|
||||||
format = dict(choices=['QCOW2', 'RAW', 'VHD', 'OVA'], default=None),
|
|
||||||
details = dict(default=None),
|
|
||||||
bits = dict(type='int', choices=[ 32, 64 ], default=64),
|
|
||||||
state = dict(choices=['present', 'absent'], default='present'),
|
|
||||||
cross_zones = dict(type='bool', choices=BOOLEANS, default=False),
|
|
||||||
zone = dict(default=None),
|
|
||||||
domain = dict(default=None),
|
|
||||||
account = dict(default=None),
|
|
||||||
project = dict(default=None),
|
|
||||||
poll_async = dict(type='bool', choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
mutually_exclusive = (
|
mutually_exclusive = (
|
||||||
['url', 'vm'],
|
['url', 'vm'],
|
||||||
),
|
),
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
['format', 'url', 'hypervisor'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -404,28 +404,23 @@ class AnsibleCloudStackUser(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
username = dict(required=True),
|
||||||
|
account = dict(default=None),
|
||||||
|
state = dict(choices=['present', 'absent', 'enabled', 'disabled', 'locked', 'unlocked'], default='present'),
|
||||||
|
domain = dict(default='ROOT'),
|
||||||
|
email = dict(default=None),
|
||||||
|
first_name = dict(default=None),
|
||||||
|
last_name = dict(default=None),
|
||||||
|
password = dict(default=None),
|
||||||
|
timezone = dict(default=None),
|
||||||
|
poll_async = dict(choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
username = dict(required=True),
|
required_together=cs_required_together(),
|
||||||
account = dict(default=None),
|
|
||||||
state = dict(choices=['present', 'absent', 'enabled', 'disabled', 'locked', 'unlocked'], default='present'),
|
|
||||||
domain = dict(default='ROOT'),
|
|
||||||
email = dict(default=None),
|
|
||||||
first_name = dict(default=None),
|
|
||||||
last_name = dict(default=None),
|
|
||||||
password = dict(default=None),
|
|
||||||
timezone = dict(default=None),
|
|
||||||
poll_async = dict(choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -256,29 +256,28 @@ class AnsibleCloudStackVmSnapshot(AnsibleCloudStack):
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
argument_spec = cs_argument_spec()
|
||||||
|
argument_spec.update(dict(
|
||||||
|
name = dict(required=True, aliases=['display_name']),
|
||||||
|
vm = dict(required=True),
|
||||||
|
description = dict(default=None),
|
||||||
|
zone = dict(default=None),
|
||||||
|
snapshot_memory = dict(choices=BOOLEANS, default=False),
|
||||||
|
state = dict(choices=['present', 'absent', 'revert'], default='present'),
|
||||||
|
domain = dict(default=None),
|
||||||
|
account = dict(default=None),
|
||||||
|
project = dict(default=None),
|
||||||
|
poll_async = dict(type='bool', choices=BOOLEANS, default=True),
|
||||||
|
))
|
||||||
|
|
||||||
|
required_together = cs_required_together()
|
||||||
|
required_together.extend([
|
||||||
|
['icmp_type', 'icmp_code'],
|
||||||
|
])
|
||||||
|
|
||||||
module = AnsibleModule(
|
module = AnsibleModule(
|
||||||
argument_spec = dict(
|
argument_spec=argument_spec,
|
||||||
name = dict(required=True, aliases=['display_name']),
|
required_together=required_together,
|
||||||
vm = dict(required=True),
|
|
||||||
description = dict(default=None),
|
|
||||||
zone = dict(default=None),
|
|
||||||
snapshot_memory = dict(choices=BOOLEANS, default=False),
|
|
||||||
state = dict(choices=['present', 'absent', 'revert'], default='present'),
|
|
||||||
domain = dict(default=None),
|
|
||||||
account = dict(default=None),
|
|
||||||
project = dict(default=None),
|
|
||||||
poll_async = dict(choices=BOOLEANS, default=True),
|
|
||||||
api_key = dict(default=None),
|
|
||||||
api_secret = dict(default=None, no_log=True),
|
|
||||||
api_url = dict(default=None),
|
|
||||||
api_http_method = dict(choices=['get', 'post'], default='get'),
|
|
||||||
api_timeout = dict(type='int', default=10),
|
|
||||||
api_region = dict(default='cloudstack'),
|
|
||||||
),
|
|
||||||
required_together = (
|
|
||||||
['icmp_type', 'icmp_code'],
|
|
||||||
['api_key', 'api_secret', 'api_url'],
|
|
||||||
),
|
|
||||||
supports_check_mode=True
|
supports_check_mode=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue