Spec-Zone.ru › Ansible 2.11

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

Примечание

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

Для его установки используйте: 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
список / элементы=строка
Значение по умолчанию:
[]
Добавление хостов в группу на основе значений переменной.
leading_separator
логическое
добавлено в 2.11 ansible.builtin
    Варианты:
  • нет
  • да ←
Используется в сочетании с keyed_groups.
По умолчанию имя ключированной группы, не имеющей префикса или разделителя, начинается с подчеркивания.
Это потому, что префикс по умолчанию равен "", а разделитель по умолчанию равен "_".
Установите этот параметр в значение False, чтобы опустить начальное подчеркивание (или другой разделитель), если префикс не задан.
Если имя группы получено из отображения, разделитель по-прежнему используется для конкатенации элементов.
Чтобы вообще не использовать разделитель в имени группы, установите разделитель для ключированной группы на пустую строку.
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 учетной записи сервиса. Не передавайте это как словарь, а строку с точным содержимым файла 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, которые используются в именах групп.
use_extra_vars
логическое
добавлено в 2.11 ansible.builtin
    Варианты:
  • нет ←
  • да
записи в ini:

[inventory_plugins]
use_extra_vars = нет

env:ANSIBLE_INVENTORY_USE_EXTRA_VARS
Слияние дополнительных переменных в доступные переменные для композиции (самый высокий приоритет).
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–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_inventory.html

Spec-Zone.ru

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