Many thanks for this tip.
It's clever

On Wednesday, June 11, 2014 at 10:32:23 PM UTC+7, andreub wrote:
>
> Hi Jaime,
>
> I had the exact same problem. ec2_group modules recreates the rules every 
> time you use the it, so if you're running it in a loop, it will create the 
> group the rule for the last item only.
>
> A workaround that I implemented is to generate a var.yml with a var 
> defined with the rules out of a template, and then source it dynamically:
>
> ---
>   - name: Create rules
>     sudo: False
>     local_action:
>       module: template src=sg_rules.j2 
> dest=./roles/postgres-server/vars/rules.yml
>
>   - name: Load vars
>     sudo: False
>     include_vars: rules.yml
>
>   - name: Open ports for DB clients
>     sudo: False
>     local_action:
>       module: ec2_group
>       aws_access_key: "{{ ofertia_s3_access_key }}"
>       aws_secret_key: "{{ ofertia_s3_secret_key }}"
>       name: "{{ aws_sg }}"
>       description: "{{ aws_sg }} group"
>       region: "{{ aws_region }}"
>       rules: "{{ security_rules }}"
>
> Where my j2 template is something like:
> ---
> security_rules:
> {% for trusted_host in trusted_hosts %}
>   -
>     proto: tcp
>     from_port: 22
>     to_port: 22
>     cidr_ip: {{ trusted_host.ip }}/32
>   -
>     proto: icmp
>     from_port: -1
>     to_port: -1
>     cidr_ip: {{ trusted_host.ip }}/32
> {% endfor %}
>
>
> Andreub
>
> El lunes, 9 de junio de 2014 22:50:33 UTC+2, Jaime Gago escribió:
>>
>> Hey there,
>> I'm trying to write a playbook that gets the latest Pingdom probe servers 
>> IPs and add updates an EC2 Security groups rules with those IPs, but I'm 
>> failing are iterating the IPs in the rule and only the latest IPs is added 
>> (I'm replacing instead of appending). I opened an ticket on github (1) but 
>> because I hadn't detailed out the whole use case it got closed without 
>> really answering the issue; so I thought I'd post here see what others are 
>> thinking. 
>> I'm not sure whether I'm trying to hard to fit this into a playbook as I 
>> have this working via a script, now of course I could call the script 
>> itself but that IMHO would defeat the purpose of using Ansible in the first 
>> place.
>> I understand why the playbook fails to append the rules but I haven't 
>> been able to figure out a way around other than modifying the ec2_group 
>> module itself.
>>
>> J.
>> (1) https://github.com/ansible/ansible/issues/7584
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/94f289c7-8986-4b23-8db8-84aeb7961951%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to