Spec-Zone.ru › Chef 17

Ресурс aws_ebs_volume

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

Используйте ресурс проверки aws_ebs_volume InSpec для проверки свойств отдельного тома AWS EBS.

Синтаксис

Убедитесь, что том EBS существует

describe aws_ebs_volume('vol-01a2349e94458a507') do
  it { should exist }
end

Также можно использовать синтаксис с хэшем для передачи имени тома EBS

describe aws_ebs_volume(name: 'data-vol') do
  it { should exist }
end

Параметры

Этот ресурс принимает один параметр: имя или ID тома EBS. Необходимо указать хотя бы один из них.

volume_id (обязательно, если name не указано)

Идентификатор тома EBS, уникально определяющий том. Его можно передать как строку или volume_id: 'value' запись в формате ключ-значение в хэше.

name (обязательно, если volume_id не указано)

Имя тома EBS, уникально определяющее том. Его необходимо передать как name: 'value' запись в формате ключ-значение в хэше.

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

Свойства

Свойство Описание
availability_zone Зона доступности для тома.
encrypted Указывает, будет ли том зашифрован.
iops Количество операций ввода/вывода в секунду (IOPS), поддерживаемых томом.
kms_key_id Полный ARN клиентского мастер-ключа (CMK) AWS Key Management Service (AWS KMS), который использовался для защиты ключа шифрования тома для данного тома.
size Размер тома в GiB.
snapshot_id Снимок, с которого был создан том, если применимо.
status Состояние тома.
volume_type Тип тома.

Примеры

Проверка, что том EBS не существует

describe aws_ebs_volume(name: 'data_vol') do
  it { should_not exist }
end

Проверка, что том EBS зашифрован

describe aws_ebs_volume(name: 'secure_data_vol') do
  it { should be_encrypted }
end

Проверка, что размер тома EBS корректен

describe aws_ebs_volume(name: 'data_vol') do
  its('size') { should cmp 32 }
end

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

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

exist

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

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

describe aws_ebs_volume(name: 'data_vol') do
  it { should exist }
end

describe aws_ebs_volume(name: 'data_vol') do
  it { should_not exist }
end

be_encrypted

Сопоставитель be_encrypted проверяет, является ли описанный том EBS зашифрованным.

it { should be_encrypted }

Разрешения AWS

Для вашего Принципала потребуются ec2:DescribeVolumes, а также iam:GetInstanceProfile действия, установленные на разрешение.

Подробную документацию можно найти на страницах Действия, ресурсы и ключи условий для Amazon EC2 и Действия, ресурсы и ключи условий для Identity And Access Management.

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

Spec-Zone.ru

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