google.cloud.gcp_compute_image – Создаёт изображение GCP
Примечание
Этот плагин входит в состав коллекции google.cloud (версия 1.0.1).
Для его установки используйте: 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
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | |
| description строка | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||
| disk_size_gb целое число | Размер изображения при восстановлении на постоянный диск (в ГБ). | ||
| env_type строка | Указывает, в какой среде Ansible вы выполняете этот модуль. Не устанавливайте это значение, если вы не знаете, что делаете. Это изменяет только строку User Agent для всех запросов к API. | ||
| family строка | Название семейства изображений, к которому принадлежит это изображение. Вы можете создать диски, указав семейство изображений вместо имени конкретного изображения. Семейство изображений всегда возвращает последнее изображение, которое не устарело. Название семейства изображений должно соответствовать RFC1035. | ||
| guest_os_features список / элементы=словарь | Список функций, которые необходимо включить в гостевой операционной системе. Применимо только для загружаемых образов. | ||
| type строка / обязательно | Тип поддерживаемой функции. Некоторые допустимые значения: "MULTI_IP_SUBNET", "SECURE_BOOT", "SEV_CAPABLE", "UEFI_COMPATIBLE", "VIRTIO_SCSI_MULTIQUEUE", "WINDOWS" | ||
| image_encryption_key словарь | Шифрует изображение с помощью предоставленного пользователем ключа шифрования. После шифрования изображения с использованием пользовательского ключа вам необходимо предоставить тот же ключ, если вы в дальнейшем будете использовать изображение (например, для создания диска из изображения). | ||
| raw_key строка | Указывает 256-битный пользовательский ключ шифрования, закодированный в RFC 4648 base64, для шифрования или дешифрования этого ресурса. | ||
| labels словарь | Метки, которые необходимо применить к этому изображению. | ||
| 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: name-of-resource` к задаче gcp_compute_disk, а затем установить это поле source_disk в "{{ name-of-resource }}" | ||
| source_disk_encryption_key словарь | Ключ шифрования, предоставленный пользователем, для исходного диска. Необходимо, если исходный диск защищен с помощью ключа шифрования, предоставленного пользователем. | ||
| raw_key строка | Указывает 256-битный пользовательский ключ шифрования, закодированный в RFC 4648 base64, для шифрования или дешифрования этого ресурса. | ||
| source_disk_id строка | Значение идентификатора диска, используемого для создания этого изображения. Это значение можно использовать для определения, был ли образ взят с текущего или предыдущего экземпляра с данным именем диска. | ||
| source_image словарь | URL исходного изображения, используемого для создания этого изображения. Для создания изображения необходимо указать полный или частичный URL одного из следующих: URL selfLink. Это свойство. URL rawDisk.source. URL sourceDisk. Это поле представляет собой ссылку на ресурс Изображение в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: name-of-resource` к задаче gcp_compute_image, а затем установить это поле source_image в "{{ name-of-resource }}" | ||
| source_snapshot словарь | URL исходного снимка, используемого для создания этого изображения. Для создания изображения необходимо указать полный или частичный URL одного из следующих: URL selfLink. Это свойство. URL sourceImage. URL rawDisk.source. URL sourceDisk. Это поле представляет собой ссылку на ресурс Снимок в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: name-of-resource` к задаче gcp_compute_snapshot, а затем установить это поле source_snapshot в "{{ name-of-resource }}" | ||
| 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 с помощью переменной среды
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 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 целое число | успех | Размер архива образа tar.gz, хранящегося в Google Cloud Storage (в байтах). | |
| creationTimestamp строка | успех | Отметка времени создания в формате RFC3339. | |
| deprecated сложное | успех | Статус устаревания, связанный с этим образом. | |
| deleted строка | успех | Необязательная отметка времени RFC3339, начиная с которой состояние этого ресурса предполагается изменить на DELETED. Это только информационное сообщение, и статус не изменится, пока клиент явно его не изменит. | |
| deprecated строка | успех | Необязательная отметка времени RFC3339, начиная с которой состояние этого ресурса предполагается изменить на DEPRECATED. Это только информационное сообщение, и статус не изменится, пока клиент явно его не изменит. | |
| obsolete строка | успех | Необязательная отметка времени RFC3339, начиная с которой состояние этого ресурса предполагается изменить на OBSOLETE. Это только информационное сообщение, и статус не изменится, пока клиент явно его не изменит. | |
| replacement строка | успех | Ссылка на предложенную замену устаревшего ресурса. Предлагаемый ресурс замены должен быть того же типа, что и устаревший ресурс. | |
| state строка | успех | Состояние устаревания этого ресурса. Может быть DEPRECATED, OBSOLETE или DELETED. Операции, создающие новый ресурс, используя DEPRECATED ресурс, вернут успех, но с предупреждением, указывающим на устаревший ресурс и рекомендующей его замену. Операции, использующие OBSOLETE или DELETED ресурсы, будут отклонены и приведут к ошибке. | |
| description строка | успех | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | |
| diskSizeGb целое число | успех | Размер образа при восстановлении на постоянный диск (в ГБ). | |
| family строка | успех | Имя семейства образов, к которому принадлежит этот образ. Можно создать диски, указав семейство образов вместо конкретного имени образа. Семейство образов всегда возвращает свой последний образ, который не устарел. Имя семейства образов должно соответствовать RFC1035. | |
| guestOsFeatures сложное | успех | Список функций для включения в гостевую операционную систему. Применимо только для загружаемых образов. | |
| type строка | успех | Тип поддерживаемой функции. | |
| 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 строка | успех | Полная ссылка Google Cloud Storage, где хранится хранилище диска. Вы должны предоставить либо это свойство, либо свойство sourceDisk, но не оба. | |
| sourceDisk словарь | успех | Исходный диск для создания этого образа. Для создания образа необходимо предоставить либо это свойство, либо свойство rawDisk.source, но не оба. | |
| sourceDiskEncryptionKey сложное | успех | Ключ шифрования, предоставленный клиентом, исходного диска. Требуется, если исходный диск защищен ключом шифрования, предоставленным клиентом. | |
| rawKey строка | успех | Указывает 256-битный предоставленный клиентом ключ шифрования, закодированный в RFC 4648 base64 для шифрования или расшифровки этого ресурса. | |
| sha256 строка | успех | Закодированный в RFC 4648 base64 SHA-256 хэш предоставленного клиентом ключа шифрования, защищающего этот ресурс. | |
| sourceDiskId строка | успех | Идентификатор значения диска, используемого для создания этого образа. Это значение может быть использовано для определения, был ли образ взят из текущего или предыдущего экземпляра данного имени диска. | |
| sourceImage словарь | успех | Ссылка на исходный образ, использованный для создания этого образа. Для создания образа необходимо предоставить полную или частичную ссылку на один из следующих ресурсов: URL selfLink; Это свойство; URL rawDisk.source; URL sourceDisk. | |
| sourceSnapshot словарь | успех | Ссылка на исходный снимок, используемый для создания этого образа. Для создания образа необходимо предоставить полную или частичную ссылку на один из следующих ресурсов: URL selfLink; Это свойство; URL sourceImage; URL rawDisk.source; URL sourceDisk. | |
| sourceType строка | успех | Тип образа, использованного для создания этого диска. По умолчанию и единственное значение — RAW. | |
Авторы
- 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.10/collections/google/cloud/gcp_compute_image_module.html