google.cloud.gcp_compute_reservation модуль — Создает резервацию GCP
Примечание
Этот модуль является частью коллекции google.cloud (версия 1.4.1).
Возможно, эта коллекция уже установлена, если вы используете пакет 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 строка | Токен доступа OAuth2, если тип учетных данных — accesstoken. |
auth_kind строка / обязательно | Тип учетных данных, используемых для аутентификации. Варианты:
|
description строка | Необязательное описание этого ресурса. |
env_type строка | Указывает, в какой среде Ansible вы запускаете этот модуль. Это поле не нужно устанавливать, если вы не знаете, что делаете. Это поле только изменяет строку User Agent для всех запросов к API. |
name строка / обязательно | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. |
project строка | Проект Google Cloud Platform, который нужно использовать. |
scopes список / элементы=строка | Массив используемых областей |
service_account_contents jsonarg | Содержимое файла JSON учетной записи сервиса, либо в виде словаря, либо как строка JSON, которая его представляет. |
service_account_email строка | Необязательный адрес электронной почты учетной записи сервиса, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. |
service_account_file путь | Путь к файлу JSON учетной записи сервиса, если тип выбран как serviceaccount. |
specific_reservation словарь / обязательно | Резервирование ресурсов для экземпляров с определенными форматами машин. |
|
count целое число / обязательно |
Количество зарезервированных ресурсов. |
|
instance_properties словарь / обязательно |
Свойства экземпляра для резервирования. |
|
guest_accelerators список / элементы=словарь |
Тип и количество ускорителей гостевой среды. |
|
accelerator_count целое число / обязательно |
Количество карт ускорителей гостевой среды, подключенных к экземпляру. |
|
accelerator_type строка / обязательно |
Полный или частичный URL типа ускорителя, который необходимо подключить к этому экземпляру. Например: `projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100` Если вы создаете шаблон экземпляра, укажите только имя ускорителя. |
|
local_ssds список / элементы=словарь |
Объем локальных SSD, которые необходимо зарезервировать для каждого экземпляра. Это резервирует диски типа `local-ssd`. |
|
disk_size_gb целое число / обязательно |
Размер диска в ГБ (двоичная система). |
|
interface строка |
Интерфейс диска для подключения этого диска. Некоторые допустимые значения: «SCSI», «NVME» Значение по умолчанию: |
|
machine_type строка / обязательно |
Имя типа машины, которое нужно зарезервировать. |
|
min_cpu_platform строка |
Минимальная платформа процессора для резервирования. Например, `”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. - Значения переменных окружения будут использоваться только в том случае, если значения в playbook не установлены.
- Параметры 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 строка | Полный или частичный URL родительского обязательства. Это поле отображается для резерваций, привязанных к обязательству. Возвращено: успех |
creationTimestamp строка | Дата и время создания в формате RFC3339. Возвращено: успех |
description строка | Необязательное описание этого ресурса. Возвращено: успех |
id целое число | Уникальный идентификатор ресурса. Возвращено: успех |
name строка | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. Возвращено: успех |
specificReservation сложное | Резервация для виртуальных машин со специфическими формами. Возвращено: успех |
|
count целое число |
Количество выделенных ресурсов. Возвращено: успех |
|
instanceProperties сложное |
Свойства виртуальной машины для резервации. Возвращено: успех |
|
guestAccelerators сложное |
Тип и количество ускорителей гостя. Возвращено: успех |
|
acceleratorCount целое число |
Количество карт ускорителей гостя, доступных этой виртуальной машине. Возвращено: успех |
|
acceleratorType строка |
Полный или частичный URL типа ускорителя, который нужно подключить к этой виртуальной машине. Например: `projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100` Если вы создаёте шаблон виртуальной машины, укажите только имя ускорителя. Возвращено: успех |
|
localSsds сложное |
Объем локального SSD, который нужно зарезервировать для каждой виртуальной машины. Это резервирует диски типа `local-ssd`. Возвращено: успех |
|
diskSizeGb целое число |
Размер диска в ГБ в двоичной системе. Возвращено: успех |
|
interface строка |
Интерфейс диска, используемый для подключения этого диска. Возвращено: успех |
|
machineType строка |
Имя типа машины, которую нужно зарезервировать. Возвращено: успех |
|
minCpuPlatform строка |
Минимальная платформа процессора для резервации. Например, `”Intel Skylake”`. См. https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones для информации о доступных платформах процессоров. Возвращено: успех |
|
inUseCount целое число |
Количество используемых виртуальных машин. Возвращено: успех |
specificReservationRequired булево | При установке в значение true, только виртуальные машины, нацеленные на эту резервацию по имени, могут использовать эту резервацию. В противном случае она может быть использована виртуальными машинами с аффинити к любой резервации. По умолчанию false. Возвращено: успех |
status строка | Статус резервации. Возвращено: успех |
зона строка | Зона, в которой создаётся резервация. Возвращается: успех |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/google/cloud/gcp_compute_reservation_module.html