Модуль google.cloud.gcp_compute_image — создание образа GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install google.cloud. Для работы с этим модулем могут потребоваться дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_compute_image.
Краткое описание
- Представляет ресурс образа.
- Google Compute Engine использует образы операционных систем для создания корневых постоянных дисков экземпляров. При создании экземпляра указывается образ. Образы содержат загрузчик, операционную систему и корневую файловую систему. Образы операционных систем Linux также позволяют запускать контейнеры в Compute Engine.
- Образы могут быть общедоступными или пользовательскими.
- Общедоступные образы предоставляются и поддерживаются Google, сообществами разработчиков ПО с открытым исходным кодом и сторонними поставщиками. По умолчанию все проекты имеют доступ к этим образам и могут использовать их для создания экземпляров. Пользовательские образы доступны только в вашем проекте. Пользовательский образ можно создать на основе корневых постоянных дисков и других образов. Затем используйте пользовательский образ для создания экземпляра.
Требования
На узле, на котором выполняется этот модуль, должны быть установлены следующие компоненты.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен доступа OAuth2, если тип учётных данных — accesstoken. |
auth_kind string / обязательный | Тип используемых учётных данных. Варианты:
|
description string | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. |
disk_size_gb integer | Размер образа после восстановления на постоянном диске (в ГБ). |
env_type string | Указывает, в какой среде Ansible выполняется этот модуль. Не задавайте этот параметр, если не знаете, что делаете. Он изменяет только строку User Agent для запросов к API. |
family string | Имя семейства образов, к которому относится этот образ. Диски можно создавать, указывая семейство образов вместо имени конкретного образа. Семейство образов всегда возвращает последний образ, который не помечен как устаревший. Имя семейства образов должно соответствовать RFC1035. |
guest_os_features list / элементы=dictionary | Список функций, которые нужно включить в гостевой операционной системе. Применимо только к загрузочным образам. |
|
type string / обязательный |
Тип поддерживаемой функции. Допустимые варианты: “MULTI_IP_SUBNET”, “SECURE_BOOT”, “SEV_CAPABLE”, “UEFI_COMPATIBLE”, “VIRTIO_SCSI_MULTIQUEUE”, “WINDOWS”, “GVNIC” |
image_encryption_key dictionary | Шифрует образ с помощью предоставленного пользователем ключа шифрования. После шифрования образа с помощью предоставленного пользователем ключа тот же ключ необходимо указывать при последующем использовании образа (например, при создании диска на основе образа). |
|
raw_key string |
Указывает предоставленный пользователем ключ шифрования длиной 256 бит в кодировке base64 по RFC 4648, который используется для шифрования или расшифровки этого ресурса. |
labels dictionary | Метки, применяемые к этому образу. |
licenses list / элементы=string | URI всех применимых лицензий. |
name string / обязательный | Имя ресурса, указываемое клиентом при создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной буквой, а все последующие — дефисом, строчной буквой или цифрой, за исключением последнего символа, которым не может быть дефис. |
project string | Проект Google Cloud Platform, который нужно использовать. |
raw_disk dictionary | Параметры образа необработанного диска. |
|
container_type string |
Формат кодирования и передачи блочного устройства; должен быть TAR. Это только формат контейнера и передачи, а не формат среды выполнения. Указывается клиентом при создании образа диска. Допустимые варианты: “TAR” |
|
sha1_checksum string |
Необязательная контрольная сумма SHA1 образа диска до распаковки. Указывается клиентом при создании образа диска. |
|
source string / обязательный |
Полный URL Google Cloud Storage, по которому хранится хранилище диска. Необходимо указать это свойство или свойство sourceDisk, но не оба сразу. |
scopes list / элементы=string | Массив используемых областей доступа |
service_account_contents jsonarg | Содержимое JSON-файла сервисного аккаунта в виде словаря или JSON-строки, представляющей его. |
service_account_email string | Необязательный адрес электронной почты сервисного аккаунта, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. |
service_account_file path | Путь к JSON-файлу сервисного аккаунта, если в качестве типа выбран serviceaccount. |
source_disk dictionary | Исходный диск, на основе которого создаётся этот образ. Для создания образа необходимо указать это свойство или свойство rawDisk.source, но не оба сразу. Это поле представляет ссылку на ресурс Disk в GCP. Его можно задать двумя способами. Во-первых, можно указать словарь с ключом ‘selfLink’ и значением selfLink ресурса. Кроме того, можно добавить `register: name-of-resource` в задачу gcp_compute_disk, а затем присвоить этому полю source_disk значение “{{ name-of-resource }}” |
source_disk_encryption_key dictionary | Предоставленный пользователем ключ шифрования исходного диска. Обязателен, если исходный диск защищён предоставленным пользователем ключом шифрования. |
|
raw_key string |
Указывает предоставленный пользователем ключ шифрования длиной 256 бит в кодировке base64 по RFC 4648, который используется для шифрования или расшифровки этого ресурса. |
source_disk_id string | Идентификатор диска, использованного для создания этого образа. Это значение может использоваться для определения того, был ли образ создан на основе текущего или предыдущего экземпляра диска с заданным именем. |
source_image dictionary | URL исходного образа, использованного для создания этого образа. Для создания образа необходимо указать полный или частичный URL одного из следующих ресурсов: * URL selfLink * Это свойство * URL rawDisk.source * URL sourceDisk. Это поле представляет ссылку на ресурс Image в GCP. Его можно задать двумя способами. Во-первых, можно указать словарь с ключом ‘selfLink’ и значением selfLink ресурса. Кроме того, можно добавить `register: name-of-resource` в задачу gcp_compute_image, а затем присвоить этому полю source_image значение “{{ name-of-resource }}” |
source_snapshot dictionary | URL исходного снимка, использованного для создания этого образа. Для создания образа необходимо указать полный или частичный URL одного из следующих ресурсов: * URL selfLink * Это свойство * URL sourceImage * URL rawDisk.source * URL sourceDisk. Это поле представляет ссылку на ресурс Snapshot в GCP. Его можно задать двумя способами. Во-первых, можно указать словарь с ключом ‘selfLink’ и значением selfLink ресурса. Кроме того, можно добавить `register: name-of-resource` в задачу gcp_compute_snapshot, а затем присвоить этому полю source_snapshot значение “{{ name-of-resource }}” |
source_type string | Тип образа, использованного для создания этого диска. Единственное значение по умолчанию — RAW. Допустимые варианты: “RAW” |
state string | Должен ли указанный объект существовать в GCP Варианты:
|
Примечания
Примечание
- Справочник API: https://cloud.google.com/compute/docs/reference/v1/images
- Официальная документация: https://cloud.google.com/compute/docs/images
- для аутентификации можно задать 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: 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
google.cloud.gcp_compute_image:
name: test_object
source_disk: "{{ disk }}"
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
archiveSizeBytes integer | Размер архива образа tar.gz, хранящегося в Google Cloud Storage (в байтах). Возвращается: success |
creationTimestamp string | Время создания в текстовом формате RFC3339. Возвращается: success |
deprecated complex | Сведения об устаревании, связанные с этим образом. Возвращается: success |
|
deleted string |
Необязательная временная метка RFC3339, указывающая момент, когда предполагается перевести этот ресурс в состояние DELETED или позднее. Это значение носит только информационный характер; состояние не изменится, если клиент явно не изменит его. Возвращается: success |
|
deprecated string |
Необязательная временная метка RFC3339, указывающая момент, когда предполагается перевести этот ресурс в состояние DEPRECATED или позднее. Это значение носит только информационный характер; состояние не изменится, если клиент явно не изменит его. Возвращается: success |
|
obsolete string |
Необязательная временная метка RFC3339, указывающая момент, когда предполагается перевести этот ресурс в состояние OBSOLETE или позднее. Это значение носит только информационный характер; состояние не изменится, если клиент явно не изменит его. Возвращается: success |
|
replacement string |
URL рекомендуемой замены для устаревшего ресурса. Рекомендуемый ресурс-замена должен быть того же типа, что и устаревший ресурс. Возвращается: success |
|
state string |
Состояние устаревания этого ресурса. Возможные значения: DEPRECATED, OBSOLETE или DELETED. Операции, создающие новый ресурс на основе ресурса в состоянии DEPRECATED, завершаются успешно, но выдают предупреждение с указанием устаревшего ресурса и рекомендацией использовать его замену. Операции с ресурсами в состояниях OBSOLETE или DELETED отклоняются и завершаются ошибкой. Возвращается: success |
description string | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. Возвращается: success |
diskSizeGb integer | Размер образа после восстановления на постоянный диск (в ГБ). Возвращается: success |
family string | Имя семейства образов, к которому относится этот образ. Диски можно создавать, указывая семейство образов вместо имени конкретного образа. Семейство образов всегда возвращает последний образ, который не является устаревшим. Имя семейства образов должно соответствовать RFC1035. Возвращается: success |
guestOsFeatures complex | Список функций, которые нужно включить в гостевой операционной системе. Применимо только к загрузочным образам. Возвращается: success |
|
type string |
Тип поддерживаемой функции. Возвращается: success |
id integer | Уникальный идентификатор ресурса. Этот идентификатор задается сервером. Возвращается: success |
imageEncryptionKey complex | Шифрует образ с помощью ключа шифрования, предоставленного пользователем. После шифрования образа ключом, предоставленным пользователем, при последующем использовании образа (например, для создания диска на его основе) необходимо предоставить тот же ключ. Возвращается: success |
|
rawKey string |
Задает 256-битный ключ шифрования, предоставленный пользователем и закодированный в base64 согласно RFC 4648, для шифрования или расшифровки этого ресурса. Возвращается: success |
|
sha256 string |
Хеш SHA-256 ключа шифрования, предоставленного пользователем и защищающего этот ресурс, закодированный в base64 согласно RFC 4648. Возвращается: success |
labelFingerprint string | Отпечаток, используемый для оптимистической блокировки этого ресурса. Применяется внутренними механизмами при обновлении. Возвращается: success |
labels dictionary | Метки, применяемые к этому образу. Возвращается: success |
licenses list / elements=string | Все применимые URI лицензий. Возвращается: success |
name string | Имя ресурса; задается клиентом при создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, то есть первый символ должен быть строчной латинской буквой, а все последующие символы — дефисом, строчной латинской буквой или цифрой, за исключением последнего символа, которым не может быть дефис. Возвращается: success |
rawDisk complex | Параметры образа необработанного диска. Возвращается: success |
|
containerType string |
Формат, используемый для кодирования и передачи блочного устройства; это должен быть TAR. Это только формат контейнера и передачи, а не формат среды выполнения. Задается клиентом при создании образа диска. Возвращается: success |
|
sha1Checksum string |
Необязательная контрольная сумма SHA1 образа диска до распаковки. Указывается клиентом при создании образа диска. Возвращается: success |
|
source string |
Полный URL Google Cloud Storage, где хранится образ диска. Необходимо указать либо это свойство, либо свойство sourceDisk, но не оба сразу. Возвращается: success |
sourceDisk dictionary | Исходный диск, на основе которого создается этот образ. Для создания образа необходимо указать либо это свойство, либо свойство rawDisk.source, но не оба сразу. Возвращается: success |
sourceDiskEncryptionKey complex | Ключ шифрования исходного диска, предоставленный пользователем. Обязателен, если исходный диск защищен ключом шифрования, предоставленным пользователем. Возвращается: success |
|
rawKey string |
Задает 256-битный ключ шифрования, предоставленный пользователем и закодированный в base64 согласно RFC 4648, для шифрования или расшифровки этого ресурса. Возвращается: success |
|
sha256 string |
Хеш SHA-256 ключа шифрования, предоставленного пользователем и защищающего этот ресурс, закодированный в base64 согласно RFC 4648. Возвращается: success |
sourceDiskId string | Значение идентификатора диска, использованного для создания этого образа. Это значение можно использовать, чтобы определить, был ли образ создан из текущего или предыдущего экземпляра диска с заданным именем. Возвращается: success |
sourceImage dictionary | URL исходного образа, использованного для создания этого образа. Для создания образа необходимо указать полный или частичный URL одного из следующих ресурсов: * URL selfLink * Это свойство * URL rawDisk.source * URL sourceDisk. Возвращается: success |
sourceSnapshot dictionary | URL исходного снимка, использованного для создания этого образа. Для создания образа необходимо указать полный или частичный URL одного из следующих ресурсов: * URL selfLink * Это свойство * URL sourceImage * URL rawDisk.source * URL sourceDisk. Возвращается: success |
sourceType string | Тип образа, использованного для создания этого диска. Значение по умолчанию и единственное допустимое значение — RAW. Возвращается: success |
Ссылки на коллекцию
© 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_image_module.html