|
5 | 5 |
|
6 | 6 | vars:
|
7 | 7 | instances:
|
8 |
| - - { name: a4d.lamp.varnish, ssh_key: "jeff_mba_home", group: "lamp-varnish", security_group: ["default", "a4d_lamp_http"] } |
9 |
| - - { name: a4d.lamp.www.1, ssh_key: "jeff_mba_home", group: "lamp-www", security_group: ["default", "a4d_lamp_http"] } |
10 |
| - - { name: a4d.lamp.www.2, ssh_key: "jeff_mba_home", group: "lamp-www", security_group: ["default", "a4d_lamp_http"] } |
11 |
| - - { name: a4d.lamp.db.1, ssh_key: "jeff_mba_home", group: "lamp-db", security_group: ["default", "a4d_lamp_db"] } |
12 |
| - - { name: a4d.lamp.db.2, ssh_key: "jeff_mba_home", group: "lamp-db", security_group: ["default", "a4d_lamp_db"] } |
13 |
| - - { name: a4d.lamp.memcached, ssh_key: "jeff_mba_home", group: "lamp-memcached", security_group: ["default", "a4d_lamp_memcached"] } |
| 8 | + - { |
| 9 | + name: a4d.lamp.varnish, |
| 10 | + group: "lamp-varnish", |
| 11 | + security_group: ["default", "a4d_lamp_http"] |
| 12 | + } |
| 13 | + - { |
| 14 | + name: a4d.lamp.www.1, |
| 15 | + group: "lamp-www", |
| 16 | + security_group: ["default", "a4d_lamp_http"] |
| 17 | + } |
| 18 | + - { |
| 19 | + name: a4d.lamp.www.2, |
| 20 | + group: "lamp-www", |
| 21 | + security_group: ["default", "a4d_lamp_http"] |
| 22 | + } |
| 23 | + - { |
| 24 | + name: a4d.lamp.db.1, |
| 25 | + group: "lamp-db", |
| 26 | + security_group: ["default", "a4d_lamp_db"] |
| 27 | + } |
| 28 | + - { |
| 29 | + name: a4d.lamp.db.2, |
| 30 | + group: "lamp-db", |
| 31 | + security_group: ["default", "a4d_lamp_db"] |
| 32 | + } |
| 33 | + - { |
| 34 | + name: a4d.lamp.memcached, |
| 35 | + group: "lamp-memcached", |
| 36 | + security_group: ["default", "a4d_lamp_memcached"] |
| 37 | + } |
14 | 38 |
|
15 | 39 | security_groups:
|
16 | 40 | - name: a4d_lamp_http
|
|
34 | 58 | ec2_group:
|
35 | 59 | name: "{{ item.name }}"
|
36 | 60 | description: Example EC2 security group for A4D.
|
37 |
| - region: us-west-2 |
| 61 | + region: "{{ item.region | default('us-west-2') }}" # Oregon |
38 | 62 | state: present
|
39 | 63 | rules: "{{ item.rules }}"
|
40 | 64 | rules_egress: "{{ item.rules_egress }}"
|
41 | 65 | with_items: security_groups
|
42 | 66 |
|
43 | 67 | - name: Provision EC2 instances.
|
44 | 68 | ec2:
|
45 |
| - key_name: "{{ item.ssh_key | default('') }}" |
| 69 | + key_name: "{{ item.ssh_key | default('jeff_mba_home') }}" |
46 | 70 | instance_tags:
|
47 | 71 | inventory_group: "{{ item.group | default('') }}"
|
48 | 72 | inventory_host: "{{ item.name | default('') }}"
|
49 | 73 | group: "{{ item.security_group | default('') }}"
|
50 |
| - instance_type: "{{ item.type | default('t2.micro')}}" # Falls within free tier |
51 |
| - image: "{{ item.image | default('ami-11125e21') }}" # RedHat 6.5 x64 hvm |
| 74 | + instance_type: "{{ item.type | default('t2.micro')}}" # Free Tier |
| 75 | + image: "{{ item.image | default('ami-11125e21') }}" # RHEL6 x64 hvm |
52 | 76 | region: "{{ item.region | default('us-west-2') }}" # Oregon
|
53 | 77 | wait: yes
|
54 | 78 | wait_timeout: 500
|
|
65 | 89 | groups: "aws,{{ item.1.item.group }},{{ item.1.item.name }}"
|
66 | 90 | # You can dynamically add inventory variables per-host.
|
67 | 91 | ansible_ssh_user: ec2-user
|
68 |
| - mysql_replication_role: "{{ 'master' if (item.1.item.name == 'a4d.lamp.db.1') else 'slave' }}" |
| 92 | + mysql_replication_role: > |
| 93 | + {{ 'master' if (item.1.item.name == 'a4d.lamp.db.1') |
| 94 | + else 'slave' }} |
69 | 95 | mysql_server_id: "{{ item.0 }}"
|
70 | 96 | when: item.1.instances is defined
|
71 | 97 | with_indexed_items: created_instances.results
|
|
0 commit comments