gcp_compute_disk – Создаёт диск GCP
Новая версия с 2.6.
Описание
- Устойчивые диски — это долговечные устройства хранения данных, которые работают аналогично физическим дискам в настольном компьютере или сервере. Compute Engine управляет оборудованием этих устройств, обеспечивая избыточность данных и оптимизируя производительность для вас. Устойчивые диски доступны в виде жёстких дисков (HDD) или твердотельных накопителей (SSD).
- Устойчивые диски расположены независимо от ваших виртуальных машин, поэтому вы можете отсоединять или перемещать устойчивые диски, чтобы сохранить ваши данные даже после удаления ваших виртуальных машин. Производительность устойчивых дисков масштабируется автоматически с размером, поэтому вы можете изменить размер существующих устойчивых дисков или добавить больше устойчивых дисков в виртуальную машину, чтобы удовлетворить ваши требования к производительности и объёму хранения.
- Добавьте устойчивый диск в свою виртуальную машину, когда вам необходимы надёжное и доступное хранилище с устойчивыми характеристиками производительности.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | |
| description строка | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||
| disk_encryption_key словарь | Шифрование диска с помощью предоставленного пользователем ключа. После шифрования диска с помощью предоставленного пользователем ключа, вам необходимо предоставить тот же ключ, если вы позже используете диск (например, для создания снимка диска или образа, или для подключения диска к виртуальной машине). Ключи шифрования, предоставленные пользователем, не защищают доступ к метаданным диска. Если вы не предоставите ключ шифрования при создании диска, диск будет зашифрован с помощью автоматически сгенерированного ключа, и вам не нужно будет предоставлять ключ для последующего использования диска. | ||
| kms_key_name строка | Имя ключа шифрования, хранящегося в Google Cloud KMS. | ||
| raw_key строка | Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в base64 по RFC 4648, для шифрования или дешифрования этого ресурса. | ||
| env_type строка | Указывает, в какой среде Ansible вы выполняете этот модуль. Это не должно устанавливаться, если вы не знаете, что делаете. Это только изменяет строку User Agent для любых запросов к API. | ||
| labels словарь добавлен в 2.7 | Метки, применяемые к этому диску. Список пар ключ-значение. | ||
| licenses список | Любые применимые общедоступные лицензии. | ||
| name строка / обязательно | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. | ||
| physical_block_size_bytes целое число добавлен в 2.8 | Физический размер блока постоянного диска в байтах. Если не указано в запросе, используется значение по умолчанию. В настоящее время поддерживаются размеры 4096 и 16384; другие размеры могут быть добавлены в будущем. Если запрошено недопустимое значение, сообщение об ошибке укажет поддерживаемые значения для проекта вызывающей стороны. | ||
| project строка | Используемый проект Google Cloud Platform. | ||
| scopes список | Массив используемых областей. | ||
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, либо в виде словаря, либо в виде JSON-строки, представляющей его. | ||
| service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес электронной почты по умолчанию. | ||
| service_account_file путь | Путь к файлу JSON учетной записи службы, если serviceaccount выбран в качестве типа. | ||
| size_gb целое число | Размер постоянного диска в ГБ. Можно указать это поле при создании постоянного диска, используя параметр sourceImage или sourceSnapshot, или указать его для создания пустого постоянного диска. Если вы укажете это поле вместе с sourceImage или sourceSnapshot, значение sizeGb не должно быть меньше размера sourceImage или размера снимка. | ||
| 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. | ||
| source_image_encryption_key словарь | Ключ шифрования, предоставленный пользователем, для исходного образа. Требуется, если исходный образ защищен ключом шифрования, предоставленным пользователем. | ||
| kms_key_name строка | Имя ключа шифрования, хранящегося в Google Cloud KMS. | ||
| raw_key строка | Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в base64 по RFC 4648, для шифрования или дешифрования этого ресурса. | ||
| source_snapshot словарь | Источник снимка, используемого для создания диска. Можно указать его как частичный или полный URL-адрес ресурса. Это поле представляет ссылку на ресурс Снимок в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. В качестве альтернативы, можно добавить `register: имя-ресурса` к задаче gcp_compute_snapshot, а затем установить это поле source_snapshot в "{{ имя-ресурса }}" | ||
| source_snapshot_encryption_key словарь | Ключ шифрования, предоставленный пользователем, для исходного снимка. Требуется, если исходный снимок защищен ключом шифрования, предоставленным пользователем. | ||
| kms_key_name строка | Имя ключа шифрования, хранящегося в Google Cloud KMS. | ||
| raw_key строка | Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в base64 по RFC 4648, для шифрования или дешифрования этого ресурса. | ||
| state строка |
| Указывает, должен ли заданный объект существовать в GCP | |
| type строка добавлен в 2.7 | URL ресурса типа диска, описывающего тип диска, который нужно использовать для создания диска. Укажите это при создании диска. | ||
| zone строка / обязательно | Ссылка на зону, в которой находится диск. | ||
Примечания
Примечание
- Ссылка на API: https://cloud.google.com/compute/docs/reference/v1/disks
- Добавление постоянного диска: https://cloud.google.com/compute/docs/disks/add-persistent-disk
- для аутентификации можно установить service_account_file, используя переменную среды c(gcp_service_account_file).
- для аутентификации можно установить service_account_contents, используя переменную среды c(GCP_SERVICE_ACCOUNT_CONTENTS).
- для аутентификации можно установить service_account_email, используя переменную среды
GCP_SERVICE_ACCOUNT_EMAIL. - для аутентификации можно установить auth_kind, используя переменную среды
GCP_AUTH_KIND. - для аутентификации можно установить scopes, используя переменную среды
GCP_SCOPES. - Значения переменных среды будут использоваться только в том случае, если значения в плейбуке не заданы.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: create a disk
gcp_compute_disk:
name: test_object
size_gb: 50
disk_encryption_key:
raw_key: SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=
zone: us-central1-a
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возвращаемых данных документированы здесь, ниже приведены поля, уникальные для данного модуля:
| Ключ | Возвращено | Описание | |
|---|---|---|---|
| creationTimestamp string | success | Отметка времени создания в формате RFC3339. | |
| description string | success | Необязательное описание данного ресурса. Укажите это свойство при создании ресурса. | |
| diskEncryptionKey complex | success | Шифрует диск с помощью предоставленного пользователем ключа шифрования. После шифрования диска с помощью ключа, предоставленного пользователем, вам необходимо предоставить тот же ключ, если вы используете диск позже (например, для создания снимка диска или образа или для подключения диска к виртуальной машине). Ключи шифрования, предоставленные пользователем, не защищают доступ к метаданным диска. Если вы не предоставите ключ шифрования при создании диска, диск будет зашифрован с помощью автоматически сгенерированного ключа, и вам не нужно предоставлять ключ для дальнейшего использования диска. | |
| kmsKeyName string | success | Имя ключа шифрования, хранящегося в Google Cloud KMS. | |
| rawKey string | success | Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в RFC 4648 base64 для шифрования или дешифрования данного ресурса. | |
| sha256 string | success | Кодированный в RFC 4648 base64 хеш SHA-256 ключа шифрования, предоставленного пользователем, который защищает данный ресурс. | |
| id integer | success | Уникальный идентификатор ресурса. | |
| labelFingerprint string | success | Отпечаток, используемый для оптимистической блокировки данного ресурса. Используется во внутренних обновлениях. | |
| labels dictionary | success | Метки для применения к этому диску. Список пар ключ-значение. | |
| lastAttachTimestamp string | success | Последняя отметка времени подключения в формате RFC3339. | |
| lastDetachTimestamp string | success | Последняя отметка времени отключения в формате RFC3339. | |
| licenses list | success | Все применимые общедоступные лицензии. | |
| name string | success | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. | |
| physicalBlockSizeBytes integer | success | Физический размер блока постоянного диска в байтах. Если его нет в запросе, используется значение по умолчанию. В настоящее время поддерживаются размеры 4096 и 16384, в будущем могут быть добавлены другие размеры. Если запрашивается неподдерживаемое значение, сообщение об ошибке перечислит поддерживаемые значения для проекта вызывающего. | |
| sizeGb integer | success | Размер постоянного диска в ГБ. Вы можете указать это поле при создании постоянного диска с помощью параметра sourceImage или sourceSnapshot, или указать его отдельно для создания пустого постоянного диска. Если вы указываете это поле вместе с sourceImage или sourceSnapshot, значение sizeGb не должно быть меньше размера sourceImage или размера снимка. | |
| sourceImage string | success | Образ, используемый для создания диска. Если образ удален, это поле не будет установлено. Для создания диска с одним из общедоступных образов операционной системы укажите образ по его семейному имени. Например, укажите 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. | |
| sourceImageEncryptionKey complex | success | Ключ шифрования, предоставленный пользователем, для исходного образа. Требуется, если исходный образ защищен ключом шифрования, предоставленным пользователем. | |
| kmsKeyName string | success | Имя ключа шифрования, хранящегося в Google Cloud KMS. | |
| rawKey string | success | Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в RFC 4648 base64 для шифрования или дешифрования данного ресурса. | |
| sha256 string | success | Кодированный в RFC 4648 base64 хеш SHA-256 ключа шифрования, предоставленного пользователем, который защищает данный ресурс. | |
| sourceImageId string | success | Значение идентификатора образа, используемого для создания этого диска. Это значение идентифицирует точный образ, который был использован для создания данного постоянного диска. Например, если постоянный диск был создан из образа, который был позже удален и воссоздан под тем же именем, идентификатор исходного образа идентифицирует точную версию образа, которая была использована. | |
| sourceSnapshot dictionary | success | Исходный снимок, используемый для создания диска. Вы можете предоставить его как частичный или полный URL-адрес ресурса. | |
| sourceSnapshotEncryptionKey complex | success | Ключ шифрования, предоставленный пользователем, для исходного снимка. Требуется, если исходный снимок защищен ключом шифрования, предоставленным пользователем. | |
| kmsKeyName string | success | Имя ключа шифрования, хранящегося в Google Cloud KMS. | |
| rawKey string | success | Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в RFC 4648 base64 для шифрования или дешифрования данного ресурса. | |
| sha256 string | success | Кодированный в RFC 4648 base64 хеш SHA-256 ключа шифрования, предоставленного пользователем, который защищает данный ресурс. | |
| sourceSnapshotId string | success | Уникальный идентификатор снимка, используемого для создания диска. Это значение идентифицирует точный снимок, который был использован для создания данного постоянного диска. Например, если постоянный диск был создан из снимка, который был позже удален и воссоздан под тем же именем, идентификатор исходного снимка идентифицирует точную версию снимка, которая была использована. | |
| type string | success | URL ресурса типа диска, описывающего тип диска, который необходимо использовать для создания диска. Предоставьте это при создании диска. | |
| users list | success | Ссылки на пользователей диска (подключенные экземпляры) в формате: project/zones/zone/instances/instance. | |
| zone string | success | Ссылка на зону, где находится диск. | |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [preview]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Google Inc. (@googlecloudplatform)
Подсказка
Если вы заметили какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/gcp_compute_disk_module.html