google.cloud.gcp_compute_image – Создаёт GCP образ
Примечание
Этот плагин входит в состав коллекции google.cloud (версия 1.0.2).
Для его установки используйте: 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", "GVNIC" | ||
| 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: имя-ресурса` к задаче gcp_compute_disk, а затем установить это поле source_disk в "{{ имя-ресурса }}" | ||
| 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: имя-ресурса` к задаче gcp_compute_image, а затем установить это поле source_image в "{{ имя-ресурса }}" | ||
| source_snapshot словарь | URL исходного снимка, используемого для создания этого образа. Для создания образа вы должны указать полный или частичный URL одного из следующих: * URL selfLink * Это свойство * URL sourceImage * URL rawDisk.source * URL sourceDisk. Это поле представляет ссылку на ресурс снимка в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Или же вы можете добавить `register: имя-ресурса` к задаче gcp_compute_snapshot, а затем установить это поле source_snapshot в "{{ имя-ресурса }}" | ||
| 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. - Значения переменных среды будут использованы только в том случае, если значения в playbook не заданы.
- Параметры 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 строка | успех | URL рекомендуемого замены для устаревшего ресурса. Рекомендуемый ресурс замены должен быть того же типа, что и устаревший ресурс. | |
| 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 строка | успех | Полный URL Google Cloud Storage, где хранится хранилище диска. Вы должны предоставить либо это свойство, либо свойство sourceDisk, но не оба. | |
| sourceDisk словарь | успех | Диск-источник для создания этого образа на его основе. Вы должны предоставить либо это свойство, либо свойство rawDisk.source, но не оба, чтобы создать образ. | |
| sourceDiskEncryptionKey сложный тип | успех | Ключ шифрования, предоставленный клиентом, для исходного диска. Необходимо, если исходный диск защищен ключом шифрования, предоставленным клиентом. | |
| rawKey строка | успех | Указывает 256-битный предоставленный клиентом ключ шифрования, закодированный в RFC 4648 base64 для шифрования или дешифрования этого ресурса. | |
| sha256 строка | успех | Закодированный в RFC 4648 base64 SHA-256 хэш предоставленного клиентом ключа шифрования, защищающего этот ресурс. | |
| sourceDiskId строка | успех | Значение ID диска, используемого для создания этого образа. Это значение может быть использовано для определения, был ли образ взят из текущего или предыдущего экземпляра данного имени диска. | |
| sourceImage словарь | успех | URL исходного образа, используемого для создания этого образа. Для создания образа необходимо предоставить полный или частичный URL одного из следующих: * URL selfLink * Это свойство * URL rawDisk.source * URL sourceDisk. | |
| sourceSnapshot словарь | успех | URL исходного снимка, используемого для создания этого образа. Для создания образа необходимо предоставить полный или частичный URL одного из следующих: * URL selfLink * Это свойство * URL sourceImage * URL rawDisk.source * URL sourceDisk. | |
| sourceType строка | успех | Тип образа, используемого для создания этого диска. По умолчанию и единственное значение — RAW. | |
Авторы
- 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_image_module.html