--- /dev/null
+---
+- assert:
+ that:
+ - MANAGEMENT_EVENT_FAILURE_QUEUE != ''
+ - MANAGEMENT_EVENT_QUEUE != ''
+ tags: ['check_vars']
+
+- name: Management failure queue.
+ sqs_queue:
+ state: present
+ region: "{{ vpc_region }}"
+ name: "{{ MANAGEMENT_EVENT_FAILURE_QUEUE }}"
+ default_visibility_timeout: 30
+ message_retention_period: 1209600
+ maximum_message_size: 262144
+ delivery_delay: 0
+ receive_message_wait_time: 0
+ register: management_failure_queue
+
+# as of Ansible 2.2.1.0 sqs_queue does not seem to be returning queue_arn
+
+- name: Managment queue.
+ sqs_queue:
+ state: present
+ region: "{{ vpc_region }}"
+ name: "{{ MANAGEMENT_EVENT_QUEUE }}"
+ default_visibility_timeout: 30
+ message_retention_period: 345600
+ maximum_message_size: 262144
+ delivery_delay: 0
+ receive_message_wait_time: 20
+ redrive_policy:
+ maxReceiveCount: 5
+ deadLetterTargetArn: "arn:aws:sqs:{{ vpc_region }}:{{ ACCT_ID }}:{{ MANAGEMENT_EVENT_FAILURE_QUEUE }}"
+# deadLetterTargetArn: "{{ management_failure_queue.queue_arn }}"
+ register: management_queue
+
+- name: Management topic and subscription.
+ sns_topic:
+ state: present
+ region: "{{ vpc_region }}"
+ name: "{{ MANAGEMENT_EVENT_QUEUE }}"
+ display_name: "{{ MANAGEMENT_EVENT_QUEUE_SHORT }}"
+ purge_subscriptions: False
+ subscriptions:
+# - endpoint: "{{ management_queue.queue_arn }}"
+ - endpoint: "arn:aws:sqs:{{ vpc_region }}:{{ ACCT_ID }}:{{ MANAGEMENT_EVENT_QUEUE }}"
+ protocol: "sqs"
+ register: management_topic
+
+- name: Management notice topic
+ sns_topic:
+ state: present
+ region: "{{ vpc_region }}"
+ name: "{{ MANAGEMENT_NOTICE_TOPIC }}"
+ display_name: "{{ MANAGEMENT_NOTICE_TOPIC_SHORT }}"
+ purge_subscriptions: False
+ register: management_notice_topic