Skip to content

Instantly share code, notes, and snippets.

@viesti
Created September 17, 2015 13:10
Show Gist options
  • Save viesti/1febe79938c09cc29501 to your computer and use it in GitHub Desktop.
Save viesti/1febe79938c09cc29501 to your computer and use it in GitHub Desktop.
Ansible filter plugin to create rules fo ec2_group
def make_rules(hosts, ports, proto):
return [{"proto": proto,
"from_port": port,
"to_port": port,
"cidr_ip": host} for host in hosts for port in map(int, ports.split(","))]
class FilterModule(object):
def filters(self):
return {'make_rules': make_rules}
usage:
random_hosts:
- 192.168.1.2/32
- 172.16.0.2/32
ec2_group:
rules: "{{ random_hosts | make_rules('22,8080', 'tcp') }}"
@sysnet4admin
Copy link

sysnet4admin commented Jan 11, 2018

Hi viesti,

May I use this code for education purpose?
I already posted some article to use this code...actually.
Because one of user member mention this code to verify in Korea ansible user community..
Thus, I aim to look into this code.
If you have any unconcern it, please let me know.

Here is article link:
https://sysnet4admin.blogspot.kr/2018/01/ansible-plugin-python-filter.html#.WldZe9-WaiM

Thank you in advance,
Hoon Jo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment