google.cloud.gcp_compute_region_disk – Создаёт диск GCP RegionDisk
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.2).
Для его установки используйте: ansible-galaxy collection install google.cloud.
Для использования в плейбуке укажите: google.cloud.gcp_compute_region_disk.
Обзор
- Персистентные диски — это долговременные устройства хранения данных, работающие аналогично физическим дискам в настольном компьютере или сервере. Compute Engine управляет аппаратным обеспечением этих устройств, гарантируя избыточность данных и оптимизирует производительность для вас. Персистентные диски доступны в виде стандартных жёстких дисков (HDD) или твердотельных накопителей (SSD).
- Персистентные диски расположены независимо от виртуальных машин, поэтому вы можете отсоединить или переместить персистентные диски, чтобы сохранить данные даже после удаления виртуальных машин. Производительность персистентных дисков автоматически масштабируется в зависимости от размера, поэтому вы можете изменить размер существующих персистентных дисков или добавить больше персистентных дисков к виртуальной машине, чтобы удовлетворить потребности в производительности и объёме хранения.
- Добавьте персистентный диск к виртуальной машине, когда вам необходимы надёжное и доступное хранилище с постоянными характеристиками производительности.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | |
| description строка | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||
| disk_encryption_key словарь | Шифрует диск с использованием предоставленного пользователем ключа шифрования. После шифрования диска с помощью ключа, предоставленного пользователем, необходимо предоставить тот же ключ при последующем использовании диска (например, для создания моментального снимка диска или образа, или для подключения диска к виртуальной машине). Ключи шифрования, предоставленные пользователем, не защищают доступ к метаданным диска. Если при создании диска ключ шифрования не указан, диск будет зашифрован сгенерированным автоматически ключом, и вам не нужно предоставлять ключ для последующего использования диска. | ||
| raw_key строка | Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в RFC 4648 base64 для шифрования или дешифрования этого ресурса. | ||
| env_type строка | Указывает, в какой среде Ansible выполняется этот модуль. Это значение не должно устанавливаться, если вы не знаете, что делаете. Это изменяет только строку пользовательского агента для всех запросов API. | ||
| labels словарь | Метки для применения к этому диску. Список пар ключ-значение. | ||
| licenses список / элементы=строка | Любые применимые общедоступные лицензии. | ||
| name строка / обязательно | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. | ||
| physical_block_size_bytes целое число | Размер физического блока персистентного диска в байтах. Если не указано в запросе, используется значение по умолчанию. В настоящее время поддерживаются размеры 4096 и 16384, в будущем могут быть добавлены другие размеры. Если запрошен недопустимый размер, сообщение об ошибке укажет поддерживаемые размеры для проекта вызывающего. | ||
| project строка | Проект Google Cloud Platform для использования. | ||
| region строка / обязательно | Ссылка на регион, в котором находится диск. | ||
| replica_zones список / элементы=строка / обязательно | URL-адреса зон, в которые должен быть скопирован диск. | ||
| 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_snapshot словарь | Моментальный снимок, используемый для создания диска. Вы можете указать его частичным или полным URL-адресом ресурса. Это поле представляет ссылку на ресурс Snapshot в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Кроме того, вы можете добавить `register: имя-ресурса` к задаче gcp_compute_snapshot, а затем установить это поле source_snapshot в "{{ имя-ресурса }}" | ||
| source_snapshot_encryption_key словарь | Ключ шифрования, предоставленный пользователем, для исходного снимка. Требуется, если исходный снимок защищен ключом шифрования, предоставленным пользователем. | ||
| raw_key строка | Указывает 256-битный ключ шифрования, предоставленный пользователем, закодированный в RFC 4648 base64 для шифрования или дешифрования этого ресурса. | ||
| state строка |
| Требуется ли наличие объекта в GCP | |
| type строка | URL ресурса типа диска, описывающего тип диска, который следует использовать для создания диска. Укажите это при создании диска. | ||
Примечания
Примечание
- Ссылка на API: https://cloud.google.com/compute/docs/reference/rest/v1/regionDisks
- Добавление или изменение размера региональных персистентных дисков: https://cloud.google.com/compute/docs/disks/regional-persistent-disk
- для аутентификации можно установить service_account_file с помощью переменной среды
gcp_service_account_file. - для аутентификации можно установить service_account_contents с помощью переменной среды
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 region disk
google.cloud.gcp_compute_region_disk:
name: test_object
size_gb: 500
disk_encryption_key:
raw_key: SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=
region: us-central1
replica_zones:
- https://www.googleapis.com/compute/v1/projects/google.com:graphite-playground/zones/us-central1-a
- https://www.googleapis.com/compute/v1/projects/google.com:graphite-playground/zones/us-central1-b
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| creationTimestamp строка | успешно | Маркер создания в формате RFC3339. | |
| description строка | успешно | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | |
| diskEncryptionKey сложный | успешно | Шифрует диск с помощью предоставленного клиентом ключа шифрования. После шифрования диска с помощью предоставленного клиентом ключа, вам необходимо предоставить тот же ключ, если вы используете диск позднее (например, для создания снимка диска или образа, или для подключения диска к виртуальной машине). Ключи шифрования, предоставленные клиентом, не защищают доступ к метаданным диска. Если вы не предоставите ключ шифрования при создании диска, диск будет зашифрован с помощью автоматически сгенерированного ключа, и вам не нужно предоставлять ключ для последующего использования диска. | |
| rawKey строка | успешно | Указывает 256-битный ключ шифрования, предоставленный клиентом, закодированный в RFC 4648 base64 для шифрования или дешифрования этого ресурса. | |
| sha256 строка | успешно | Закодированный в RFC 4648 base64 SHA-256 хэш ключа шифрования, предоставленного клиентом, который защищает этот ресурс. | |
| id целое число | успешно | Уникальный идентификатор ресурса. | |
| labelFingerprint строка | успешно | Отпечаток, используемый для оптимистической блокировки этого ресурса. Используется внутри при обновлениях. | |
| labels словарь | успешно | Метки, применяемые к этому диску. Список пар ключ-значение. | |
| lastAttachTimestamp строка | успешно | Маркер последнего подключения в формате RFC3339. | |
| lastDetachTimestamp строка | успешно | Маркер последнего отключения в формате RFC3339. | |
| licenses список / элементы=строка | успешно | Все применимые общедоступные лицензии. | |
| name строка | успешно | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть, длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. | |
| physicalBlockSizeBytes целое число | успешно | Физический размер блока постоянного диска в байтах. Если не указано в запросе, используется значение по умолчанию. В настоящее время поддерживаются размеры 4096 и 16384, в будущем могут быть добавлены другие размеры. Если запрошено недопустимое значение, сообщение об ошибке перечислит поддерживаемые значения для проекта пользователя. | |
| region строка | успешно | Ссылка на регион, в котором находится диск. | |
| replicaZones список / элементы=строка | успешно | URL зон, в которые должен быть скопирован диск. | |
| sizeGb целое число | успешно | Размер постоянного диска в ГБ. Вы можете указать это поле при создании постоянного диска, используя параметр sourceImage или sourceSnapshot, или указать его отдельно для создания пустого постоянного диска. Если вы указываете это поле вместе с sourceImage или sourceSnapshot, значение sizeGb не должно быть меньше размера sourceImage или размера снимка. | |
| sourceSnapshot словарь | успешно | Исходный снимок, используемый для создания этого диска. Вы можете предоставить его как частичный или полный URL-адрес ресурса. | |
| sourceSnapshotEncryptionKey сложный | успешно | Ключ шифрования, предоставленный клиентом, для исходного снимка. Требуется, если исходный снимок защищен ключом шифрования, предоставленным клиентом. | |
| rawKey строка | успешно | Указывает 256-битный ключ шифрования, предоставленный клиентом, закодированный в RFC 4648 base64 для шифрования или дешифрования этого ресурса. | |
| sha256 строка | успешно | Закодированный в RFC 4648 base64 SHA-256 хэш ключа шифрования, предоставленного клиентом, который защищает этот ресурс. | |
| sourceSnapshotId строка | успешно | Уникальный ID снимка, используемого для создания этого диска. Это значение идентифицирует точную версию снимка, которая была использована для создания этого постоянного диска. Например, если вы создали постоянный диск из снимка, который был позже удален и пересоздан под тем же именем, ID исходного снимка будет идентифицировать точную версию снимка, которая была использована. | |
| type строка | успешно | URL-адрес ресурса типа диска, описывающего тип диска, который необходимо использовать для создания диска. Укажите это при создании диска. | |
| users список / элементы=строка | успешно | Ссылки на пользователей диска (присоединённые экземпляры) в формате: project/zones/zone/instances/instance. | |
Авторы
- Google Inc. (@googlecloudplatform)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/google/cloud/gcp_compute_region_disk_module.html