Spec-Zone.ru › Ansible 2.10

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) к экземпляру. Если предоставлен ENI ID или 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 для проверки SSL-сертификатов.
Используется только для модулей на основе boto3.
Примечание: набор сертификатов CA считывается со стороны 'модуля' и может потребоваться явное копирование с контроллера, если он не выполняется локально.
aws_config
dictionary
Словарь для изменения конфигурации botocore.
Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Для модулей boto используется только ключ 'user_agent'. Смотрите http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о конфигурации 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 для вывода в общий список, выполненный во время выполнения книги команд.
Также можно использовать переменную среды 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
Идентификатор ENI (для изменения).
Если eni_id=None и state=present, будет создан новый eni.
force_detach
boolean
    Варианты:
  • нет ←
  • да
Принудительное отключение интерфейса. Это применяется при явном отключении интерфейса установкой instance_id=None или при удалении интерфейса с state=absent.
instance_id
string
Идентификатор экземпляра, к которому вы хотите подключить 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 токен. Если не задан, используется значение переменной среды 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
Идентификатор подсети, в которой создать 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

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

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

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

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

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

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

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

Пример:
00:00:5E:00:53:23
имя
строка
успех
Имя 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
статус
строка
успех
Статус сетевого интерфейса

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

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

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

Пример:
vpc-9a9a9da


Авторы

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

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

Spec-Zone.ru

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