Spec-Zone.ru › Ansible

Модуль amazon.aws.ec2_vpc_nat_gateway – управление шлюзами NAT AWS VPC

Примечание

Этот модуль входит в коллекцию amazon.aws (версия 11.3.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install amazon.aws. Для использования этого модуля требуются дополнительные зависимости; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: amazon.aws.ec2_vpc_nat_gateway.

Добавлено в amazon.aws 1.0.0

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Обеспечивает требуемое состояние шлюзов NAT AWS VPC на основе их идентификаторов, идентификаторов выделения и идентификаторов подсетей.

Требования

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

  • python >= 3.6
  • boto3 >= 1.35.0
  • botocore >= 1.35.0

Параметры

Параметр

Комментарии

access_key

псевдонимы: aws_access_key_id, aws_access_key

строка

Идентификатор ключа доступа AWS.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные окружения AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY в порядке убывания приоритета.

Параметры aws_access_key и profile взаимоисключающие.

Псевдоним aws_access_key_id добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore.

allocation_id

строка

Идентификатор выделения эластичного IP-адреса. Если этот параметр не указан и не задан eip_address, для этого шлюза NAT создается EIP.

aws_ca_bundle

путь

Путь к пакету сертификатов центра сертификации, используемому для проверки SSL-сертификатов.

Также можно использовать переменную окружения AWS_CA_BUNDLE.

aws_config

словарь

Словарь для изменения конфигурации botocore.

Параметры перечислены в документации AWS: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.

client_token

строка

Необязательный уникальный токен, используемый при создании для обеспечения идемпотентности. Если указан этот параметр, обязательно укажите также параметр eip_address, иначе последующие запуски завершатся ошибкой.

connectivity_type

строка

добавлено в amazon.aws 5.5.0

Определяет, поддерживает ли шлюз NAT публичное или приватное подключение.

Варианты:

  • "public" ← (по умолчанию)
  • "private"

debug_botocore_endpoint_logs

логическое значение

Используйте регистратор botocore.endpoint для анализа уникальных (а не общего числа) вызовов API "resource:action", выполненных во время задачи, и вывода их набора в ключ resource_actions результатов задачи. Используйте обработчик обратного вызова aws_resource_action, чтобы вывести общий список вызовов, выполненных в ходе плейбука.

Также можно использовать переменную окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.

Варианты:

  • false ← (по умолчанию)
  • true

default_create

логическое значение

добавлено в amazon.aws 6.2.0

Если задано default_create=true и установлен eip_address, но выделение еще не выполнено, шлюз NAT будет создан, а новый EIP выделен автоматически.

Если задано default_create=false и установлен eip_address, но выделение еще не выполнено, выполнение модуля завершится ошибкой.

Если eip_address не задан, этот параметр не действует.

Варианты:

  • false ← (по умолчанию)
  • true

eip_address

строка

Эластичный IP-адрес EIP, который нужно подключить к этому шлюзу NAT. Если этот параметр не указан и не задан allocation_id, для этого шлюза NAT создается EIP.

endpoint_url

псевдонимы: aws_endpoint_url

строка

URL для подключения вместо конечных точек AWS по умолчанию. Хотя этот параметр можно использовать для подключения к другим сервисам, совместимым с AWS, коллекции amazon.aws и community.aws тестируются только с AWS.

Также можно использовать переменную окружения AWS_URL.

if_exist_do_not_create

логическое значение

Если шлюз NAT уже существует в subnet_id, не создавайте новый.

Варианты:

  • false ← (по умолчанию)
  • true

nat_gateway_id

строка

Идентификатор, динамически назначаемый AWS шлюзу NAT при создании. Он требуется, если указан параметр absent.

profile

псевдонимы: aws_profile

строка

Именованный профиль AWS для аутентификации.

Дополнительные сведения об именованных профилях см. в документации AWS: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html.

Также можно использовать переменную окружения AWS_PROFILE.

Параметр profile взаимоисключающий с параметрами aws_access_key, aws_secret_key и session_token.

purge_tags

логическое значение

Если задано purge_tags=true и установлен tags, существующие теги ресурса будут удалены, чтобы набор тегов точно соответствовал заданному параметром tags.

Если параметр tags не задан, теги не изменяются, даже если purge_tags=True.

Ключи тегов, начинающиеся с aws:, зарезервированы Amazon и не могут быть изменены. Поэтому при обработке параметра purge_tags они игнорируются. Дополнительные сведения см. в документации Amazon: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html#tag-conventions.

Варианты:

  • false
  • true ← (по умолчанию)

region

псевдонимы: aws_region

строка

Регион AWS, который следует использовать.

Для глобальных сервисов, таких как IAM, Route53 и CloudFront, параметр region игнорируется.

Также можно использовать переменную окружения AWS_REGION.

Дополнительные сведения см. в документации Amazon AWS: http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region.

release_eip

логическое значение

Освободить EIP в VPC.

Параметр допустим только для состояния absent.

Рекомендуется использовать этот параметр вместе с параметром wait, поскольку освободить адрес во время выполнения операции удаления нельзя.

Варианты:

  • false ← (по умолчанию)
  • true

secret_key

псевдонимы: aws_secret_access_key, aws_secret_key

строка

Секретный ключ доступа AWS.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменные окружения AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY в порядке убывания приоритета.

Параметры secret_key и profile взаимоисключающие.

Псевдоним aws_secret_access_key добавлен в выпуске 5.1.0 для соответствия AWS SDK botocore.

session_token

псевдонимы: aws_session_token

строка

Токен сеанса AWS STS для использования с временными учетными данными.

Дополнительные сведения о токенах доступа см. в документации AWS: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys.

Также можно использовать переменную окружения AWS_SESSION_TOKEN.

Параметры session_token и profile взаимоисключающие.

state

строка

Обеспечивает наличие или отсутствие шлюза NAT.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

subnet_id

строка

Идентификатор подсети, в которой нужно создать шлюз NAT. Этот параметр требуется, если указано значение present.

tags

псевдонимы: resource_tags

словарь

Словарь тегов, которые нужно применить к ресурсу.

Если параметр tags не задан, теги не изменяются.

validate_certs

логическое значение

Если задано false, SSL-сертификаты при обмене данными с API AWS проверяться не будут.

Не рекомендуется задавать validate_certs=false; вместо этого рассмотрите возможность указать aws_ca_bundle.

Варианты:

  • false
  • true ← (по умолчанию)

wait

логическое значение

Дождаться завершения операции перед возвратом.

Варианты:

  • false ← (по умолчанию)
  • true

wait_timeout

целое число

Количество секунд ожидания завершения операции до истечения времени ожидания.

По умолчанию: 320

Примечания

Примечание

  • Поддержка tags и purge_tags добавлена в выпуске 1.4.0.
  • Внимание: Для модулей переменные окружения и файлы конфигурации считываются в контексте «хоста» Ansible, а не «контроллера». Поэтому может потребоваться явно скопировать файлы на «хост». Для плагинов поиска и подключения переменные окружения и файлы конфигурации считываются в контексте «контроллера» Ansible, а не «хоста».
  • Используемый Ansible пакет AWS SDK (boto3) также может считывать значения учетных данных и другие настройки по умолчанию, например регион, из файлов конфигурации в контексте «хоста» Ansible (обычно ~/.aws/credentials). Дополнительные сведения см. по адресу https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html.

Примеры

# Note: These examples do not set authentication details, see the AWS Guide for details.

- name: Create new nat gateway with client token.
  amazon.aws.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 and connectivity type.
  amazon.aws.ec2_vpc_nat_gateway:
    state: present
    subnet_id: subnet-12345678
    allocation_id: eipalloc-12345678
    connectivity_type: "private"
    region: ap-southeast-2
  register: new_nat_gateway

- name: Create new nat gateway, using an EIP address  and wait for available status.
  amazon.aws.ec2_vpc_nat_gateway:
    state: present
    subnet_id: subnet-12345678
    eip_address: 52.1.1.1
    wait: true
    region: ap-southeast-2
  register: new_nat_gateway

- name: Create new nat gateway and allocate new EIP.
  amazon.aws.ec2_vpc_nat_gateway:
    state: present
    subnet_id: subnet-12345678
    wait: true
    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.
  amazon.aws.ec2_vpc_nat_gateway:
    state: present
    subnet_id: subnet-12345678
    wait: true
    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.
  amazon.aws.ec2_vpc_nat_gateway:
    state: absent
    region: ap-southeast-2
    wait: true
    nat_gateway_id: "{{ item.NatGatewayId }}"
    release_eip: true
  register: delete_nat_gateway_result
  loop: "{{ gateways_to_remove.result }}"

- name: Delete nat gateway and wait for deleted status.
  amazon.aws.ec2_vpc_nat_gateway:
    state: absent
    nat_gateway_id: nat-12345678
    wait: true
    wait_timeout: 500
    region: ap-southeast-2

- name: Delete nat gateway and release EIP.
  amazon.aws.ec2_vpc_nat_gateway:
    state: absent
    nat_gateway_id: nat-12345678
    release_eip: true
    wait: true
    wait_timeout: 300
    region: ap-southeast-2

- name: Create new nat gateway using allocation-id and tags.
  amazon.aws.ec2_vpc_nat_gateway:
    state: present
    subnet_id: subnet-12345678
    allocation_id: eipalloc-12345678
    region: ap-southeast-2
    tags:
      Tag1: tag1
      Tag2: tag2
  register: new_nat_gateway

- name: Update tags without purge
  amazon.aws.ec2_vpc_nat_gateway:
    subnet_id: subnet-12345678
    allocation_id: eipalloc-12345678
    region: ap-southeast-2
    purge_tags: false
    tags:
      Tag3: tag3
    wait: true
  register: update_tags_nat_gateway

Возвращаемые значения

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

Ключ

Описание

connectivity_type

string

Указывает, поддерживает ли шлюз NAT общедоступное или частное подключение.

Возвращается: always

Пример: "public"

create_time

string

Дата и время в формате ISO 8601 и часовом поясе UTC.

Возвращается: always

Пример: "2016-03-05T05:19:20.282000+00:00'"

nat_gateway_addresses

complex

Список словарей, содержащих public_ip, network_interface_id, private_ip и allocation_id.

Возвращается: always

Пример: [{"allocation_id": "eipalloc-08ec128d03629671d", "association_id": "eipassoc-0d6365c7eeb7d4932", "is_primary": true, "network_interface_id": "eni-095104e630881bad6", "private_ip": "10.1.0.250", "public_ip": "34.202.90.172", "status": "succeeded"}]

allocation_id

string

Идентификатор выделения адреса Elastic IP, связанного со шлюзом NAT.

Возвращается: always

Пример: "eipalloc-0853e66a40803da76"

association_id

string

Идентификатор ассоциации адреса Elastic IP, связанного со шлюзом NAT.

Возвращается: always

Пример: "eipassoc-0d6365c7eeb7d4932"

is_primary

boolean

Указывает, является ли IP-адрес основным.

Возвращается: always

Пример: true

network_interface_id

string

Идентификатор сетевого интерфейса, связанного со шлюзом NAT.

Возвращается: always

Пример: "eni-0a37acdbe306c661c"

private_ip

string

Частный IP-адрес, связанный с адресом Elastic IP.

Возвращается: always

Пример: "10.0.238.227"

public_ip

string

Адрес Elastic IP, связанный со шлюзом NAT.

Возвращается: always

Пример: "34.204.123.52"

status

string

Состояние адреса.

Возвращается: always

Пример: "succeeded"

nat_gateway_id

string

Идентификатор шлюза NAT VPC.

Возвращается: always

Пример: "nat-0d1e3a878585988f8"

state

string

Текущее состояние шлюза NAT.

Возвращается: always

Пример: "available"

subnet_id

string

Идентификатор подсети.

Возвращается: always

Пример: "subnet-12345"

tags

dictionary

Теги, связанные со шлюзом NAT VPC.

Возвращается: Если присутствуют теги.

Пример: {"tags": {"Ansible": "Test"}}

vpc_id

string

Идентификатор VPC.

Возвращается: always

Пример: "vpc-12345"

Авторы

  • Allen Sanabria (@linuxdynasty)
  • Jon Hadfield (@jonhadfield)
  • Karen Cheng (@Etherdaemon)
  • Alina Buzachis (@alinabuzachis)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Связь

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

Spec-Zone.ru

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