Spec-Zone.ru › Ansible 2.10

google.cloud.gcp_compute – Источник инвентаризации Google Cloud Compute Engine

Примечание

Этот плагин входит в состав коллекции google.cloud (версия 1.0.1).

Для его установки используйте: ansible-galaxy collection install google.cloud.

Чтобы использовать его в книге задач, укажите: google.cloud.gcp_compute.

  • Обзор
  • Требования
  • Параметры
  • Примеры

Обзор

  • Получение хостов инвентаризации из Google Cloud Platform GCE.
  • Использует файл конфигурации YAML, заканчивающийся на gcp_compute.(yml|yaml) или gcp.(yml|yaml).

Требования

Ниже перечислены требования, необходимые на локальном контроллере узла, выполняющем эту инвентаризацию.

  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр Варианты/Значения по умолчанию Конфигурация Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • serviceaccount
  • machineaccount
env:GCP_AUTH_KIND
добавлено в 2.8.2 google.cloud
Тип используемых учетных данных.
cache
булево
    Варианты:
  • нет ←
  • да
записи ini:

[inventory]
cache = нет

env:ANSIBLE_INVENTORY_CACHE
Включить/выключить кеширование исходных данных инвентаризации, требует настройки плагина кеширования для работы.
cache_connection
строка
записи ini:

[defaults]
fact_caching_connection = None

[inventory]
cache_connection = None

env:ANSIBLE_CACHE_PLUGIN_CONNECTION
env:ANSIBLE_INVENTORY_CACHE_CONNECTION
Данные или путь к подключению к кешу, см. документацию плагина кеша для подробностей.
cache_plugin
строка
Значение по умолчанию:
"memory"
записи ini:

[defaults]
fact_caching = memory

[inventory]
cache_plugin = memory

env:ANSIBLE_CACHE_PLUGIN
env:ANSIBLE_INVENTORY_CACHE_PLUGIN
Плагин кеширования для исходных данных инвентаризации.
cache_prefix
строка
Значение по умолчанию:
"ansible_inventory_"
записи ini:

[default]
fact_caching_prefix = ansible_inventory_

[inventory]
cache_prefix = ansible_inventory_

env:ANSIBLE_CACHE_PLUGIN_PREFIX
env:ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX
Префикс для файлов/таблиц плагина кеширования
cache_timeout
целое число
Значение по умолчанию:
3600
записи ini:

[defaults]
fact_caching_timeout = 3600

[inventory]
cache_timeout = 3600

env:ANSIBLE_CACHE_PLUGIN_TIMEOUT
env:ANSIBLE_INVENTORY_CACHE_TIMEOUT
Срок действия кеша в секундах
compose
словарь
Значение по умолчанию:
{}
Создать переменные из выражений Jinja2.
filters
список / элементы=строка
Список пар значений фильтра. Доступные фильтры перечислены здесь https://cloud.google.com/compute/docs/reference/rest/v1/instances/aggregatedList. Каждый дополнительный фильтр в списке будет добавлен как условие И (filter1 и filter2)
folders
список / элементы=строка
Папка, содержащая множество проектов
groups
словарь
Значение по умолчанию:
{}
Добавить хосты в группу на основе условных выражений Jinja2.
hostnames
список / элементы=строка
Значение по умолчанию:
["public_ip", "private_ip", "name"]
Список опций, описывающих порядок назначения имен хостов. В настоящее время поддерживаются имена хостов 'public_ip', 'private_ip' или 'name'.
keyed_groups
список / элементы=строка
Значение по умолчанию:
[]
Добавить хосты в группу на основе значений переменной.
plugin
строка / обязательно
    Варианты:
  • gcp_compute
токен, гарантирующий, что это исходный файл для плагина 'gcp_compute'.
projects
список / элементы=строка
Список проектов, в которых описываются экземпляры GCE.
retrieve_image_info
булево
добавлено в 2.8 google.cloud
    Варианты:
  • нет ←
  • да
Заполнить факт хоста image для возвращаемых экземпляров с именем образа GCP.
По умолчанию этот плагин не пытается определить загрузочный образ экземпляра в каталоге имен образов GCP из-за накладных расходов на задачу.
Если эта опция не включена, переменная хоста image будет null
scopes
список / элементы=строка
Значение по умолчанию:
["https://www.googleapis.com/auth/compute"]
env:GCP_SCOPES
добавлено в 2.8.2 google.cloud
список областей аутентификации
service_account_contents
строка
добавлено в 2.8.2 google.cloud
env:GCP_SERVICE_ACCOUNT_CONTENTS
Строка, представляющая содержимое JSON-файла учетной записи службы. Это не должно передаваться как словарь, а строка с точным содержимым файла service account json (валидный JSON).
service_account_email
строка
env:GCP_SERVICE_ACCOUNT_EMAIL
добавлено в 2.8.2 google.cloud
Дополнительный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
env:GCP_SERVICE_ACCOUNT_FILE
добавлено в 2.8.2 google.cloud
env:GCE_CREDENTIALS_FILE_PATH
добавлено в 2.8 google.cloud
Путь к JSON-файлу учетной записи службы, если для типа выбрано serviceaccount.
strict
булево
    Варианты:
  • нет ←
  • да
Если yes сделать недопустимые записи ошибкой, иначе пропустить и продолжить.
Поскольку возможно использование фактов в выражениях, они могут быть недоступны, поэтому эти ошибки игнорируются по умолчанию.
use_contrib_script_compatible_sanitization
булево
добавлено в 2.8 google.cloud
    Варианты:
  • нет ←
  • да
По умолчанию этот плагин использует общую очистку имён групп для создания безопасных и удобных имён групп для использования в Ansible. Эта опция позволяет переопределить это для миграции со старого скрипта инвентаризации.
Для этого также необходимо отключить параметр TRANSFORM_INVALID_GROUP_CHARS, иначе ядро просто использует стандартную очистку сверху.
Это не значение по умолчанию, так как такие имена нарушают определённые функции, поскольку не все символы являются допустимыми идентификаторами Python, которые в итоге используются для имён групп.
vars_prefix
строка
Значение по умолчанию:
""
Префикс для применения к переменным хоста, не включает факты и параметры
zones
список / элементы=строка
Список регионов, в которых описываются экземпляры GCE. Если не указано, по умолчанию используются все доступные зоны для данного проекта.

Примеры

plugin: google.cloud.gcp_compute
zones: # populate inventory with instances in these regions
  - us-east1-a
projects:
  - gcp-prod-gke-100
  - gcp-cicd-101
filters:
  - machineType = n1-standard-1
  - scheduling.automaticRestart = true AND machineType = n1-standard-1
service_account_file: /tmp/service_account.json
auth_kind: serviceaccount
scopes:
 - 'https://www.googleapis.com/auth/cloud-platform'
 - 'https://www.googleapis.com/auth/compute.readonly'
keyed_groups:
  # Create groups from GCE labels
  - prefix: gcp
    key: labels
hostnames:
  # List host by name instead of the default public ip
  - name
compose:
  # Set an inventory parameter to use the Public IP address to connect to the host
  # For Private ip use "networkInterfaces[0].networkIP"
  ansible_host: networkInterfaces[0].accessConfigs[0].natIP

© 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_inventory.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API