Spec-Zone.ru › Ansible 2.4

ec2_eni - Создание и (по желанию) подключение интерфейса Elastic Network Interface (ENI) к экземпляру

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

  • Обзор
  • Требования (к хосту, на котором выполняется модуль)
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Примечания
    • Статус

Обзор

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

Требования (к хосту, на котором выполняется модуль)

  • python >= 2.6
  • boto

Параметры

параметр обязательно по умолчанию выбор комментарии
attached
(добавлен в 2.2)
нет True
Указывает, должен ли сетевой интерфейс быть подключён или отключён от экземпляра. Если опущено, статус подключения не изменится.
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
нет
Удалить интерфейс при завершении работы экземпляра, к которому он подключён. Флаг можно указывать только при изменении интерфейса, а не при его создании.
description
нет
Необязательное описание ENI.
device_index
нет
Индекс устройства для подключения сетевого интерфейса к экземпляру.
ec2_url
нет
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если таковая имеется.
eni_id
нет
Идентификатор ENI (для изменения); если null и state присутствует, будет создан новый eni.
force_detach
нет
Принудительное отключение интерфейса. Это применяется при явном отключении интерфейса путем задания instance_id в None или при удалении интерфейса со значением state=absent.
instance_id
нет
Идентификатор экземпляра, к которому необходимо подключить ENI. С версии 2.2 используйте параметр «attached» для подключения или отключения ENI. До версии 2.2, чтобы отключить ENI от экземпляра, используйте «None».
private_ip_address
нет
Приватный IP-адрес.
profile
(добавлен в 1.6)
нет
Использует профиль boto. Работает только с boto >= 2.24.0.
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
нет
По умолчанию интерфейсы выполняют проверки источника/назначения. Однако экземпляры NAT нуждаются в отключении этой проверки. Флаг можно указывать только при изменении интерфейса, а не при его создании.
state
нет present
  • present
  • absent
Создание или удаление ENI
subnet_id
нет
Идентификатор подсети, в которой необходимо создать ENI.
validate_certs
(добавлен в 1.5)
нет да
  • да
  • нет
Если установлено значение "нет", сертификаты SSL не будут проверены для версий boto >= 2.6.0.

Примеры

# 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_addresses:
      -

# 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

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

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

имя описание возвращается тип пример
interface
Атрибуты сетевого интерфейса
при state != absent сложный
содержит:
имя описание возвращается тип пример
status
статус сетевого интерфейса
строка pending
description
описание интерфейса
строка сетевой интерфейс брандмауэра
subnet_id
в какой VPC подсети привязан интерфейс
строка subnet-b0a0393c
private_ip_addresses
список всех приватных IP-адресов, связанных с этим интерфейсом
список словарей [{'private_ip_address': '10.20.30.40', 'primary_address': True}]
mac_address
физический адрес интерфейса
строка 00:00:5E:00:53:23
private_ip_address
главный IP-адрес этого интерфейса
строка 10.20.30.40
vpc_id
в какой VPC привязан этот сетевой интерфейс
строка vpc-9a9a9da
groups
список групп безопасности
список словарей [{'sg-f8a8a9da': 'default'}]
id
идентификатор сетевого интерфейса
строка eni-1d889198
source_dest_check
значение флага проверки источника/назначения
логическое True
owner_id
идентификатор учётной записи AWS
строка 812381371

Примечания

Примечание

  • Этот модуль идентифицирует 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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION обычно используются для указания региона AWS, когда это требуется, но это также может быть настроено в файле конфигурации boto

Статус

Этот модуль помечен как бета-версия, что означает, что его интерфейс не гарантируется быть обратной совместимым.

Для получения помощи в разработке модулей, если вы заинтересованы, пожалуйста, прочитайте Информация о сообществе и участие в разработке, Тестирование Ansible и Разработка модулей.

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

Spec-Zone.ru

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