add initial vpc buildout role
[awsible] / roles / aws-vpc / tasks / main.yml
1 ---
2 - name: VPC
3 ec2_vpc_net:
4 state: present
5 name: "{{ vpc_name }}"
6 cidr_block: "{{ vpc_cidr }}"
7 region: "{{ vpc_region }}"
8 register: vpc
9
10 - name: IGW
11 ec2_vpc_igw:
12 state: present
13 vpc_id: "{{ vpc.vpc.id }}"
14 region: "{{ vpc_region }}"
15 register: igw
16
17 - name: Name IGW
18 ec2_tag:
19 state: present
20 resource: "{{ igw.gateway_id }}"
21 region: "{{ vpc_region }}"
22 tags:
23 Name: "igw-{{ vpc_region }}"
24
25 - name: Subnets
26 with_items: "{{ subnets_pub + subnets_priv }}"
27 ec2_vpc_subnet:
28 state: present
29 vpc_id: "{{ vpc.vpc.id }}"
30 region: "{{ vpc_region }}"
31 cidr: "{{ item.cidr }}"
32 az: "{{ item.az }}"
33 tags: "{{ item.resource_tags }}"
34
35 - name: Access/NAT EIP
36 ec2_eip:
37 in_vpc: yes
38 region: "{{ vpc_region }}"
39 reuse_existing_ip_allowed: yes
40 register: access_eip
41
42 - name: Private route table
43 ec2_vpc_route_table:
44 state: present
45 vpc_id: "{{ vpc.vpc.id }}"
46 region: "{{ vpc_region }}"
47 tags:
48 Name: "Private-Routes-vpc-{{ vpc_region }}"
49 zone: priv
50 managed: 'yes'
51 subnets: "{{ subnets_priv|map(attribute='cidr')|list }}"
52 register: private_rt
53
54 - name: Public route table
55 ec2_vpc_route_table:
56 state: present
57 vpc_id: "{{ vpc.vpc.id }}"
58 region: "{{ vpc_region }}"
59 tags:
60 Name: "Public-Routes-vpc-{{ vpc_region }}"
61 zone: pub
62 managed: 'no'
63 subnets: "{{ subnets_pub|map(attribute='cidr')|list }}"
64 routes:
65 - dest: 0.0.0.0/0
66 gateway_id: "{{ igw.gateway_id }}"
67 register: public_rt
68
69 - name: not implemented yet
70 debug:
71 msg: |
72 Change pub-subnets to auto-assign external IPs