Spec-Zone.ru › Ansible 2.7

aws_ec2 – источник инвентаризации ec2

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

Обзор

  • Получение хостов инвентаризации из Amazon Web Services EC2.
  • Использует файл конфигурации YAML, который заканчивается на aws_ec2.(yml|yaml).

Требования

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

  • boto3
  • botocore

Параметры

Параметр Варианты/Значения по умолчанию Конфигурация Комментарии
aws_access_key_id
-
env:AWS_ACCESS_KEY_ID
env:AWS_ACCESS_KEY
env:EC2_ACCESS_KEY
Ключ доступа AWS для использования. Если вы указали профиль, вам не нужно указывать ключ доступа/секретный ключ/токен сессии.
aws_secret_access_key
-
env:AWS_SECRET_ACCESS_KEY
env:AWS_SECRET_KEY
env:EC2_SECRET_KEY
Секретный ключ AWS, соответствующий ключу доступа. Если вы указали профиль, вам не нужно указывать ключ доступа/секретный ключ/токен сессии.
aws_security_token
-
env:AWS_SECURITY_TOKEN
env:AWS_SESSION_TOKEN
env:EC2_SECURITY_TOKEN
Токен безопасности AWS, если используются временные ключи доступа и секретные ключи.
boto_profile
-
env:AWS_PROFILE
env:AWS_DEFAULT_PROFILE
Профиль boto для использования.
cache
boolean
По умолчанию:
"нет"
записи ini:

[inventory]
cache = нет

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

[inventory]
cache_connection = ЗНАЧЕНИЕ

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

[inventory]
cache_plugin = ЗНАЧЕНИЕ

env:ANSIBLE_INVENTORY_CACHE_PLUGIN
Плагин кеша для использования данных источника инвентаризации.
cache_timeout
целое число
По умолчанию:
3600
записи ini:

[inventory]
cache_timeout = 3600

env:ANSIBLE_INVENTORY_CACHE_TIMEOUT
Срок действия кеша в секундах
compose
словарь
По умолчанию:
{}
создание переменных из выражений jinja2
filters
словарь
По умолчанию:
{}
Словарь пар значений фильтров. Доступные фильтры перечислены здесь http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html#options
groups
словарь
По умолчанию:
{}
добавление хостов в группу на основе условных выражений Jinja2
hostnames
список
По умолчанию:
[]
Список имен хостов в порядке приоритета. Вы можете использовать параметры, указанные в http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html#options. Чтобы использовать теги в качестве имен хостов, используйте синтаксис тег:Имя=Значение для использования имени хоста Имя_Значение или тег:Имя для использования значения тега Имя.
keyed_groups
список
По умолчанию:
[]
добавление хостов в группу на основе значений переменной
plugin
- / обязательно
    Варианты:
  • aws_ec2
токен, гарантирующий, что это файл источника для плагина 'aws_ec2'.
regions
список
По умолчанию:
[]
Список регионов, в которых нужно описать экземпляры EC2.
Если пусто (по умолчанию), это включает все регионы, за исключением, возможно, ограниченных, таких как us-gov-west-1 и cn-north-1.
strict
boolean
По умолчанию:
"нет"
Если true, недействительные записи будут ошибкой, в противном случае пропустить и продолжить
Поскольку возможно использовать факты в выражениях, они могут не всегда быть доступны, и мы игнорируем эти ошибки по умолчанию.
strict_permissions
boolean
    Варианты:
  • нет
  • да ←
По умолчанию, если встречается 403 (Запрещено), этот плагин завершится ошибкой. Вы можете установить strict_permissions в False в файле конфигурации инвентаризации, что позволит избежать ошибок 403.

Примеры

# Minimal example using environment vars or instance role credentials
# Fetch all hosts in us-east-1, the hostname is the public DNS if it exists, otherwise the private IP address
plugin: aws_ec2
regions:
  - us-east-1

# Example using filters, ignoring permission errors, and specifying the hostname precedence
plugin: aws_ec2
boto_profile: aws_profile
regions: # populate inventory with instances in these regions
  - us-east-1
  - us-east-2
filters:
  # all instances with their `Environment` tag set to `dev`
  tag:Environment: dev
  # all dev and QA hosts
  tag:Environment:
    - dev
    - qa
  instance.group-id: sg-xxxxxxxx
# ignores 403 errors rather than failing
strict_permissions: False
# note: I(hostnames) sets the inventory_hostname. To modify ansible_host without modifying
# inventory_hostname use compose (see example below).
hostnames:
  - tag:Name=Tag1,Name=Tag2  # return specific hosts only
  - tag:CustomDNSName
  - dns-name
  - private-ip-address

# Example using constructed features to create groups and set ansible_host
plugin: aws_ec2
regions:
  - us-east-1
  - us-west-1
# keyed_groups may be used to create custom groups
strict: False
keyed_groups:
  # add e.g. x86_64 hosts to an arch_x86_64 group
  - prefix: arch
    key: 'architecture'
  # add hosts to tag_Name_Value groups for each Name/Value tag pair
  - prefix: tag
    key: tags
  # add hosts to e.g. instance_type_z3_tiny
  - prefix: instance_type
    key: instance_type
  # create security_groups_sg_abcd1234 group for each SG
  - key: 'security_groups|json_query("[].group_id")'
    prefix: 'security_groups'
  # create a group for each value of the Application tag
  - key: tags.Application
    separator: ''
  # create a group per region e.g. aws_region_us_east_2
  - key: placement.region
    prefix: aws_region
# set individual variables with compose
compose:
  # use the private IP address to connect to the host
  # (note: this does not modify inventory_hostname, which is set via I(hostnames))
  ansible_host: private_ip_address

Статус

Авторы

  • НЕИЗВЕСТНО

Подсказка

Если вы заметили какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/plugins/inventory/aws_ec2.html

Spec-Zone.ru

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