Can we modify existing EC2 Security group using Ansible by accepting new 
input parameter through jenkins job?

Scenario - I have to update users public IP to Ec2 security groups everyday 
Whenever their Public ip changes. This become repetitive tasks as Public IP 
is dynamic and changes everyday. I tried to automate this by creating 
ansible playbook with jenkins job by passing input parameter *"{{ 
newpublicip }}"* for new public ip and let user provide his IP and run the 
job and it updates the security groups. Below is the code
- hosts: localhost
connection: local
gather_facts: false

vars:
- newpublicip: "{{ newpublicip }}"
- name: "{{ name }}"


tasks:
- name: boto3
pip:
name: "boto3"
state: present

- name: modiying security group
ec2_group:
name: "{{ name }}"
description: An example ec2 group
vpc_id: xxxx
region: "{{ region }}"
aws_access_key: "{{ access_key }}"
aws_secret_key: "{{ secret_key }}"
rules:
- proto: tcp
from_port: 80
to_port: 80
cidr_ip: "0.0.0.0/0"
- proto: tcp
from_port: 22
to_port: 22
cidr_ip: "{{ newpublicip }}"
rule_desc: user1
- proto: tcp
from_port: 22
to_port: 22
cidr_ip: "{{ newpublicip }}"
rule_desc: user2

But the problem here is it updates whole existing security group with 
passed value, Here we will have different users assigned same port numbers 
with their public IP as source to access, so based on matching the 
rule_desc ex., user1 it should update the CIDR ip with input value provided 
*"{{ 
newpublicip }}"* Or please suggest some options to improvise this?

Thank you !

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/7a7674af-d06c-4043-a67f-51532da62c38n%40googlegroups.com.

Reply via email to