ec2_vpc_nat_gateway — Управление NAT-шлюзами AWS VPC.
Новая версия 2.2.
Обзор
- Обеспечение состояния NAT-шлюзов AWS VPC на основе их идентификатора, выделения и идентификаторов подсетей.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allocation_id | Значение по умолчанию: None | Идентификатор выделения Elastic IP. Если он не передан, и eip_address тоже не передан, для этого NAT-шлюза будет сгенерирован EIP. |
| aws_access_key | Значение по умолчанию: None | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key |
| aws_secret_key | Значение по умолчанию: None | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key |
| client_token | Необязательный уникальный токен для использования во время создания для обеспечения идемпотентности. При указании этого параметра обязательно укажите параметр eip_address, иначе последующие запуски завершатся ошибкой. | |
| ec2_url | Значение по умолчанию: None | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть. |
| eip_address | IP-адрес Elastic IP, который вы хотите подключить к этому NAT-шлюзу. Если он не передан, и allocation_id тоже не передан, для этого NAT-шлюза будет сгенерирован EIP. | |
| if_exist_do_not_create | Значение по умолчанию: нет | Если NAT-шлюз уже существует в subnet_id, то новый не создается. |
| nat_gateway_id | Значение по умолчанию: None | Идентификатор, динамически назначенный AWS NAT-шлюзу при создании. Требуется, если присутствует параметр absent. |
| profile (добавлен в 1.6) | Значение по умолчанию: None | Использует профиль 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 | |
| release_eip | Значение по умолчанию: да | Освободить EIP из VPC. Параметр действителен только со state = absent. Вы должны использовать его с параметром wait. Поскольку вы не можете освободить адрес во время операции удаления. |
| security_token (добавлен в 1.6) | Значение по умолчанию: None | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token |
| state |
| Обеспечение присутствия или отсутствия NAT-шлюза. |
| subnet_id | Значение по умолчанию: None | Идентификатор подсети для создания NAT-шлюза. Требуется с параметром present. |
| validate_certs (добавлен в 1.5) |
| При значении "нет", сертификаты SSL не будут проверяться для версий boto >= 2.6.0. |
| wait | Значение по умолчанию: нет | Ожидать завершения операции перед возвратом. |
| wait_timeout | Значение по умолчанию: 300 | Количество секунд ожидания завершения операции перед истечением времени ожидания. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
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
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
- name: Create new nat gateway with client token.
ec2_vpc_nat_gateway:
state: present
subnet_id: subnet-12345678
eip_address: 52.1.1.1
region: ap-southeast-2
client_token: abcd-12345678
register: new_nat_gateway
- name: Create new nat gateway using an allocation-id.
ec2_vpc_nat_gateway:
state: present
subnet_id: subnet-12345678
allocation_id: eipalloc-12345678
region: ap-southeast-2
register: new_nat_gateway
- name: Create new nat gateway, using an EIP address and wait for available status.
ec2_vpc_nat_gateway:
state: present
subnet_id: subnet-12345678
eip_address: 52.1.1.1
wait: yes
region: ap-southeast-2
register: new_nat_gateway
- name: Create new nat gateway and allocate new EIP.
ec2_vpc_nat_gateway:
state: present
subnet_id: subnet-12345678
wait: yes
region: ap-southeast-2
register: new_nat_gateway
- name: Create new nat gateway and allocate new EIP if a nat gateway does not yet exist in the subnet.
ec2_vpc_nat_gateway:
state: present
subnet_id: subnet-12345678
wait: yes
region: ap-southeast-2
if_exist_do_not_create: true
register: new_nat_gateway
- name: Delete nat gateway using discovered nat gateways from facts module.
ec2_vpc_nat_gateway:
state: absent
region: ap-southeast-2
wait: yes
nat_gateway_id: "{{ item.NatGatewayId }}"
release_eip: yes
register: delete_nat_gateway_result
with_items: "{{ gateways_to_remove.result }}"
- name: Delete nat gateway and wait for deleted status.
ec2_vpc_nat_gateway:
state: absent
nat_gateway_id: nat-12345678
wait: yes
wait_timeout: 500
region: ap-southeast-2
- name: Delete nat gateway and release EIP.
ec2_vpc_nat_gateway:
state: absent
nat_gateway_id: nat-12345678
release_eip: yes
wait: yes
wait_timeout: 300
region: ap-southeast-2
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| create_time строка | Во всех случаях. | Формат даты и времени ISO 8601 в формате UTC. Пример: 2016-03-05T05:19:20.282000+00:00' |
| nat_gateway_addresses строка | Во всех случаях. | Список словарей, содержащих public_ip, network_interface_id, private_ip и allocation_id. Пример: [{'public_ip': '52.52.52.52', 'network_interface_id': 'eni-12345', 'private_ip': '10.0.0.100', 'allocation_id': 'eipalloc-12345'}] |
| nat_gateway_id строка | Во всех случаях. | Идентификатор NAT-шлюза VPC Пример: nat-0d1e3a878585988f8 |
| state строка | Во всех случаях. | Текущее состояние NAT-шлюза. Пример: available |
| subnet_id строка | Во всех случаях. | Идентификатор подсети Пример: subnet-12345 |
| vpc_id строка | Во всех случаях. | Идентификатор VPC. Пример: vpc-12345 |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.
Автор
- Allen Sanabria (@linuxdynasty)
- Jon Hadfield (@jonhadfield)
- Karen Cheng(@Etherdaemon)
Подсказка
Если вы заметили какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/ec2_vpc_nat_gateway_module.html