ec2_vpc_nat_gateway — Управление NAT-шлюзами AWS VPC.
Новая версия с 2.2.
Обзор
- Обеспечение состояния NAT-шлюзов AWS VPC на основе их id, выделения и идентификаторов подсети.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allocation_id | Идентификатор выделения Elastic IP. Если этот параметр не передан и параметр eip_address также не передан, для этого NAT-шлюза будет сгенерирован EIP. |
|
| 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 |
|
| client_token | Необязательный уникальный токен, используемый во время создания для обеспечения идемпотентности. При указании этого параметра также необходимо указать параметр eip_address, иначе последующие запуски завершатся ошибкой. |
|
| ec2_url | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если таковое есть. |
|
| eip_address | Адрес Elastic IP выделенного EIP, который требуется подключить к этому NAT-шлюзу. Если этот параметр не передан и параметр allocation_id также не передан, для этого NAT-шлюза будет сгенерирован EIP. |
|
| if_exist_do_not_create | Значение по умолчанию: "нет" |
Если NAT-шлюз уже существует в subnet_id, то новый шлюз не будет создан. |
| nat_gateway_id | Идентификатор, динамически назначаемый AWS NAT-шлюзу при создании. Требуется, когда используется параметр absent. |
|
| 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 |
|
| release_eip | Значение по умолчанию: "да" |
Освободить EIP из VPC.
Параметр действителен только в состоянии absent.
Следует использовать с параметром wait. Так как вы не можете освободить адрес во время операции удаления. |
| security_token
(добавлено в 1.6) |
Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Псевдонимы: access_token |
|
| state |
|
Обеспечить наличие или отсутствие NAT-шлюза. |
| subnet_id | Идентификатор подсети, в которой должен быть создан NAT-шлюз. Требуется при использовании параметра present. |
|
| validate_certs
bool
(добавлено в 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
строка |
Во всех случаях. | Идентификатор VPC NAT-шлюза
Пример:
nat-0d1e3a878585988f8 |
| state
строка |
Во всех случаях. | Текущее состояние NAT-шлюза.
Пример:
available |
| subnet_id
строка |
Во всех случаях. | Идентификатор подсети
Пример:
subnet-12345 |
| vpc_id
строка |
Во всех случаях. | Идентификатор VPC.
Пример:
vpc-12345 |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантированно будет обратной совместим.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. См. Техническое обслуживание модулей и поддержка для получения дополнительной информации.
Список других модулей, поддерживаемых сообществом Ansible, см. в здесь.
Автор
- 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.6/modules/ec2_vpc_nat_gateway_module.html