Spec-Zone.ru › Ansible 2.7

ec2_eni – Создание и (необязательное) подключение Elastic Network Interface (ENI) к экземпляру

Новое в версии 2.0.

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

Обзор

  • Создание и (необязательное) подключение Elastic Network Interface (ENI) к экземпляру. Если предоставлен ID ENI или private_ip, существующий ENI (если таковой имеется) будет изменён. Параметр ‘attached’ управляет состоянием подключения сетевого интерфейса.

Требования

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

  • python >= 2.6
  • boto

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
allow_reassignment
boolean
добавлено в 2.7
    Варианты:
  • нет ←
  • да
Указывает, разрешено ли переназначение IP-адреса, уже назначенного другому сетевому интерфейсу или экземпляру, указанному сетевому интерфейсу.
attached
boolean
добавлено в 2.2
    Варианты:
  • нет
  • да
Указывает, должен ли сетевой интерфейс быть подключён или отключён от экземпляра. Если опущено, статус подключения не изменится.
aws_access_key
-
Ключ доступа AWS. Если не задан, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.

псевдонимы: ec2_access_key, access_key
aws_secret_key
-
Секретный ключ AWS. Если не задан, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.

псевдонимы: ec2_secret_key, secret_key
delete_on_termination
boolean
    Варианты:
  • нет
  • да
Удалить интерфейс при завершении работы экземпляра, к которому он подключен. Этот флаг можно указать только при изменении интерфейса, а не при его создании.
description
-
Необязательное описание ENI.
device_index
-
По умолчанию:
0
Индекс устройства для подключения сетевого интерфейса к экземпляру.
ec2_url
-
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она есть.
eni_id
-
ID ENI (для изменения); если null и state присутствует, будет создан новый eni.
force_detach
boolean
    Варианты:
  • нет ←
  • да
Принудительное отключение интерфейса. Это применимо, когда интерфейс явно отключается, установив instance_id в None, или при удалении интерфейса с state=absent.
instance_id
-
ID экземпляра, к которому необходимо подключить ENI. Начиная с версии 2.2, используйте параметр ‘attached’ для подключения или отключения ENI. До версии 2.2 для отключения ENI от экземпляра используйте ‘None’.
private_ip_address
-
Приватный IP-адрес.
profile
-
добавлено в 1.6
Использует профиль boto. Работает только с boto >= 2.24.0.
purge_secondary_private_ip_addresses
boolean
добавлено в 2.5
    Варианты:
  • нет ←
  • да
Используется с secondary_private_ip_addresses для определения того, удалять ли дополнительные IP-адреса, кроме указанных. Установите secondary_private_ip_addresses в пустой список, чтобы удалить все дополнительные адреса.
region
-
Регион AWS для использования. Если не указан, используется значение переменной среды AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

псевдонимы: aws_region, ec2_region
secondary_private_ip_address_count
-
добавлено в 2.2
Количество дополнительных IP-адресов, которые нужно назначить сетевому интерфейсу. Этот параметр взаимоисключающий с secondary_private_ip_addresses
secondary_private_ip_addresses
-
добавлено в 2.2
Список IP-адресов, которые нужно назначить в качестве дополнительных IP-адресов сетевому интерфейсу. Этот параметр взаимоисключающий с secondary_private_ip_address_count
security_groups
-
Список групп безопасности, связанных с интерфейсом. Используется только при state=present. Начиная с версии 2.2, можно указывать группы безопасности по ID или имени или комбинацией обоих. До версии 2.2 можно указывать только по ID.
security_token
-
добавлено в 1.6
Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

псевдонимы: access_token
source_dest_check
boolean
    Варианты:
  • нет
  • да
По умолчанию интерфейсы выполняют проверки источника/назначения. Однако экземплярам NAT требуется отключение этой проверки. Этот флаг можно указать только при изменении интерфейса, а не при его создании.
state
-
    Варианты:
  • present ←
  • absent
Создать или удалить ENI
subnet_id
-
ID подсети, в которой нужно создать ENI.
validate_certs
boolean
добавлено в 1.5
    Варианты:
  • нет
  • да ←
Если установлено в «нет», сертификаты SSL не будут проверяться для версий boto >= 2.6.0.

Примечания

Примечание

  • Этот модуль определяет ENI, основываясь на eni_id, комбинации private_ip_address и subnet_id или комбинации instance_id и device_id. Любой из этих вариантов позволит указать конкретный ENI.
  • Если параметры не заданы внутри модуля, могут быть использованы следующие переменные окружения в порядке убывания приоритета AWS_URL или EC2_URL, AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY или EC2_ACCESS_KEY, AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY или EC2_SECRET_KEY, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN, AWS_REGION или EC2_REGION
  • Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION обычно используются для указания региона AWS, когда это необходимо, но это также можно настроить в файле конфигурации boto

Примеры

# Note: These examples do not set authentication details, see the AWS Guide for details.

# Create an ENI. As no security group is defined, ENI will be created in default security group
- ec2_eni:
    private_ip_address: 172.31.0.20
    subnet_id: subnet-xxxxxxxx
    state: present

# Create an ENI and attach it to an instance
- ec2_eni:
    instance_id: i-xxxxxxx
    device_index: 1
    private_ip_address: 172.31.0.20
    subnet_id: subnet-xxxxxxxx
    state: present

# Create an ENI with two secondary addresses
- ec2_eni:
    subnet_id: subnet-xxxxxxxx
    state: present
    secondary_private_ip_address_count: 2

# Assign a secondary IP address to an existing ENI
# This will purge any existing IPs
- ec2_eni:
    subnet_id: subnet-xxxxxxxx
    eni_id: eni-yyyyyyyy
    state: present
    secondary_private_ip_addresses:
      - 172.16.1.1

# Remove any secondary IP addresses from an existing ENI
- ec2_eni:
    subnet_id: subnet-xxxxxxxx
    eni_id: eni-yyyyyyyy
    state: present
    secondary_private_ip_address_count: 0

# Destroy an ENI, detaching it from any instance if necessary
- ec2_eni:
    eni_id: eni-xxxxxxx
    force_detach: yes
    state: absent

# Update an ENI
- ec2_eni:
    eni_id: eni-xxxxxxx
    description: "My new description"
    state: present

# Update an ENI identifying it by private_ip_address and subnet_id
- ec2_eni:
    subnet_id: subnet-xxxxxxx
    private_ip_address: 172.16.1.1
    description: "My new description"

# Detach an ENI from an instance
- ec2_eni:
    eni_id: eni-xxxxxxx
    instance_id: None
    state: present

### Delete an interface on termination
# First create the interface
- ec2_eni:
    instance_id: i-xxxxxxx
    device_index: 1
    private_ip_address: 172.31.0.20
    subnet_id: subnet-xxxxxxxx
    state: present
  register: eni

# Modify the interface to enable the delete_on_terminaton flag
- ec2_eni:
    eni_id: "{{ eni.interface.id }}"
    delete_on_termination: true

Возвращаемые значения

Общие значения возвращаемых данных документированы здесь, ниже приведены поля, уникальные для данного модуля:

Ключ Возвращаемое значение Описание
интерфейс
сложный
когда состояние != отсутствует
Атрибуты сетевого интерфейса

описание
строка
Описание интерфейса

Пример:
Сетевой интерфейс брандмауэра
группы
список словарей
Список групп безопасности

Пример:
[{'sg-f8a8a9da': 'default'}]
id
строка
ID сетевого интерфейса

Пример:
eni-1d889198
mac_address
строка
Физический адрес интерфейса

Пример:
00:00:5E:00:53:23
owner_id
строка
ID учетной записи AWS

Пример:
812381371
private_ip_address
строка
Основной IP-адрес этого интерфейса

Пример:
10.20.30.40
private_ip_addresses
список словарей
Список всех частных IP-адресов, связанных с этим интерфейсом

Пример:
[{'primary_address': True, 'private_ip_address': '10.20.30.40'}]
source_dest_check
булево
Значение флага проверки источника/назначения

Пример:
True
статус
строка
Статус сетевого интерфейса

Пример:
ожидание
subnet_id
строка
Подсеть VPC, к которой привязан интерфейс

Пример:
subnet-b0a0393c
vpc_id
строка
VPC, к которому привязан этот сетевой интерфейс

Пример:
vpc-9a9a9da


Статус

  • Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • Rob White (@wimnat)

Подсказка

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

© 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/modules/ec2_eni_module.html

Spec-Zone.ru

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