split out management infrastructure role further
[awsible] / roles / aws-management-queues / tasks / main.yml
1 ---
2 - assert:
3 that:
4 - MANAGEMENT_EVENT_FAILURE_QUEUE != ''
5 - MANAGEMENT_EVENT_QUEUE != ''
6 tags: ['check_vars']
7
8 - name: Management failure queue.
9 sqs_queue:
10 state: present
11 region: "{{ vpc_region }}"
12 name: "{{ MANAGEMENT_EVENT_FAILURE_QUEUE }}"
13 default_visibility_timeout: 30
14 message_retention_period: 1209600
15 maximum_message_size: 262144
16 delivery_delay: 0
17 receive_message_wait_time: 0
18 register: management_failure_queue
19
20 # as of Ansible 2.2.1.0 sqs_queue does not seem to be returning queue_arn
21
22 - name: Managment queue.
23 sqs_queue:
24 state: present
25 region: "{{ vpc_region }}"
26 name: "{{ MANAGEMENT_EVENT_QUEUE }}"
27 default_visibility_timeout: 30
28 message_retention_period: 345600
29 maximum_message_size: 262144
30 delivery_delay: 0
31 receive_message_wait_time: 20
32 redrive_policy:
33 maxReceiveCount: 5
34 deadLetterTargetArn: "arn:aws:sqs:{{ vpc_region }}:{{ ACCT_ID }}:{{ MANAGEMENT_EVENT_FAILURE_QUEUE }}"
35 # deadLetterTargetArn: "{{ management_failure_queue.queue_arn }}"
36 register: management_queue
37
38 - name: Management topic and subscription.
39 sns_topic:
40 state: present
41 region: "{{ vpc_region }}"
42 name: "{{ MANAGEMENT_EVENT_QUEUE }}"
43 display_name: "{{ MANAGEMENT_EVENT_QUEUE_SHORT }}"
44 purge_subscriptions: False
45 subscriptions:
46 # - endpoint: "{{ management_queue.queue_arn }}"
47 - endpoint: "arn:aws:sqs:{{ vpc_region }}:{{ ACCT_ID }}:{{ MANAGEMENT_EVENT_QUEUE }}"
48 protocol: "sqs"
49 register: management_topic
50
51 - name: Management notice topic
52 sns_topic:
53 state: present
54 region: "{{ vpc_region }}"
55 name: "{{ MANAGEMENT_NOTICE_TOPIC }}"
56 display_name: "{{ MANAGEMENT_NOTICE_TOPIC_SHORT }}"
57 purge_subscriptions: False
58 register: management_notice_topic