mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-23 13:20:23 -07:00
allow use of jinja2 variables for ec2_group from_port/to_port params (#27145)
This commit is contained in:
parent
622ea7ca62
commit
24e393aef1
2 changed files with 70 additions and 0 deletions
|
@ -500,6 +500,9 @@ def serialize_group_grant(group_id, rule):
|
||||||
'FromPort': rule['from_port'],
|
'FromPort': rule['from_port'],
|
||||||
'ToPort': rule['to_port'],
|
'ToPort': rule['to_port'],
|
||||||
'UserIdGroupPairs': [{'GroupId': group_id}]}
|
'UserIdGroupPairs': [{'GroupId': group_id}]}
|
||||||
|
|
||||||
|
convert_ports_to_int(permission)
|
||||||
|
|
||||||
return permission
|
return permission
|
||||||
|
|
||||||
|
|
||||||
|
@ -539,9 +542,18 @@ def serialize_ip_grant(rule, thisip, ethertype):
|
||||||
permission.update({'IpRanges': [{'CidrIp': thisip}]})
|
permission.update({'IpRanges': [{'CidrIp': thisip}]})
|
||||||
elif ethertype == "ipv6":
|
elif ethertype == "ipv6":
|
||||||
permission.update({'Ipv6Ranges': [{'CidrIpv6': thisip}]})
|
permission.update({'Ipv6Ranges': [{'CidrIpv6': thisip}]})
|
||||||
|
|
||||||
|
convert_ports_to_int(permission)
|
||||||
|
|
||||||
return permission
|
return permission
|
||||||
|
|
||||||
|
|
||||||
|
def convert_ports_to_int(permission):
|
||||||
|
for key in ['FromPort', 'ToPort']:
|
||||||
|
if permission[key] is not None:
|
||||||
|
permission[key] = int(permission[key])
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
argument_spec = ec2_argument_spec()
|
argument_spec = ec2_argument_spec()
|
||||||
argument_spec.update(dict(
|
argument_spec.update(dict(
|
||||||
|
|
|
@ -350,6 +350,64 @@
|
||||||
- result.ip_permissions[0].user_id_group_pairs or
|
- result.ip_permissions[0].user_id_group_pairs or
|
||||||
result.ip_permissions[1].user_id_group_pairs
|
result.ip_permissions[1].user_id_group_pairs
|
||||||
|
|
||||||
|
# ============================================================
|
||||||
|
- name: test ip rules convert port numbers from string to int (expected changed=true)
|
||||||
|
ec2_group:
|
||||||
|
name: '{{ec2_group_name}}'
|
||||||
|
description: '{{ec2_group_description}}'
|
||||||
|
ec2_region: '{{ec2_region}}'
|
||||||
|
ec2_access_key: '{{ec2_access_key}}'
|
||||||
|
ec2_secret_key: '{{ec2_secret_key}}'
|
||||||
|
security_token: '{{security_token}}'
|
||||||
|
state: present
|
||||||
|
rules:
|
||||||
|
- proto: "tcp"
|
||||||
|
from_port: "8183"
|
||||||
|
to_port: "8183"
|
||||||
|
cidr_ipv6: "64:ff9b::/96"
|
||||||
|
rules_egress:
|
||||||
|
- proto: "tcp"
|
||||||
|
from_port: "8184"
|
||||||
|
to_port: "8184"
|
||||||
|
cidr_ipv6: "64:ff9b::/96"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: assert state=present (expected changed=true)
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed'
|
||||||
|
- 'result.group_id.startswith("sg-")'
|
||||||
|
|
||||||
|
# ============================================================
|
||||||
|
- name: test group rules convert port numbers from string to int (expected changed=true)
|
||||||
|
ec2_group:
|
||||||
|
name: '{{ec2_group_name}}'
|
||||||
|
description: '{{ec2_group_description}}'
|
||||||
|
ec2_region: '{{ec2_region}}'
|
||||||
|
ec2_access_key: '{{ec2_access_key}}'
|
||||||
|
ec2_secret_key: '{{ec2_secret_key}}'
|
||||||
|
security_token: '{{security_token}}'
|
||||||
|
state: present
|
||||||
|
rules:
|
||||||
|
- proto: "tcp"
|
||||||
|
from_port: "8185"
|
||||||
|
to_port: "8185"
|
||||||
|
group_id: "{{result.group_id}}"
|
||||||
|
rules_egress:
|
||||||
|
- proto: "tcp"
|
||||||
|
from_port: "8186"
|
||||||
|
to_port: "8186"
|
||||||
|
cidr_ipv6: "64:ff9b::/96"
|
||||||
|
group_id: "{{result.group_id}}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: assert state=present (expected changed=true)
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- 'result.changed'
|
||||||
|
- 'result.group_id.startswith("sg-")'
|
||||||
|
|
||||||
|
|
||||||
# ============================================================
|
# ============================================================
|
||||||
- name: test state=absent (expected changed=true)
|
- name: test state=absent (expected changed=true)
|
||||||
ec2_group:
|
ec2_group:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue