|
|
@ -371,8 +371,8 @@ class AnsibleCloudStackSecurityGroupRule(AnsibleCloudStack):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
def main():
|
|
|
|
module = AnsibleModule(
|
|
|
|
argument_spec = cs_argument_spec()
|
|
|
|
argument_spec = dict(
|
|
|
|
argument_spec.update(dict(
|
|
|
|
security_group = dict(required=True),
|
|
|
|
security_group = dict(required=True),
|
|
|
|
type = dict(choices=['ingress', 'egress'], default='ingress'),
|
|
|
|
type = dict(choices=['ingress', 'egress'], default='ingress'),
|
|
|
|
cidr = dict(default='0.0.0.0/0'),
|
|
|
|
cidr = dict(default='0.0.0.0/0'),
|
|
|
@ -385,17 +385,15 @@ def main():
|
|
|
|
state = dict(choices=['present', 'absent'], default='present'),
|
|
|
|
state = dict(choices=['present', 'absent'], default='present'),
|
|
|
|
project = dict(default=None),
|
|
|
|
project = dict(default=None),
|
|
|
|
poll_async = dict(choices=BOOLEANS, default=True),
|
|
|
|
poll_async = dict(choices=BOOLEANS, default=True),
|
|
|
|
api_key = dict(default=None),
|
|
|
|
))
|
|
|
|
api_secret = dict(default=None, no_log=True),
|
|
|
|
required_together = cs_required_together()
|
|
|
|
api_url = dict(default=None),
|
|
|
|
required_together.extend([
|
|
|
|
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'],
|
|
|
|
['icmp_type', 'icmp_code'],
|
|
|
|
['api_key', 'api_secret', 'api_url'],
|
|
|
|
])
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
|
|
module = AnsibleModule(
|
|
|
|
|
|
|
|
argument_spec=argument_spec,
|
|
|
|
|
|
|
|
required_together=required_together,
|
|
|
|
mutually_exclusive = (
|
|
|
|
mutually_exclusive = (
|
|
|
|
['icmp_type', 'start_port'],
|
|
|
|
['icmp_type', 'start_port'],
|
|
|
|
['icmp_type', 'end_port'],
|
|
|
|
['icmp_type', 'end_port'],
|
|
|
|