ec2_vpc_nat_gateway – Управление NAT-шлюзами AWS VPC
Новая в версии 2.2.
Обзор
- Обеспечение состояния NAT-шлюзов AWS VPC на основе их id, id выделения и подсети.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allocation_id - | Идентификатор выделения эластичного 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, иначе последующие запуски завершатся ошибкой. | |
| debug_botocore_endpoint_logs логический тип добавлено в 2.8 |
| Используйте логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «resource:action» во время выполнения задачи, выводимых в ключ task results под названием resource_actions. Используйте обратный вызов aws_resource_action для вывода полного списка, выполненного во время выполнения playbook. Также можно использовать переменную среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если не используется регион. Если не задан, используется значение переменной среды EC2_URL, если она есть. | |
| eip_address - | Эластичный IP-адрес EIP, который требуется прикрепить к этому NAT-шлюзу. Если этот параметр не передан, а параметр allocation_id также не передан, для этого NAT-шлюза будет сгенерирован EIP. | |
| if_exist_do_not_create логический тип |
| Если NAT-шлюз уже существует в subnet_id, то не создавать новый. |
| nat_gateway_id - | Идентификатор, который AWS динамически назначает NAT-шлюзу при создании. Требуется, когда присутствует опция absent. | |
| profile строка | Использует профиль 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 строка | AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| state - |
| Обеспечить наличие или отсутствие NAT-шлюза. |
| subnet_id - | Идентификатор подсети, в которой должен быть создан NAT-шлюз. Требуется с опцией present. | |
| validate_certs логический тип |
| Если установлено «нет», сертификаты 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), если учетные данные не предоставлены. См. 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.
- 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
loop: "{{ 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 |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.8/modules/ec2_vpc_nat_gateway_module.html