gcp_compute_image – Создаёт образ GCP
Новая версия с 2.6.
Обзор
- Представляет собой ресурс образа.
- Google Compute Engine использует образы операционных систем для создания корневых постоянных дисков для ваших виртуальных машин. Вы указываете образ при создании виртуальной машины. Образы содержат загрузчик, операционную систему и корневую файловую систему. Образы Linux операционных систем также могут запускать контейнеры в Compute Engine.
- Образы могут быть общедоступными или пользовательскими.
- Общедоступные образы предоставляются и поддерживаются Google, сообществами с открытым исходным кодом и сторонними поставщиками. По умолчанию все проекты имеют доступ к этим образам и могут использовать их для создания виртуальных машин. Пользовательские образы доступны только вашему проекту. Вы можете создать пользовательский образ из корневых постоянных дисков и других образов. Затем используйте пользовательский образ для создания виртуальной машины.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | |
| description строка | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||
| disk_size_gb целое число | Размер образа при восстановлении на постоянный диск (в ГБ). | ||
| env_type строка | Указывает, в какой среде Ansible вы выполняете этот модуль. Это поле не следует устанавливать, если вы не знаете, что делаете. Это поле изменяет только строку User Agent для всех запросов к API. | ||
| family строка | Имя семейства образов, к которому принадлежит этот образ. Вы можете создавать диски, указывая семейство образов вместо имени конкретного образа. Семейство образов всегда возвращает свой последний не устаревший образ. Имя семейства образов должно соответствовать RFC1035. | ||
| guest_os_features список | Список функций, которые нужно включить в гостевой ОС. Применимо только к загружаемым образам. В настоящее время поддерживается только одна функция VIRTIO_SCSI_MULTIQUEUE, которая позволяет каждому виртуальному процессору иметь свою очередь. Для образов Windows вы можете включить VIRTIO_SCSI_MULTIQUEUE только в образах с версией драйвера 1.2.0.1621 или выше. Образы Linux с ядром версии 3.17 и выше будут поддерживать VIRTIO_SCSI_MULTIQUEUE. Для новых образов Windows сервер также может заполнить это поле значением WINDOWS, чтобы указать, что это образ Windows. Это значение носит чисто информативный характер и не включает или не отключает какие-либо функции. | ||
| type строка | Тип поддерживаемой функции. В настоящее время поддерживается только VIRTIO_SCSI_MULTIQUEUE. Для более новых образов Windows сервер также может заполнить это свойство значением WINDOWS, чтобы указать, что это образ Windows. Это значение носит чисто информативный характер и не включает или не отключает какие-либо функции. Некоторые допустимые значения включают: "VIRTIO_SCSI_MULTIQUEUE" | ||
| image_encryption_key словарь | Шифрует образ с помощью предоставленного клиентом ключа шифрования. После шифрования образа с использованием предоставленного клиентом ключа вы должны предоставить тот же ключ, если позже будете использовать образ (например, для создания диска из образа). | ||
| raw_key строка | Указывает 256-битный ключ шифрования, предоставленный клиентом, закодированный в RFC 4648 base64 для шифрования или дешифрования этого ресурса. | ||
| labels словарь добавлен в 2.8 | Метки, которые нужно применить к этому образу. | ||
| licenses список | Любой применимый URI лицензии. | ||
| name строка / обязательно | Имя ресурса, предоставляемое клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть, длина имени должна составлять от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — дефис, строчная буква или цифра, за исключением последнего символа, который не может быть дефисом. | ||
| project строка | Проект Google Cloud Platform, который нужно использовать. | ||
| raw_disk словарь | Параметры образа необработанного диска. | ||
| container_type строка | Формат, используемый для кодирования и передачи блочного устройства, который должен быть TAR. Это просто формат контейнера и передачи, а не формат выполнения. Предоставляется клиентом при создании образа диска. Некоторые допустимые значения включают: "TAR" | ||
| sha1_checksum строка | Необязательная контрольная сумма SHA1 образа диска до распаковки. Это предоставляется клиентом при создании образа диска. | ||
| source строка / обязательно | Полный URL Google Cloud Storage, где хранится хранилище диска. Вы должны указать либо это свойство, либо свойство sourceDisk, но не оба. | ||
| scopes список | Массив используемых областей. | ||
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, либо в словаре, либо в виде строки JSON, которая его представляет. | ||
| service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | ||
| service_account_file путь | Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount. | ||
| source_disk словарь | Исходный диск, на основе которого создается этот образ. Вы должны указать либо это свойство, либо свойство rawDisk.source, но не оба, чтобы создать образ. Это поле представляет собой ссылку на ресурс диска в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` к задаче gcp_compute_disk, а затем установить это поле source_disk в "{{ имя-ресурса }}" | ||
| source_disk_encryption_key словарь | Ключ шифрования, предоставленный клиентом, для исходного диска. Требуется, если исходный диск защищен ключом шифрования, предоставленным клиентом. | ||
| raw_key строка | Указывает 256-битный ключ шифрования, предоставленный клиентом, закодированный в RFC 4648 base64 для шифрования или дешифрования этого ресурса. | ||
| source_disk_id строка | Значение ID диска, используемого для создания этого образа. Это значение можно использовать для определения того, был ли образ взят из текущего или предыдущего экземпляра заданного имени диска. | ||
| source_type строка | Тип образа, использованного для создания этого диска. По умолчанию и единственное значение — RAW. Некоторые допустимые значения включают: "RAW" | ||
| state строка |
| Существует ли данный объект в GCP | |
Примечания
Примечание
- Ссылка на API: https://cloud.google.com/compute/docs/reference/v1/images
- Официальная документация: https://cloud.google.com/compute/docs/images
- для аутентификации можно установить 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: disk-image
zone: us-central1-a
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: disk
- name: create a image
gcp_compute_image:
name: test_object
source_disk: "{{ disk }}"
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения документированы здесь, ниже приведены поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| archiveSizeBytes целое число | успех | Размер архива изображения tar.gz, хранящегося в Google Cloud Storage (в байтах). | |
| creationTimestamp строка | успех | Маркер создания в формате RFC3339. | |
| deprecated сложное | успех | Статус устаревания, связанный с этим изображением. | |
| deleted строка | успех | Необязательная отметка времени RFC3339, начиная с которой состояние этого ресурса предполагается изменить на DELETED. Это только информационное сообщение, и статус не изменится, если клиент его не изменит явно. | |
| deprecated строка | успех | Необязательная отметка времени RFC3339, начиная с которой состояние этого ресурса предполагается изменить на DEPRECATED. Это только информационное сообщение, и статус не изменится, если клиент его не изменит явно. | |
| obsolete строка | успех | Необязательная отметка времени RFC3339, начиная с которой состояние этого ресурса предполагается изменить на OBSOLETE. Это только информационное сообщение, и статус не изменится, если клиент его не изменит явно. | |
| replacement строка | успех | URL предложенной замены для устаревшего ресурса. Предлагаемый заменяющий ресурс должен быть того же типа, что и устаревший ресурс. | |
| state строка | успех | Состояние устаревания этого ресурса. Может быть DEPRECATED, OBSOLETE или DELETED. Операции, которые создают новый ресурс, используя устаревший ресурс, завершатся успешно, но с предупреждением, указывающим на устаревший ресурс и рекомендуя его замену. Операции, использующие OBSOLETE или DELETED ресурсы, будут отклонены и приведут к ошибке. | |
| description строка | успех | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | |
| diskSizeGb целое число | успех | Размер изображения при восстановлении на постоянный диск (в ГБ). | |
| family строка | успех | Имя семейства изображений, к которому принадлежит это изображение. Вы можете создавать диски, указывая семейство изображений вместо конкретного имени изображения. Семейство изображений всегда возвращает последнее изображение, которое не устарело. Имя семейства изображений должно соответствовать RFC1035. | |
| guestOsFeatures сложное | успех | Список функций для включения в гостевой ОС. Применимо только для загружаемых изображений. В настоящее время может быть включена только одна функция, VIRTIO_SCSI_MULTIQUEUE, которая позволяет каждому виртуальному процессору иметь свою собственную очередь. Для Windows-изображений вы можете включить VIRTIO_SCSI_MULTIQUEUE только для изображений с версией драйвера 1.2.0.1621 или выше. Linux-изображения с ядром версии 3.17 и выше будут поддерживать VIRTIO_SCSI_MULTIQUEUE. Для новых Windows-изображений сервер также может заполнить это поле значением WINDOWS, чтобы указать, что это Windows-изображение. Это значение чисто информационное и не включает или выключает какие-либо функции. | |
| type строка | успех | Тип поддерживаемой функции. В настоящее время поддерживается только VIRTIO_SCSI_MULTIQUEUE. Для более новых Windows-изображений сервер также может заполнить это свойство значением WINDOWS, чтобы указать, что это Windows-изображение. Это значение чисто информационное и не включает или выключает какие-либо функции. | |
| id целое число | успех | Уникальный идентификатор ресурса. Этот идентификатор определяется сервером. | |
| imageEncryptionKey сложное | успех | Шифрует изображение с помощью предоставленного клиентом ключа шифрования. После шифрования изображения с помощью предоставленного клиентом ключа необходимо предоставить тот же ключ, если позже используется изображение (например, для создания диска из изображения). | |
| rawKey строка | успех | Указывает 256-битный предоставленный клиентом ключ шифрования, закодированный в RFC 4648 base64 для шифрования или дешифрования этого ресурса. | |
| sha256 строка | успех | Закодированный в RFC 4648 base64 хэш SHA-256 предоставленного клиентом ключа шифрования, защищающего этот ресурс. | |
| labelFingerprint строка | успех | Отпечаток, используемый для оптимистической блокировки этого ресурса. Используется внутри во время обновлений. | |
| labels словарь | успех | Метки для применения к этому изображению. | |
| licenses список | успех | Любой применимый URI лицензии. | |
| name строка | успех | Имя ресурса; предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. | |
| rawDisk сложное | успех | Параметры изображения сырого диска. | |
| containerType строка | успех | Формат, используемый для кодирования и передачи блочного устройства, который должен быть TAR. Это просто формат контейнера и передачи, а не формат выполнения. Предоставляется клиентом при создании изображения диска. | |
| sha1Checksum строка | успех | Необязательная проверка SHA1 изображения диска перед распаковкой. Это предоставляется клиентом при создании изображения диска. | |
| source строка | успех | Полный URL Google Cloud Storage, где хранится хранилище диска. Вы должны предоставить либо это свойство, либо свойство sourceDisk, но не оба. | |
| sourceDisk словарь | успех | Исходный диск для создания этого изображения на его основе. Чтобы создать изображение, вы должны предоставить либо это свойство, либо свойство rawDisk.source, но не оба. | |
| sourceDiskEncryptionKey сложное | успех | Ключ шифрования, предоставленный клиентом, для исходного диска. Требуется, если исходный диск защищен ключом шифрования, предоставленным клиентом. | |
| rawKey строка | успех | Указывает 256-битный предоставленный клиентом ключ шифрования, закодированный в RFC 4648 base64 для шифрования или дешифрования этого ресурса. | |
| sha256 строка | успех | Закодированный в RFC 4648 base64 хэш SHA-256 предоставленного клиентом ключа шифрования, защищающего этот ресурс. | |
| sourceDiskId строка | успех | Значение идентификатора диска, используемого для создания этого изображения. Это значение может использоваться для определения, было ли изображение взято из текущего или предыдущего экземпляра данного имени диска. | |
| sourceType строка | успех | Тип изображения, используемого для создания этого диска. По умолчанию и единственное значение - RAW. | |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом 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_image_module.html