X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=roles%2Fautoscalinggroup%2Ftasks%2Fmain.yml;fp=roles%2Fautoscalinggroup%2Ftasks%2Fmain.yml;h=d0c1692acde1e2e75b84586557a252f2dc703259;hb=1aa43a2d86c2b0c465eaa0a3a838a340679606a7;hp=0000000000000000000000000000000000000000;hpb=d3de5c7023fc31297d813e0496480e37329f42ad;p=awsible diff --git a/roles/autoscalinggroup/tasks/main.yml b/roles/autoscalinggroup/tasks/main.yml new file mode 100644 index 0000000..d0c1692 --- /dev/null +++ b/roles/autoscalinggroup/tasks/main.yml @@ -0,0 +1,48 @@ +--- +- 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 +