Spec-Zone.ru › Ansible

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

Примечание

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

Возможно, эта коллекция уже установлена, если вы используете пакет 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 на основе их ID, распределения и ID подсети.

Требования

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

  • python >= 3.6
  • boto3 >= 1.26.0
  • botocore >= 1.29.0

Параметры

Параметр

Комментарии

access_key

aliases: aws_access_key_id, aws_access_key, ec2_access_key

string

Идентификатор ключа доступа 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 или EC2_ACCESS_KEY также могут использоваться в порядке убывания предпочтения.

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

Псевдоним aws_access_key_id был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK.

Псевдоним ec2_access_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной окружения EC2_ACCESS_KEY устарела и будет удалена в релизе после 2024-12-01.

allocation_id

string

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

aws_ca_bundle

path

Расположение пакета CA, используемого при проверке SSL-сертификатов.

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

aws_config

dictionary

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

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

client_token

string

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

connectivity_type

string

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

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

Варианты:

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

debug_botocore_endpoint_logs

boolean

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

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

Варианты:

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

default_create

boolean

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

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

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

Если eip_address не установлен, этот параметр не оказывает никакого влияния.

Варианты:

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

eip_address

string

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

endpoint_url

aliases: ec2_url, aws_endpoint_url, s3_url

string

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

Переменные окружения AWS_URL или EC2_URL также могут использоваться в порядке убывания предпочтения.

Псевдонимы ec2_url и s3_url устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменной окружения EC2_URL устарела и будет удалена в релизе после 2024-12-01.

if_exist_do_not_create

boolean

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

Варианты:

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

nat_gateway_id

string

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

profile

aliases: aws_profile

string

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

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

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

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

purge_tags

boolean

Если 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 ← (default)

region

aliases: aws_region, ec2_region

string

Регион AWS для использования.

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

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

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

Псевдоним ec2_region устарел и будет удален в релизе после 2024-12-01

Поддержка переменной окружения EC2_REGION устарела и будет удалена в релизе после 2024-12-01.

release_eip

boolean

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

Вариант действителен только с состоянием absent.

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

Варианты:

  • false ← (default)
  • true

secret_key

aliases: aws_secret_access_key, aws_secret_key, ec2_secret_key

string

Секретный ключ доступа 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 или EC2_SECRET_KEY в порядке убывания приоритета.

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

Псевдоним aws_secret_access_key был добавлен в релизе 5.1.0 для согласованности с AWS botocore SDK.

Псевдоним ec2_secret_key устарел и будет удален в релизе после 2024-12-01.

Поддержка переменной окружения EC2_SECRET_KEY устарела и будет удалена в релизе после 2024-12-01.

session_token

aliases: aws_session_token, security_token, aws_security_token, access_token

string

Сеансовый токен 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, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN в порядке убывания приоритета.

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

Псевдонимы aws_session_token и session_token были добавлены в релизе 3.2.0, а параметр был переименован из security_token в session_token в релизе 6.0.0.

Псевдонимы security_token, aws_security_token и access_token устарели и будут удалены в релизе после 2024-12-01.

Поддержка переменных окружения EC2_SECRET_KEY и AWS_SECURITY_TOKEN устарела и будет удалена в релизе после 2024-12-01.

state

string

Обеспечить наличие или отсутствие NAT Gateway.

Варианты:

  • "present" ← (default)
  • "absent"

subnet_id

string

Идентификатор подсети, в которой будет создан NAT Gateway. Это необходимо с параметром present.

tags

aliases: resource_tags

dictionary

Словарь, представляющий теги, которые будут применены к ресурсу.

Если параметр tags не задан, теги не будут изменены.

validate_certs

boolean

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

Установка validate_certs=false настоятельно не рекомендуется, в качестве альтернативы рассмотрите возможность установки aws_ca_bundle.

Варианты:

  • false
  • true ← (default)

wait

boolean

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

Варианты:

  • false ← (default)
  • true

wait_timeout

integer

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

Значение по умолчанию: 320

Примечания

Примечание

  • Поддержка tags и purge_tags была добавлена в релизе 1.4.0.
  • Внимание: Для модулей переменные среды и конфигурационные файлы считываются из контекста узла Ansible, а не из контекста контроллера. Таким образом, файлы могут нуждаться в явном копировании на узел. Для плагинов поиска и подключения переменные среды и конфигурационные файлы считываются из контекста контроллера Ansible, а не из контекста узла.
  • SDK AWS (boto3), который использует Ansible, также может считывать значения по умолчанию для учетных данных и других параметров, таких как регион, из своих конфигурационных файлов в контексте узла 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

строка

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

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

Пример: "public"

create_time

строка

Формат даты и времени ISO 8601 в UTC.

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

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

nat_gateway_addresses

сложный

Список словарей, содержащих общедоступный IP-адрес, идентификатор сетевого интерфейса, частный IP-адрес и идентификатор выделения.

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

Пример: [{"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

строка

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

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

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

association_id

строка

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

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

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

is_primary

булево

Определяет, является ли IP-адрес основным.

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

Пример: true

network_interface_id

строка

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

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

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

private_ip

строка

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

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

Пример: "10.0.238.227"

public_ip

строка

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

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

Пример: "34.204.123.52"

status

строка

Статус адреса.

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

Пример: "succeeded"

nat_gateway_id

строка

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

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

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

state

строка

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

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

Пример: "available"

subnet_id

строка

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

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

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

tags

словарь

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

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

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

vpc_id

строка

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

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

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

Авторы

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

Ссылки на сборку

  • Отслеживание проблем
  • Репозиторий (источники)
  • Общение

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

Spec-Zone.ru

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