Spec-Zone.ru › Chef 17

ресурс aws_rds_instance

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

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

RDS предоставляет вам доступ к возможностям сервера базы данных MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle или Amazon Aurora.

Синтаксис

Блок aws_rds_instance ресурса использует параметры ресурса для поиска инстанции RDS и затем тестирует эту инстанцию. Если ни одна инстанция RDS не соответствует запросу, ошибка не возникает, но exists matcher вернёт false, а все свойства будут nil. Если соответствует более одной инстанции RDS (из-за нечётких параметров поиска), возникает ошибка.

describe aws_rds_instance('test-instance-id') do
  it { should exist }
end

# Can also use hash syntax
describe aws_rds_instance(db_instance_identifier: 'test-instance-id') do
  it { should exist }
end

Параметры

db_instance_identifier (обязательный)

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

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

Свойства

Полный список свойств, доступных для проверки инстанции RDS, см. в объекте ответа AWS.

Примеры

Проверка используемого движка с инстанцией RDS

describe aws_rds_instance(db_instance_identifier: 'awsrds123') do
  its ('engine')         { should eq 'mysql' }
  its ('engine_version') { should eq '5.6.37' }
end

Проверка выделенного хранилища для инстанции RDS

describe aws_rds_instance(db_instance_identifier: 'awsrds123') do
  its ('storage_type')      { should eq 'gp2' }
  its ('allocated_storage') { should eq 10 }
end

Проверка типа инстанции и имени пользователя мастера

describe aws_rds_instance(db_instance_identifier: 'awsrds123') do
  its ('master_username')   { should eq 'db-maintain' }
  its ('db_instance_class') { should eq 'db.t3.micro' }
end

Матчеры

Этот ресурс аудита InSpec имеет следующие специальные матчеры. Полный список доступных матчеров см. на нашей странице матчеров.

exist

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

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

describe aws_rds_instance(db_instance_identifier: 'AnExistingRDS') do
  it { should exist }
end

describe aws_rds_instance(db_instance_identifier: 'ANonExistentRDS') do
  it { should_not exist }
end

Разрешения AWS

Вашему принципалу потребуются разрешения на действие rds:DescribeDBInstances с эффектом Allow.

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

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

Spec-Zone.ru

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