gcp_compute_region_disk – Создаёт диск GCP региона
Новое в версии 2.8.
Обзор
- Персистентные диски — это долговременные устройства хранения, функционирующие аналогично физическим дискам на настольных компьютерах или серверах. 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 выполняется этот модуль. Это значение не нужно указывать, если вы не знаете, что делаете. Это изменяет только строку User Agent для любых запросов к 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/beta/regionDisks
- Добавление или изменение размеров региональных постоянных дисков: https://cloud.google.com/compute/docs/disks/regional-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 region disk
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-битный ключ шифрования, предоставленный клиентом, закодированный в формате base64 RFC 4648 для шифрования или расшифрования этого ресурса. | |
| sha256 строка | успех | Закодированный в формате base64 RFC 4648 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-битный ключ шифрования, предоставленный клиентом, закодированный в формате base64 RFC 4648 для шифрования или расшифрования этого ресурса. | |
| sha256 строка | успех | Закодированный в формате base64 RFC 4648 SHA-256 хэш ключа шифрования, предоставленного клиентом, который защищает этот ресурс. | |
| sourceSnapshotId строка | успех | Уникальный идентификатор снимка, используемого для создания этого диска. Это значение идентифицирует точный снимок, который был использован для создания этого постоянного диска. Например, если вы создали постоянный диск из снимка, который был позже удален и пересоздан под тем же именем, идентификатор исходного снимка будет идентифицировать точную версию снимка, которая была использована. | |
| type строка | успех | URL ресурса типа диска, описывающего тип диска, который следует использовать для создания диска. Укажите это при создании диска. | |
| users список | успех | Ссылки на пользователей диска (присоединённые экземпляры) в формате: project/zones/zone/instances/instance. | |
Статус
- Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
- Данный модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- 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_region_disk_module.html