Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин входит в состав коллекции amazon.aws (версия 1.3.0).

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

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

Новое в версии 1.0.0: of amazon.aws

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

Описание

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

Требования

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

  • python >= 2.6
  • boto

Параметры

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

Псевдонимы: ec2_access_key, access_key
aws_ca_bundle
path
Путь к файлу CA Bundle для проверки SSL-сертификатов.
Используется только для модулей на основе boto3.
Примечание: CA Bundle считывается на стороне модуля и может потребоваться явное копирование из контроллера, если он не запускается локально.
aws_config
dictionary
Словарь для изменения конфигурации botocore.
Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Для модулей boto используется только ключ 'user_agent'. Подробнее о конфигурации boto см. по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto.
aws_secret_key
string
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.
Если параметр profile задан, этот параметр игнорируется.
Передача параметров aws_secret_key и profile одновременно устарела и параметры будут взаимно исключать друг друга после 2022-06-01.

Псевдонимы: ec2_secret_key, secret_key
debug_botocore_endpoint_logs
boolean
    Варианты:
  • нет ←
  • да
Используйте логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов "ресурс:действие" во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, созданный во время выполнения playbook. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.
delete_on_termination
boolean
    Варианты:
  • нет
  • да
Удалить интерфейс при завершении работы экземпляра, к которому он подключен. Этот флаг можно указать только при изменении интерфейса, а не при его создании.
description
string
Необязательное описание ENI.
device_index
integer
По умолчанию:
0
Индекс устройства для подключения сетевого интерфейса к экземпляру.
ec2_url
string
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует адреса EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковая есть.

Псевдонимы: aws_endpoint_url, endpoint_url
eni_id
string
ID ENI (для изменения).
Если eni_id=None и state=present, будет создан новый eni.
force_detach
boolean
    Варианты:
  • нет ←
  • да
Принудительное отключение интерфейса. Это применяется при явном отключении интерфейса путем установки instance_id=None или при удалении интерфейса с state=absent.
instance_id
string
ID экземпляра, к которому необходимо подключить ENI.
С версии 2.2 используйте параметр attached для подключения или отключения ENI. До версии 2.2 для отключения ENI от экземпляра используйте None.
name
string
Имя ENI. Это создаст тег с названием "Name" со значением, указанным здесь.
Это можно использовать вместе с subnet_id как ещё один способ идентификации сетевого интерфейса.
AWS не накладывает ограничений на уникальность тегов Name, поэтому дублирование имён возможно, если вы настроили это так. В этом случае вам потребуется предоставить другую идентифицирующую информацию, такую как private_ip_address или eni_id.
private_ip_address
string
Приватный IP-адрес.
profile
string
Использует профиль boto. Работает только с boto >= 2.24.0.
Использование profile переопределит aws_access_key, aws_secret_key и security_token, и поддержка их одновременного использования с profile устарела.
aws_access_key, aws_secret_key и security_token будут взаимно исключать друг друга с profile после 2022-06-01.

Псевдонимы: aws_profile
purge_secondary_private_ip_addresses
boolean
    Варианты:
  • нет ←
  • да
Используется с secondary_private_ip_addresses для определения удаления или нет вторичных IP-адресов, кроме указанных.
Установите secondary_private_ip_addresses=[] для удаления всех вторичных адресов.
purge_tags
boolean
добавлен в 1.3.0 amazon.aws
    Варианты:
  • нет
  • да ←
Указывает, нужно ли удалить теги, не указанные в tags или name. Это означает, что вам нужно указать все желаемые теги в каждой задаче, влияющей на сетевой интерфейс.
Если tags опущено или равно None, этот параметр игнорируется.
region
string
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
integer
Количество вторичных IP-адресов, которые необходимо назначить сетевому интерфейсу. Этот параметр взаимно исключает secondary_private_ip_addresses
secondary_private_ip_addresses
list / elements=string
Список IP-адресов, которые нужно назначить в качестве вторичных IP-адресов сетевому интерфейсу. Этот параметр взаимно исключает secondary_private_ip_address_count
security_groups
list / elements=string
Список групп безопасности, связанных с интерфейсом. Используется только при state=present.
С версии 2.2 вы можете указывать группы безопасности по ID или имени или комбинации обоих. До версии 2.2 вы можете указывать только по ID.
security_token
string
AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Если параметр profile задан, этот параметр игнорируется.
Передача параметров security_token и profile одновременно устарела и параметры будут взаимно исключать друг друга после 2022-06-01.

Псевдонимы: aws_security_token, access_token
source_dest_check
boolean
    Варианты:
  • нет
  • да
По умолчанию интерфейсы выполняют проверки источника/назначения. Однако экземпляры NAT нуждаются в отключении этой проверки. Этот флаг можно указать только при изменении интерфейса, а не при его создании.
state
string
    Варианты:
  • наличие ←
  • отсутствие
Создание или удаление ENI.
subnet_id
string
ID подсети, в которой необходимо создать ENI.
tags
dictionary
добавлен в 1.3.0 amazon.aws
Словарь тегов для добавления к новому ENI или добавления/удаления из существующего. Обратите внимание, что поле name устанавливает тег "Name".
Для удаления всех тегов установите этот параметр в пустой словарь для использования в сочетании с purge_tags. Если вы предоставили name, этот тег не будет удалён.
Чтобы предотвратить удаление тегов, установите purge_tags в false.
validate_certs
boolean
    Варианты:
  • нет
  • да ←
При значении "нет", SSL-сертификаты не будут проверяться для версий boto >= 2.6.0.

Примечания

Примечание

  • Этот модуль идентифицирует и определяет ENI на основе eni_id, комбинации private_ip_address и subnet_id или комбинации instance_id и device_id. Любой из этих вариантов позволит указать конкретный ENI.
  • Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета AWS_URL или EC2_URL, AWS_PROFILE или AWS_DEFAULT_PROFILE, 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, AWS_CA_BUNDLE.
  • 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
- amazon.aws.ec2_eni:
    private_ip_address: 172.31.0.20
    subnet_id: subnet-xxxxxxxx
    state: present

# Create an ENI and attach it to an instance
- amazon.aws.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
- amazon.aws.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
- amazon.aws.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
- amazon.aws.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
- amazon.aws.ec2_eni:
    eni_id: eni-xxxxxxx
    force_detach: true
    state: absent

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

# Update an ENI using name and subnet_id
- amazon.aws.ec2_eni:
    name: eni-20
    subnet_id: subnet-xxxxxxx
    description: "My new description"
    state: present

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

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

### Delete an interface on termination
# First create the interface
- amazon.aws.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
- amazon.aws.ec2_eni:
    eni_id: "{{ eni.interface.id }}"
    delete_on_termination: true

Значения возврата

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

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

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

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

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

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

Пример:
00:00:5E:00:53:23
name
строка
успех
Имя ENI

Пример:
my-eni-20
owner_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
status
строка
успех
Статус сетевого интерфейса

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

Пример:
subnet-b0a0393c
tags
словарь
успех
Словарь тегов, связанных с ENI

Пример:
{'Имя': 'my-eni', 'группа': 'Финансы'}
vpc_id
строка
успех
VPC, к которой привязан сетевой интерфейс

Пример:
vpc-9a9a9da


Авторы

  • Rob White (@wimnat)
  • Mike Healey (@healem)

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

Spec-Zone.ru

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