модуль google.cloud.gcp_compute_disk — создание диска GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для работы с этим модулем требуются дополнительные компоненты. Подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_compute_disk.
Обзор
- Постоянные диски — это надежные устройства хранения данных, работающие подобно физическим дискам настольного компьютера или сервера. Compute Engine управляет аппаратной частью этих устройств, обеспечивая резервирование данных и оптимизируя производительность. Постоянные диски доступны в виде стандартных жестких дисков (HDD) или твердотельных накопителей (SSD).
- Постоянные диски не зависят от экземпляров виртуальных машин, поэтому их можно отключать или перемещать, чтобы сохранить данные даже после удаления экземпляров. Производительность постоянного диска автоматически масштабируется в зависимости от его размера, поэтому можно изменить размер существующих постоянных дисков или добавить к экземпляру новые, чтобы удовлетворить требования к производительности и объему хранилища.
- Добавьте постоянный диск к экземпляру, если вам требуется надежное и доступное хранилище с предсказуемыми характеристиками производительности.
Требования
На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен доступа OAuth2, если тип учетных данных — accesstoken. |
auth_kind string / обязательный | Тип используемых учетных данных. Варианты:
|
description string | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. |
disk_encryption_key dictionary | Шифрует диск с помощью предоставленного клиентом ключа шифрования. После шифрования диска с помощью предоставленного клиентом ключа необходимо указывать тот же ключ при последующем использовании диска (например, для создания снимка диска или образа либо для подключения диска к виртуальной машине). Ключи шифрования, предоставленные клиентом, не защищают доступ к метаданным диска. Если при создании диска ключ шифрования не указан, диск будет зашифрован с помощью автоматически созданного ключа, и для дальнейшего использования диска указывать ключ не потребуется. |
|
kms_key_name string |
Имя ключа шифрования, хранящегося в Google Cloud KMS. Чтобы использовать эту функцию, сервисная учетная запись системной службы Compute Engine вашего проекта (`service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com`) должна иметь роль `roles/cloudkms.cryptoKeyEncrypterDecrypter`. |
|
kms_key_service_account string |
Сервисная учетная запись, используемая для запроса шифрования с указанным ключом KMS. Если значение не указано, используется сервисная учетная запись агента службы Compute Engine. |
|
raw_key string |
Задает предоставленный клиентом ключ шифрования длиной 256 бит, закодированный в base64 по RFC 4648, для шифрования или расшифровки этого ресурса. |
env_type string | Указывает, в какой среде Ansible выполняется этот модуль. Не задавайте это значение, если не знаете, что делаете. Это значение изменяет только строку User Agent для запросов API. |
labels dictionary | Метки, применяемые к этому диску. Список пар ключ->значение. |
licenses list / elements=string | Все применимые общедоступные лицензии. |
name string / обязательный | Имя ресурса. Указывается клиентом при создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. |
physical_block_size_bytes integer | Размер физического блока постоянного диска в байтах. Если значение не указано в запросе, используется значение по умолчанию. В настоящее время поддерживаются размеры 4096 и 16384; в будущем могут быть добавлены другие размеры. Если запрошено неподдерживаемое значение, в сообщении об ошибке будут перечислены значения, поддерживаемые для проекта вызывающей стороны. |
project string | Проект Google Cloud Platform, который следует использовать. |
provisioned_iops integer | Указывает количество IOPS, которое необходимо выделить для диска. |
scopes list / elements=string | Массив используемых областей доступа |
service_account_contents jsonarg | Содержимое JSON-файла сервисной учетной записи в виде словаря или JSON-строки, представляющей его. |
service_account_email string | Необязательный адрес электронной почты сервисной учетной записи, если выбран machineaccount и пользователь не хочет использовать адрес электронной почты по умолчанию. |
service_account_file path | Путь к JSON-файлу сервисной учетной записи, если в качестве типа выбрано serviceaccount. |
size_gb integer | Размер постоянного диска в ГБ. Это поле можно указать при создании постоянного диска с помощью параметра sourceImage или sourceSnapshot либо указать отдельно, чтобы создать пустой постоянный диск. Если указать это поле вместе с sourceImage или sourceSnapshot, значение sizeGb не должно быть меньше размера sourceImage или снимка. |
source_image string | Исходный образ, используемый для создания этого диска. Если исходный образ удален, это поле не будет задано. Чтобы создать диск на основе одного из общедоступных образов операционных систем, укажите образ по имени семейства. Например, укажите family/debian-9, чтобы использовать последнюю версию образа Debian 9: projects/debian-cloud/global/images/family/debian-9. Также можно использовать конкретную версию общедоступного образа операционной системы: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD. Чтобы создать диск на основе созданного вами частного образа, укажите имя образа в следующем формате: global/images/my-private-image. Частный образ также можно указать по семейству образов; в этом случае будет выбрана последняя версия образа в этом семействе. Замените имя образа на family/family-name: global/images/family/my-private-family. |
source_image_encryption_key dictionary | Предоставленный клиентом ключ шифрования исходного образа. Обязателен, если исходный образ защищен ключом шифрования, предоставленным клиентом. |
|
kms_key_name string |
Имя ключа шифрования, хранящегося в Google Cloud KMS. |
|
kms_key_service_account string |
Сервисная учетная запись, используемая для запроса шифрования с указанным ключом KMS. Если значение не указано, используется сервисная учетная запись агента службы Compute Engine. |
|
raw_key string |
Задает предоставленный клиентом ключ шифрования длиной 256 бит, закодированный в base64 по RFC 4648, для шифрования или расшифровки этого ресурса. |
source_snapshot dictionary | Исходный снимок, используемый для создания этого диска. В качестве значения можно указать частичный или полный URL ресурса. Это поле представляет ссылку на ресурс Snapshot в GCP. Его можно задать двумя способами. Во-первых, можно поместить словарь с ключом ‘selfLink’ и значением selfLink ресурса. Также можно добавить `register: name-of-resource` в задачу gcp_compute_snapshot, а затем присвоить полю source_snapshot значение “{{ name-of-resource }}” |
source_snapshot_encryption_key dictionary | Предоставленный клиентом ключ шифрования исходного снимка. Обязателен, если исходный снимок защищен ключом шифрования, предоставленным клиентом. |
|
kms_key_name string |
Имя ключа шифрования, хранящегося в Google Cloud KMS. |
|
kms_key_service_account string |
Сервисная учетная запись, используемая для запроса шифрования с указанным ключом KMS. Если значение не указано, используется сервисная учетная запись агента службы Compute Engine. |
|
raw_key string |
Задает предоставленный клиентом ключ шифрования длиной 256 бит, закодированный в base64 по RFC 4648, для шифрования или расшифровки этого ресурса. |
state string | Должен ли указанный объект существовать в GCP Варианты:
|
type string | URL ресурса типа диска, описывающего тип диска, который следует использовать для создания диска. Укажите это значение при создании диска. |
zone string / обязательный | Ссылка на зону, в которой находится диск. |
Примечания
Примечание
- Справочник API: https://cloud.google.com/compute/docs/reference/v1/disks
- Добавление постоянного диска: https://cloud.google.com/compute/docs/disks/add-persistent-disk
- Для аутентификации можно задать service_account_file с помощью переменной среды
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно задать service_account_contents с помощью переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации можно задать service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно задать access_token с помощью переменной среды
GCP_ACCESS_TOKEN. - Для аутентификации можно задать auth_kind с помощью переменной среды
GCP_AUTH_KIND. - Для аутентификации можно задать scopes с помощью переменной среды
GCP_SCOPES. - Значения переменных среды используются только в том случае, если значения в плейбуке не заданы.
- Параметры service_account_email и service_account_file являются взаимоисключающими.
Примеры
- name: create a disk
google.cloud.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 | Временная метка создания в текстовом формате RFC3339. Возвращается: при успешном выполнении |
description string | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. Возвращается: при успешном выполнении |
diskEncryptionKey complex | Шифрует диск с помощью предоставленного клиентом ключа шифрования. После шифрования диска предоставленным клиентом ключом необходимо использовать тот же ключ при последующем обращении к диску (например, для создания снимка диска или образа либо для подключения диска к виртуальной машине). Ключи шифрования, предоставленные клиентом, не защищают доступ к метаданным диска. Если при создании диска не указать ключ шифрования, диск будет зашифрован автоматически сгенерированным ключом, и для последующего использования диска предоставлять ключ не потребуется. Возвращается: при успешном выполнении |
|
kmsKeyName string |
Имя ключа шифрования, хранящегося в Google Cloud KMS. Для использования этой функции учетная запись системной службы Compute Engine вашего проекта (`service-{{PROJECT_NUMBER}}@compute-system.iam.gserviceaccount.com`) должна иметь роль `roles/cloudkms.cryptoKeyEncrypterDecrypter`. Возвращается: при успешном выполнении |
|
kmsKeyServiceAccount string |
Учетная запись службы, используемая для запроса шифрования с указанным ключом KMS. Если она не указана, используется учетная запись службы агента службы Compute Engine. Возвращается: при успешном выполнении |
|
rawKey string |
Задает предоставленный клиентом 256-битный ключ шифрования в кодировке base64 RFC 4648 для шифрования или расшифрования этого ресурса. Возвращается: при успешном выполнении |
|
sha256 string |
Хеш SHA-256 предоставленного клиентом ключа шифрования, защищающего этот ресурс, закодированный в base64 RFC 4648. Возвращается: при успешном выполнении |
id integer | Уникальный идентификатор ресурса. Возвращается: при успешном выполнении |
labelFingerprint string | Отпечаток, используемый для оптимистической блокировки этого ресурса. Применяется внутри системы при обновлении. Возвращается: при успешном выполнении |
labels dictionary | Метки, применяемые к этому диску. Список пар «ключ->значение». Возвращается: при успешном выполнении |
lastAttachTimestamp string | Временная метка последнего подключения в текстовом формате RFC3339. Возвращается: при успешном выполнении |
lastDetachTimestamp string | Временная метка последнего отключения в текстовом формате RFC3339. Возвращается: при успешном выполнении |
licenses list / elements=string | Все применимые общедоступные лицензии. Возвращается: при успешном выполнении |
name string | Имя ресурса. Указывается клиентом при создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной буквой, последующие символы — дефисом, строчной буквой или цифрой, а последний символ не может быть дефисом. Возвращается: при успешном выполнении |
physicalBlockSizeBytes integer | Размер физического блока постоянного диска в байтах. Если в запросе он не указан, используется значение по умолчанию. В настоящее время поддерживаются размеры 4096 и 16384; в будущем могут быть добавлены другие размеры. Если запрошено неподдерживаемое значение, в сообщении об ошибке будут перечислены значения, поддерживаемые для проекта вызывающей стороны. Возвращается: при успешном выполнении |
provisionedIops integer | Указывает, сколько операций ввода-вывода в секунду (IOPS) необходимо выделить для диска. Возвращается: при успешном выполнении |
sizeGb integer | Размер постоянного диска в ГБ. Это поле можно указать при создании постоянного диска с помощью параметра sourceImage или sourceSnapshot либо указать отдельно, чтобы создать пустой постоянный диск. Если указать это поле вместе с sourceImage или sourceSnapshot, значение sizeGb не должно быть меньше размера sourceImage или снимка. Возвращается: при успешном выполнении |
sourceImage string | Исходный образ, использованный для создания этого диска. Если исходный образ удален, это поле не будет задано. Чтобы создать диск с одним из общедоступных образов операционных систем, укажите образ по имени семейства. Например, укажите family/debian-9, чтобы использовать последний образ Debian 9: projects/debian-cloud/global/images/family/debian-9. Также можно использовать определенную версию общедоступного образа операционной системы: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD. Чтобы создать диск с созданным вами закрытым образом, укажите имя образа в следующем формате: global/images/my-private-image. Также можно указать закрытый образ по его семейству; в этом случае будет выбрана последняя версия образа из этого семейства. Замените имя образа на family/family-name: global/images/family/my-private-family . Возвращается: при успешном выполнении |
sourceImageEncryptionKey complex | Предоставленный клиентом ключ шифрования исходного образа. Обязателен, если исходный образ защищен предоставленным клиентом ключом шифрования. Возвращается: при успешном выполнении |
|
kmsKeyName string |
Имя ключа шифрования, хранящегося в Google Cloud KMS. Возвращается: при успешном выполнении |
|
kmsKeyServiceAccount string |
Учетная запись службы, используемая для запроса шифрования с указанным ключом KMS. Если она не указана, используется учетная запись службы агента службы Compute Engine. Возвращается: при успешном выполнении |
|
rawKey string |
Задает предоставленный клиентом 256-битный ключ шифрования в кодировке base64 RFC 4648 для шифрования или расшифрования этого ресурса. Возвращается: при успешном выполнении |
|
sha256 string |
Хеш SHA-256 предоставленного клиентом ключа шифрования, защищающего этот ресурс, закодированный в base64 RFC 4648. Возвращается: при успешном выполнении |
sourceImageId string | Значение идентификатора образа, использованного для создания этого диска. Это значение определяет конкретный образ, на основе которого был создан этот постоянный диск. Например, если постоянный диск был создан из образа, который впоследствии удалили и заново создали под тем же именем, идентификатор исходного образа укажет точную использованную версию образа. Возвращается: при успешном выполнении |
sourceSnapshot dictionary | Исходный снимок, использованный для создания этого диска. Можно указать частичный или полный URL ресурса. Возвращается: при успешном выполнении |
sourceSnapshotEncryptionKey complex | Предоставленный клиентом ключ шифрования исходного снимка. Обязателен, если исходный снимок защищен предоставленным клиентом ключом шифрования. Возвращается: при успешном выполнении |
|
kmsKeyName string |
Имя ключа шифрования, хранящегося в Google Cloud KMS. Возвращается: при успешном выполнении |
|
kmsKeyServiceAccount string |
Учетная запись службы, используемая для запроса шифрования с указанным ключом KMS. Если она не указана, используется учетная запись службы агента службы Compute Engine. Возвращается: при успешном выполнении |
|
rawKey string |
Задает предоставленный клиентом 256-битный ключ шифрования в кодировке base64 RFC 4648 для шифрования или расшифрования этого ресурса. Возвращается: при успешном выполнении |
|
sha256 string |
Хеш SHA-256 предоставленного клиентом ключа шифрования, защищающего этот ресурс, закодированный в base64 RFC 4648. Возвращается: при успешном выполнении |
sourceSnapshotId string | Уникальный идентификатор снимка, использованного для создания этого диска. Это значение определяет конкретный снимок, на основе которого был создан этот постоянный диск. Например, если постоянный диск был создан из снимка, который впоследствии удалили и заново создали под тем же именем, идентификатор исходного снимка укажет точную использованную версию снимка. Возвращается: при успешном выполнении |
type string | URL ресурса типа диска, указывающего тип диска, который следует использовать при создании диска. Укажите это значение при создании диска. Возвращается: при успешном выполнении |
users list / elements=string | Ссылки на пользователей диска (подключенные экземпляры) в формате: project/zones/zone/instances/instance . Возвращается: при успешном выполнении |
zone string | Ссылка на зону, в которой находится диск. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_compute_disk_module.html