--- /dev/null
+---
+- assert:
+ that:
+ - zone in ('pub', 'priv')
+ - module != ''
+ - version != ''
+ - region|default(vpc_region) != ''
+ tags: ['check_vars']
+
+- set_fact:
+ asg_n:
+ - "{{ module }}"
+ - "{{ stack }}"
+ - "{{ country|ternary('c0', '') }}{{ country|default('') }}"
+ - "{{ phase|ternary('d0', '') }}{{ phase|default('') }}"
+
+- name: suss out our subnets
+ ec2_vpc_subnet_facts:
+ region: "{{ vpc_region }}"
+ filters:
+ vpc_id: "{{ vpc.vpc.id }}"
+ "tag:zone": "{{ zone }}"
+ register: partial_subnet_ids
+
+- name: autoscalinggroup
+ ec2_asg:
+ region: "{{ vpc_region }}"
+ name: "{{ asg_n|select|join('-') }}"
+ min_size: "{{ min_size|default(0) }}"
+ max_size: "{{ max_size|default(omit) }}"
+ desired_capacity: "{{ desired_capacity|default(omit) }}"
+ default_cooldown: 10
+ vpc_zone_identifier: "{{ partial_subnet_ids.subnets|default([])|map(attribute='id')|list }}"
+ launch_config_name: "{{ asg_n|select|join('-') }}-{{ version }}"
+ notification_topic: "{{ management_topic.sns_arn }}"
+ load_balancers: "{{ load_balancers|default(omit) }}"
+ tags:
+ - account: "{{ ACCT_NAME }}"
+ propagate_at_launch: yes
+ - module: "{{ module }}"
+ propagate_at_launch: yes
+ - stack: "{{ stack }}"
+ propagate_at_launch: yes
+ - country: "{{ country }}"
+ propagate_at_launch: yes
+ - phase: "{{ phase }}"
+ propagate_at_launch: yes
+