Ресурс google_compute_disk
Синтаксис
Для проверки ресурса диска Google используется google_compute_disk
Ресурс Beta
Для этого ресурса доступны поля beta. Чтобы получить доступ к этим полям, включите beta: true в конструктор ресурса
Примеры
most_recent_image = google_compute_image(project: 'debian-cloud', name: 'debian-10-buster-v20191014')
describe google_compute_disk(project: 'chef-gcp-inspec', name: 'inspec-snapshot-disk', zone: 'zone') do
it { should exist }
# Test that the image is the most recent image for the family
its('source_image') { should match most_recent_image.self_link }
its('type') { should match 'pd-standard' }
end
describe.one do
google_compute_disk(project: 'chef-gcp-inspec', name: 'inspec-snapshot-disk', zone: 'zone').labels.each_pair do |key, value|
describe key do
it { should cmp "environment" }
end
end
end
describe google_compute_disk(project: 'chef-gcp-inspec', name: 'nonexistent', zone: 'zone') do
it { should_not exist }
end
Свойства
Свойства, к которым можно получить доступ из ресурса google_compute_disk:
label_fingerprint- Хэш-код, используемый для оптимистической блокировки ресурса. Используется во внутренних операциях обновления.
creation_timestamp- Дата создания в формате RFC3339.
description- Необязательное описание ресурса. Укажите это свойство при создании ресурса.
id- Уникальный идентификатор ресурса.
last_attach_timestamp- Дата последнего подключения в формате RFC3339.
last_detach_timestamp- Дата последнего отключения в формате RFC3339.
labels- Метки для применения к диску. Список пар ключ-значение.
licenses- Любые применимые общедоступные лицензии.
name- Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению
[a-z]([-a-z0-9]*[a-z0-9])?, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. size_gb- Размер постоянного диска в ГБ. Вы можете указать это поле при создании постоянного диска, используя параметр sourceImage или sourceSnapshot, или указать его в отдельности для создания пустого постоянного диска. Если вы укажете это поле вместе с sourceImage или sourceSnapshot, значение sizeGb не должно быть меньше размера sourceImage или размера снимка.
users- Ссылки на пользователей диска (присоединённые виртуальные машины) в формате: project/zones/zone/instances/instance
physical_block_size_bytes- Физический размер блока постоянного диска в байтах. Если поле отсутствует в запросе, используется значение по умолчанию. В настоящее время поддерживаются размеры 4096 и 16384, в будущем могут быть добавлены другие размеры. Если запрашивается неподдерживаемое значение, сообщение об ошибке перечислит поддерживаемые значения для проекта вызывающего.
type- URL ресурса типа диска, описывающего тип диска, который нужно использовать для создания диска. Укажите это значение при создании диска.
source_image- Изображение, используемое для создания этого диска. Если исходное изображение удалено, это поле не будет установлено. Чтобы создать диск с одним из общедоступных образов операционной системы, укажите изображение по его семейному имени. Например, укажите family/debian-8, чтобы использовать последний образ Debian 8: projects/debian-cloud/global/images/family/debian-8. В качестве альтернативы, используйте определённую версию общедоступного образа операционной системы: projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD. Чтобы создать диск с частным изображением, которое вы создали, укажите имя изображения в следующем формате: global/images/my-private-image. Вы также можете указать частное изображение по его семейному имени, которое возвращает последнюю версию изображения в этом семействе. Замените имя изображения на family/family-name: global/images/family/my-private-family
resource_policies- (Только beta) Политики ресурсов, применяемые к этому диску для автоматического создания снимков.
zone- Ссылка на зону, в которой находится диск.
source_image_encryption_key- Ключ шифрования, предоставленный клиентом, для исходного изображения. Требуется, если исходное изображение защищено ключом шифрования, предоставленным клиентом.
raw_key- Указывает 256-битный ключ шифрования, предоставленный клиентом, закодированный в RFC 4648 base64 для шифрования или расшифрования этого ресурса.
sha256- RFC 4648 base64 закодированный SHA-256 хэш ключа шифрования, предоставленного клиентом, который защищает этот ресурс.
kms_key_name- Имя ключа шифрования, хранящегося в Google Cloud KMS.
source_image_id- Идентификатор изображения, использованного для создания этого диска. Это значение определяет точное изображение, которое было использовано для создания этого постоянного диска. Например, если постоянный диск был создан из изображения, которое было позже удалено и воссоздано с тем же именем, идентификатор исходного изображения определит точную версию изображения, которая была использована.
disk_encryption_key- Шифрует диск с помощью ключа шифрования, предоставленного клиентом. После шифрования диска с ключом, предоставленным клиентом, вы должны предоставить тот же ключ, если вы используете диск позже (например, для создания снимка диска или образа, или для подключения диска к виртуальной машине). Ключи шифрования, предоставленные клиентом, не защищают доступ к метаданным диска. Если вы не предоставите ключ шифрования при создании диска, диск будет зашифрован с помощью автоматически сгенерированного ключа, и вам не нужно предоставлять ключ для дальнейшего использования диска.
raw_key- Указывает 256-битный ключ шифрования, предоставленный клиентом, закодированный в RFC 4648 base64 для шифрования или расшифрования этого ресурса.
sha256- RFC 4648 base64 закодированный SHA-256 хэш ключа шифрования, предоставленного клиентом, который защищает этот ресурс.
kms_key_name- Имя ключа шифрования, хранящегося в Google Cloud KMS. Учётная запись сервиса Compute Engine вашего проекта (
service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com) должна иметьroles/cloudkms.cryptoKeyEncrypterDecrypterдля использования этой функции.
source_snapshot- Исходный снимок, используемый для создания этого диска. Вы можете указать его частично или полностью в URL ресурса. Если снимок находится в другом проекте, чем этот диск, вы должны указать полный URL. Например, следующие значения являются допустимыми:
https://www.googleapis.com/compute/v1/projects/project/global/snapshots/snapshotprojects/project/global/snapshots/snapshotglobal/snapshots/snapshot
source_snapshot_encryption_key- Ключ шифрования, предоставленный клиентом, для исходного снимка. Требуется, если исходный снимок защищен ключом шифрования, предоставленным клиентом.
raw_key- Указывает 256-битный ключ шифрования, предоставленный клиентом, закодированный в RFC 4648 base64 для шифрования или расшифрования этого ресурса.
kms_key_name- Имя ключа шифрования, хранящегося в Google Cloud KMS.
sha256- RFC 4648 base64 закодированный SHA-256 хэш ключа шифрования, предоставленного клиентом, который защищает этот ресурс.
source_snapshot_id- Уникальный идентификатор снимка, использованного для создания этого диска. Это значение определяет точный снимок, который был использован для создания этого постоянного диска. Например, если постоянный диск был создан из снимка, который был позже удален и воссоздан с тем же именем, идентификатор исходного снимка определит точную версию снимка, которая была использована.
Разрешения GCP
Убедитесь, что API Compute Engine включен для текущего проекта.
© 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/google_compute_disk/