Spec-Zone.ru › Chef 16

Ресурс 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 матчер вернёт 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

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

Используйте 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