Spec-Zone.ru › Chef 17

Ресурс aws_sns_subscription

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

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

Используйте ресурс проверки aws_sns_subscription InSpec для проверки подробных свойств подписки на AWS SNS.

Синтаксис

Блок ресурса aws_sns_subscription использует параметры ресурса для поиска подписки SNS и затем проверяет свойства подписок. Если ни одна подписка не соответствует, ошибка не возникает, но exists соответствие вернёт false, и все свойства будут nil.

describe aws_sns_subscription('arn:aws:sns:us-east-1::test-topic-01:b214aff5-a2c7-438f-a753-8494493f2ff6') do
  it { should exist }
end

Параметры

subscription_arn (обязательно)

Этот ресурс принимает один параметр, subscription_arn. Он может быть передан либо как строка, либо как subscription_arn: 'value' элемент ключ-значение в хэше.

См. также документацию AWS по SNS.

Свойства

Свойство Описание
arn Целое число, указывающее минимальное количество экземпляров в группе автомасштабирования
owner Целое число, указывающее максимальное количество экземпляров в группе автомасштабирования
raw_message_delivery Целое число, указывающее желаемое количество экземпляров в группе автомасштабирования
topic_arn Имя конфигурации запуска автомасштабирования, связанной с группой автомасштабирования
protocol Массив строк, соответствующих идентификаторам подсетей, связанных с группой автомасштабирования
confirmation_was_authenticated Хэш с каждой парой ключ-значение, соответствующей тегу, связанному с объектом

Примеры

Проверка конечной точки

describe aws_sns_subscription(subscription_arn: 'arn:aws:sns:us-east-1::test-topic-01:b214aff5-a2c7-438f-a753-8494493f2ff6' ) do
  # If protocol is 'sms', this should be a phone number:
  its('endpoint') { should cmp '+16105551234' }
  # If protocol is 'email' or 'email-json', endpoint should be an email address
  its('endpoint') { should cmp 'myemail@example.com' }
  # If protocol is 'http', endpoint should be a URL beginning with 'https://'
  its('endpoint') { should cmp 'https://www.exampleurl.com' }
  # If the protocol is 'lambda', its endpoint should be the ARN of a AWS Lambda function
  its('endpoint') { should cmp 'rn:aws:lambda:us-east-1:account-id:function:myfunction' }
end

Проверка идентификатора владельца

describe aws_sns_subscription(subscription_arn: 'arn:aws:sns:us-east-1::test-topic-01:b214aff5-a2c7-438f-a753-8494493f2ff6' ) do
  its('owner') { should cmp '12345678' }
end

Проверка конечной точки

describe aws_sns_subscription(subscription_arn: 'arn:aws:sns:us-east-1::test-topic-01:b214aff5-a2c7-438f-a753-8494493f2ff6' ) do
  its('protocol') { should cmp 'sqs' }
end

Сопоставления

exist

Управление пройдет, если описание вернёт по крайней мере один результат.

Используйте should_not для проверки, что сущность не должна существовать.

  it { should exist }

  it { should_not exist }

be_confirmation_authenticated

Предоставляет информацию о том, был ли запрос подтверждения подписки аутентифицирован.

describe aws_sns_subscription(subscription_arn: 'arn:aws:sns:us-east-1::NOGOOD:b214aff5-a2c7-438f-a753-8494493f2ff6')
  it { should be_confirmation_authenticated }
end

have_raw_message_delivery

Предоставляет информацию о том, передаётся ли исходное сообщение как есть, не форматируется как json или yaml.

describe aws_sns_subscription(subscription_arn: 'arn:aws:sns:us-east-1::NOGOOD:b214aff5-a2c7-438f-a753-8494493f2ff6')
  it { should have_raw_message_delivery }
end

Разрешения AWS

У вашего Принципала потребуется действие sns:GetSubscriptionAttributes с эффектом Allow.

Подробную документацию вы можете найти по адресу Действия, ресурсы и ключи условий для Amazon SNS.

© 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_sns_subscription/

Spec-Zone.ru

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