create stacks with more generic role things
[awsible] / roles / autoscalinggroup / tasks / main.yml
1 ---
2 - assert:
3 that:
4 - zone in ('pub', 'priv')
5 - module != ''
6 - version != ''
7 - region|default(vpc_region) != ''
8 tags: ['check_vars']
9
10 - set_fact:
11 asg_n:
12 - "{{ module }}"
13 - "{{ stack }}"
14 - "{{ country|ternary('c0', '') }}{{ country|default('') }}"
15 - "{{ phase|ternary('d0', '') }}{{ phase|default('') }}"
16
17 - name: suss out our subnets
18 ec2_vpc_subnet_facts:
19 region: "{{ vpc_region }}"
20 filters:
21 vpc_id: "{{ vpc.vpc.id }}"
22 "tag:zone": "{{ zone }}"
23 register: partial_subnet_ids
24
25 - name: autoscalinggroup
26 ec2_asg:
27 region: "{{ vpc_region }}"
28 name: "{{ asg_n|select|join('-') }}"
29 min_size: "{{ min_size|default(0) }}"
30 max_size: "{{ max_size|default(omit) }}"
31 desired_capacity: "{{ desired_capacity|default(omit) }}"
32 default_cooldown: 10
33 vpc_zone_identifier: "{{ partial_subnet_ids.subnets|default([])|map(attribute='id')|list }}"
34 launch_config_name: "{{ asg_n|select|join('-') }}-{{ version }}"
35 notification_topic: "{{ management_topic.sns_arn }}"
36 load_balancers: "{{ load_balancers|default(omit) }}"
37 tags:
38 - account: "{{ ACCT_NAME }}"
39 propagate_at_launch: yes
40 - module: "{{ module }}"
41 propagate_at_launch: yes
42 - stack: "{{ stack }}"
43 propagate_at_launch: yes
44 - country: "{{ country }}"
45 propagate_at_launch: yes
46 - phase: "{{ phase }}"
47 propagate_at_launch: yes
48