Ресурс google_compute_disk
Синтаксис
Используется google_compute_disk, чтобы протестировать ресурс Google Диск.
Ресурс бета-версии
Этот ресурс имеет доступные поля бета-версии. Для получения этих полей включите 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- (Только для бета-версии) Политики ресурсов, применяемые к этому диску для автоматического создания снимков.
zone- Ссылка на зону, в которой находится диск.
source_image_encryption_key- Ключ шифрования, предоставленный клиентом, для исходного образа. Требуется, если исходный образ защищен ключом шифрования, предоставленным клиентом.
raw_key- Указывает 256-битный ключ шифрования, предоставленный клиентом, закодированный в формате base64 RFC 4648 для шифрования или расшифровки этого ресурса.
sha256- SHA-256 хэш ключа шифрования, предоставленного клиентом (в кодировке base64 RFC 4648), который защищает этот ресурс.
kms_key_name- Имя ключа шифрования, хранящегося в Google Cloud KMS.
source_image_id- Идентификатор образа, используемого для создания этого диска. Это значение идентифицирует конкретный образ, который использовался для создания этого постоянного диска. Например, если вы создали постоянный диск из образа, который позже был удален и воссоздан под тем же именем, идентификатор исходного образа будет идентифицировать точную версию образа, которая использовалась.
disk_encryption_key- Шифрует диск с помощью ключа шифрования, предоставленного клиентом. После шифрования диска с помощью ключа, предоставленного клиентом, вы должны предоставить тот же ключ, если вы используете диск позже (например, для создания снимка диска или образа, или для подключения диска к виртуальной машине). Ключи шифрования, предоставленные клиентом, не защищают доступ к метаданным диска. Если вы не предоставите ключ шифрования при создании диска, то диск будет зашифрован с помощью автоматически сгенерированного ключа, и вам не нужно предоставлять ключ для дальнейшего использования диска.
raw_key- Указывает 256-битный ключ шифрования, предоставленный клиентом, закодированный в формате base64 RFC 4648 для шифрования или расшифровки этого ресурса.
sha256- SHA-256 хэш ключа шифрования, предоставленного клиентом (в кодировке base64 RFC 4648), который защищает этот ресурс.
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-битный ключ шифрования, предоставленный клиентом, закодированный в формате base64 RFC 4648 для шифрования или расшифровки этого ресурса.
kms_key_name- Имя ключа шифрования, хранящегося в Google Cloud KMS.
sha256- SHA-256 хэш ключа шифрования, предоставленного клиентом (в кодировке base64 RFC 4648), который защищает этот ресурс.
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/