Ресурс aws_sqs_queue
Используйте ресурс проверки InSpec, чтобы проверить свойства отдельной очереди AWS Simple Queue Service.
Синтаксис
describe aws_sqs_queue(queue_url: 'https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
it { should exist }
end
Параметры
queue_url (обязательно)
Этот ресурс принимает один параметр — URL очереди SQS. Он может быть передан как строка или как queue_url: 'value' ключ-значение в хэше.
См. также документацию AWS по SQS.
Свойства
| Свойство | Описание |
|---|---|
| arn | ARN очереди SQS. |
| is_fifo_queue | Булевое значение, указывающее, является ли очередь FIFO. |
| visibility_timeout | Целое число, указывающее таймаут видимости сообщения в секундах. |
| maximum_message_size | Целое число, указывающее максимальный размер сообщения в байтах. |
| message_retention_period | Целое число, указывающее максимальный срок хранения сообщения в секундах. |
| delay_seconds | Целое число, указывающее задержку очереди в секундах. |
| receive_message_wait_timeout_seconds | Целое число, указывающее количество секунд, в течение которого попытка получения сообщения будет ожидать, прежде чем вернуть результат. |
| content_based_deduplication | Булевое значение, указывающее, включена ли дедупликация по содержанию. |
| redrive_policy | Строка, указывающая политику переотправки. |
Примеры
Убедитесь, что очередь существует и имеет таймаут видимости 300 секунд
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
it { should exist }
its('visibility_timeout') { should be 300 }
end
Убедитесь, что максимальный размер сообщения задан
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
its('maximum_message_size') { should be 262144 } # 256 KB
end
Проверить время задержки
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
its('delay_seconds') { should be 0 }
end
Убедитесь, что сообщения хранятся в течение 4 дней
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
its('message_retention_period') { should be 345600 } # 4 days
end
Проверить, является ли очередь fifo
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
its('is_fifo_queue') { should be false }
end
Обработчики
У этого ресурса InSpec проверки есть следующие специальные обработчики. Полный список доступных обработчиков можно найти на странице обработчиков.
exist
Управление пройдет, если describe вернет как минимум один результат.
Используйте should_not чтобы проверить, что сущность не должна существовать.
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueue') do
it { should exist }
end
describe aws_sqs_queue('https://sqs.ap-southeast-2.amazonaws.com/1212121/MyQueueWhichDoesntExist') do
it { should_not exist }
end
Разрешения AWS
Вашему Принципалу потребуются sqs:GetQueueAttributes действие с параметром Effect, установленным в значение Allow. Подробные сведения можно найти по адресу Действия, ресурсы и ключи условий для Amazon SQS.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/aws_sqs_queue/