Модуль google.cloud.gcp_compute_reservation — создание резервирования GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: google.cloud.gcp_compute_reservation.
Краткое описание
- Представляет ресурс резервирования. Резервирование гарантирует наличие ёмкости в определённой зоне, даже если зарезервированные виртуальные машины не запущены.
- Резервирования распространяются только на использование виртуальных машин Compute Engine, Cloud Dataproc и Google Kubernetes Engine. Резервирования не распространяются на типы машин `f1-micro` и `g1-small`, прерываемые виртуальные машины, узлы с эксклюзивным арендатором и другие не перечисленные выше службы, такие как Cloud SQL и Dataflow.
Требования
На узле, выполняющем этот модуль, необходимы следующие компоненты.
- 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. |
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. |
specific_reservation dictionary / обязательный | Резервирование экземпляров с заданными конфигурациями машин. |
|
count integer / обязательный |
Количество выделяемых ресурсов. |
|
instance_properties dictionary / обязательный |
Свойства экземпляров для резервирования. |
|
guest_accelerators list / элементы=dictionary |
Тип и количество гостевых ускорителей. |
|
accelerator_count integer / обязательный |
Количество гостевых ускорителей, доступных этому экземпляру. |
|
accelerator_type string / обязательный |
Полный или частичный URL типа ускорителя, подключаемого к этому экземпляру. Например: `projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100`. При создании шаблона экземпляра укажите только имя ускорителя. |
|
local_ssds list / элементы=dictionary |
Объём локального SSD, резервируемый для каждого экземпляра. Резервируются диски типа `local-ssd`. |
|
disk_size_gb integer / обязательный |
Размер диска в ГБ по основанию 2. |
|
interface string |
Интерфейс для подключения этого диска. Допустимые варианты: «SCSI», «NVME» По умолчанию: |
|
machine_type string / обязательный |
Имя типа машины, которую нужно зарезервировать. |
|
min_cpu_platform string |
Минимальная платформа ЦП для резервирования. Например, `”Intel Skylake”`. Сведения о доступных платформах ЦП см. на странице https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones. |
specific_reservation_required boolean | Если задано значение true, использовать это резервирование могут только виртуальные машины, явно указывающие его имя. В противном случае его могут использовать виртуальные машины, связанные с любым резервированием. По умолчанию — false. Варианты:
|
state string | Должен ли указанный объект существовать в GCP Варианты:
|
zone string / обязательный | Зона, в которой выполняется резервирование. |
Примечания
Примечание
- Справочник API: https://cloud.google.com/compute/docs/reference/rest/v1/reservations
- Резервирование зональных ресурсов: https://cloud.google.com/compute/docs/instances/reserving-zonal-resources
- для аутентификации можно задать 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 reservation
google.cloud.gcp_compute_reservation:
name: test_object
zone: us-central1-a
specific_reservation:
count: 1
instance_properties:
min_cpu_platform: Intel Cascade Lake
machine_type: n2-standard-2
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, относящиеся только к этому модулю:
Ключ | Описание |
|---|---|
commitment string | Полный или частичный URL родительского обязательства. Это поле отображается для резервирований, связанных с обязательством. Возвращается: при успехе |
creationTimestamp string | Временная метка создания в текстовом формате RFC3339. Возвращается: при успехе |
description string | Необязательное описание этого ресурса. Возвращается: при успехе |
id integer | Уникальный идентификатор ресурса. Возвращается: при успехе |
name string | Имя ресурса. Указывается клиентом при создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, кроме последнего символа, которым не может быть дефис. Возвращается: при успехе |
specificReservation complex | Резервирование экземпляров с заданными конфигурациями машин. Возвращается: при успехе |
|
count integer |
Количество выделяемых ресурсов. Возвращается: при успехе |
|
instanceProperties complex |
Свойства экземпляров для резервирования. Возвращается: при успехе |
|
guestAccelerators complex |
Тип и количество гостевых ускорителей. Возвращается: при успехе |
|
acceleratorCount integer |
Количество гостевых ускорителей, доступных этому экземпляру. Возвращается: при успехе |
|
acceleratorType string |
Полный или частичный URL типа ускорителя, подключаемого к этому экземпляру. Например: `projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100`. При создании шаблона экземпляра укажите только имя ускорителя. Возвращается: при успехе |
|
localSsds complex |
Объём локального SSD, резервируемый для каждого экземпляра. Резервируются диски типа `local-ssd`. Возвращается: при успехе |
|
diskSizeGb integer |
Размер диска в ГБ по основанию 2. Возвращается: при успехе |
|
interface string |
Интерфейс для подключения этого диска. Возвращается: при успехе |
|
machineType string |
Имя типа машины, которую нужно зарезервировать. Возвращается: при успехе |
|
minCpuPlatform string |
Минимальная платформа ЦП для резервирования. Например, `”Intel Skylake”`. Сведения о доступных платформах ЦП см. на странице https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones. Возвращается: при успехе |
|
inUseCount integer |
Количество используемых экземпляров. Возвращается: при успехе |
specificReservationRequired boolean | Если задано значение true, использовать это резервирование могут только виртуальные машины, явно указывающие его имя. В противном случае его могут использовать виртуальные машины, связанные с любым резервированием. По умолчанию — false. Возвращается: при успехе |
status string | Состояние резервирования. Возвращается: при успехе |
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_reservation_module.html