Spec-Zone.ru › Chef 18

Ресурс google_compute_disk

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

Синтаксис

Для проверки ресурса диска 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/snapshot
  • projects/project/global/snapshots/snapshot
  • global/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/

Spec-Zone.ru

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