модуль google.cloud.gcp_compute_snapshot — создание снимка GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для работы с этим модулем потребуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_compute_snapshot.
Обзор
- Представляет ресурс снимка постоянного диска.
- Используйте снимки для резервного копирования данных с постоянных дисков. Снимки отличаются от общедоступных и пользовательских образов, которые используются преимущественно для создания экземпляров или настройки шаблонов экземпляров. Снимки удобны для периодического резервного копирования данных на постоянных дисках. Снимки можно создавать даже тогда, когда постоянные диски подключены к работающим экземплярам.
- Снимки являются инкрементальными, поэтому регулярное создание снимков постоянного диска происходит быстрее и обходится значительно дешевле, чем регулярное создание полного образа диска.
Требования
На узле, выполняющем этот модуль, необходимы следующие компоненты.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен доступа OAuth2, если выбран тип учетных данных accesstoken. |
auth_kind string / обязательный | Тип используемых учетных данных. Варианты:
|
description string | Необязательное описание этого ресурса. |
env_type string | Указывает, в какой среде Ansible выполняется этот модуль. Не задавайте это значение, если не знаете, что делаете. Этот параметр изменяет только строку User Agent для запросов API. |
labels dictionary | Метки, назначаемые этому снимку. |
name string / обязательный | Имя ресурса, которое клиент указывает при его создании. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, то есть начинаться со строчной буквы, а все последующие символы должны быть дефисами, строчными буквами или цифрами; последний символ не может быть дефисом. |
project string | Проект Google Cloud Platform, который следует использовать. |
scopes list / элементы=string | Массив используемых областей доступа |
service_account_contents jsonarg | Содержимое JSON-файла учетной записи службы: словарь или строка JSON, представляющая его. |
service_account_email string | Необязательный адрес электронной почты учетной записи службы, если выбрано machineaccount и пользователь не хочет использовать адрес по умолчанию. |
service_account_file path | Путь к JSON-файлу учетной записи службы, если в качестве типа выбрано serviceaccount. |
snapshot_encryption_key dictionary | Предоставленный клиентом ключ шифрования снимка. Обязателен, если исходный снимок защищен ключом шифрования, предоставленным клиентом. |
|
kms_key_name string |
Имя ключа шифрования, хранящегося в Google Cloud KMS. |
|
kms_key_service_account string |
Учетная запись службы, используемая для запроса шифрования с указанным ключом KMS. Если значение не указано, используется учетная запись службы агента службы Compute Engine. |
|
raw_key string |
Задает предоставленный клиентом 256-битный ключ шифрования, закодированный в base64 по RFC 4648, для шифрования или расшифровки этого ресурса. |
source_disk dictionary / обязательный | Ссылка на диск, использованный для создания этого снимка. Это поле представляет ссылку на ресурс Disk в GCP. Его можно задать двумя способами. Во-первых, можно указать словарь с ключом ‘name’ и значением, равным имени ресурса. Также можно добавить `register: name-of-resource` в задачу gcp_compute_disk, а затем задать для поля source_disk значение “{{ name-of-resource }}” |
source_disk_encryption_key dictionary | Предоставленный клиентом ключ шифрования исходного снимка. Обязателен, если исходный снимок защищен ключом шифрования, предоставленным клиентом. |
|
kms_key_name string |
Имя ключа шифрования, хранящегося в Google Cloud KMS. |
|
kms_key_service_account string |
Учетная запись службы, используемая для запроса шифрования с указанным ключом KMS. Если значение не указано, используется учетная запись службы агента службы Compute Engine. |
|
raw_key string |
Задает предоставленный клиентом 256-битный ключ шифрования, закодированный в base64 по RFC 4648, для шифрования или расшифровки этого ресурса. |
state string | Должен ли указанный объект существовать в GCP Варианты:
|
storage_locations list / элементы=string | Место хранения снимка в корзине Cloud Storage (региональное или мульти региональное). |
zone string | Ссылка на зону, в которой размещен диск. |
Примечания
Примечание
- Справочник API: https://cloud.google.com/compute/docs/reference/rest/v1/snapshots
- Официальная документация: https://cloud.google.com/compute/docs/disks/create-snapshots
- Для аутентификации можно задать 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-snapshot
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 snapshot
google.cloud.gcp_compute_snapshot:
name: test_object
source_disk: "{{ disk }}"
zone: us-central1-a
labels:
my_label: value
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
creationTimestamp string | Время создания в текстовом формате RFC3339. Возвращается: при успешном выполнении |
description string | Необязательное описание этого ресурса. Возвращается: при успешном выполнении |
diskSizeGb integer | Размер снимка, указанный в ГБ. Возвращается: при успешном выполнении |
id integer | Уникальный идентификатор ресурса. Возвращается: при успешном выполнении |
labelFingerprint string | Отпечаток, используемый для оптимистической блокировки этого ресурса. Используется внутри системы при обновлении. Возвращается: при успешном выполнении |
labels dictionary | Метки, назначаемые этому снимку. Возвращается: при успешном выполнении |
licenses list / элементы=string | Список общедоступных лицензий, применимых к этому снимку. Это может быть связано с тем, что к исходному образу были привязаны лицензии (например, к образу Windows). Вложенный объект snapshotEncryptionKey шифрует снимок с помощью ключа шифрования, предоставленного клиентом. Возвращается: при успешном выполнении |
name string | Имя ресурса, которое клиент указывает при его создании. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, то есть начинаться со строчной буквы, а все последующие символы должны быть дефисами, строчными буквами или цифрами; последний символ не может быть дефисом. Возвращается: при успешном выполнении |
snapshotEncryptionKey complex | Предоставленный клиентом ключ шифрования снимка. Обязателен, если исходный снимок защищен ключом шифрования, предоставленным клиентом. Возвращается: при успешном выполнении |
|
kmsKeyName string |
Имя ключа шифрования, хранящегося в Google Cloud KMS. Возвращается: при успешном выполнении |
|
kmsKeyServiceAccount string |
Учетная запись службы, используемая для запроса шифрования с указанным ключом KMS. Если значение не указано, используется учетная запись службы агента службы Compute Engine. Возвращается: при успешном выполнении |
|
rawKey string |
Задает предоставленный клиентом 256-битный ключ шифрования, закодированный в base64 по RFC 4648, для шифрования или расшифровки этого ресурса. Возвращается: при успешном выполнении |
|
sha256 string |
Хеш SHA-256 предоставленного клиентом ключа шифрования, защищающего этот ресурс, закодированный в base64 по RFC 4648. Возвращается: при успешном выполнении |
sourceDisk dictionary | Ссылка на диск, использованный для создания этого снимка. Возвращается: при успешном выполнении |
sourceDiskEncryptionKey complex | Предоставленный клиентом ключ шифрования исходного снимка. Обязателен, если исходный снимок защищен ключом шифрования, предоставленным клиентом. Возвращается: при успешном выполнении |
|
kmsKeyName string |
Имя ключа шифрования, хранящегося в Google Cloud KMS. Возвращается: при успешном выполнении |
|
kmsKeyServiceAccount string |
Учетная запись службы, используемая для запроса шифрования с указанным ключом KMS. Если значение не указано, используется учетная запись службы агента службы Compute Engine. Возвращается: при успешном выполнении |
|
rawKey string |
Задает предоставленный клиентом 256-битный ключ шифрования, закодированный в base64 по RFC 4648, для шифрования или расшифровки этого ресурса. Возвращается: при успешном выполнении |
storageBytes integer | Объем хранилища, используемого снимком. Поскольку снимки совместно используют хранилище, ожидается, что это значение будет меняться при создании и удалении снимков. Возвращается: при успешном выполнении |
storageLocations list / элементы=string | Место хранения снимка в корзине Cloud Storage (региональное или мульти региональное). Возвращается: при успешном выполнении |
zone string | Ссылка на зону, в которой размещен диск. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 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_snapshot_module.html