Spec-Zone.ru › Chef 16

Ресурс aws_sqs_queue

[править на GitHub]

Используйте ресурс проверки 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API