Spec-Zone.ru › Chef 16

ресурс aws_rds_cluster

[edit on GitHub]

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

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

Синтаксис

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

describe aws_rds_cluster('test-cluster-id') do
  it { should exist }
end

# Can also use hash syntax
describe aws_rds_cluster(db_cluster_identifier: 'test-cluster-id') do
  it { should exist }
end

Параметры

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

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

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

Свойства

Полный список свойств, которые можно проверить для кластера RDS, см. в AWS Response Object.

Примеры

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

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

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

describe aws_rds_cluster(db_cluster_identifier: 'awsrds123') do
  its('storage_encrypted') { should eq true }
  its('allocated_storage') { should eq 10 }
end

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

describe aws_rds_cluster(db_cluster_identifier: 'awsrds123') do
  its('master_username') { should eq 'db-maintain' }
  its('status') { should eq 'available' }
end

Проверка максимальной и минимальной ёмкости серверного кластера RDS

describe aws_rds_cluster(db_cluster_identifier: 'awsrds123') do
  its('scaling_configuration_info.min_capacity') { should eq 2 }
  its('scaling_configuration_info.max_capacity') { should eq 64 }
end

Матчеры

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

exist

Проверка пройдёт, если describe вернёт хотя бы один результат.

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

describe aws_rds_cluster(db_cluster_identifier: 'AnExistingRDS') do
  it { should exist }
end

describe aws_rds_cluster(db_cluster_identifier: 'ANonExistentRDS') do
  it { should_not exist }
end

Разрешения AWS

У вашего принципала потребуется действие rds:DescribeDBclusters с эффектом 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_cluster/

Spec-Zone.ru

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