community.aws.ec2_vpc_route_table – Управление таблицами маршрутизации для виртуальных частных облаков AWS
Примечание
Этот плагин является частью коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в плейбуке укажите: community.aws.ec2_vpc_route_table.
Новый в версии 1.0.0: модуля community.aws
Обзор
- Управление таблицами маршрутизации для виртуальных частных облаков AWS
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров aws_access_key и profile устарело и будет исключено после 2022-06-01. псевдонимы: ec2_access_key, access_key | |
| aws_ca_bundle путь | Расположение файла сертификата CA для проверки SSL-сертификатов. Используется только для модулей на основе boto3. Примечание: Файл CA Bundle читается со стороны модуля и, возможно, должен быть скопирован с контроллера, если модуль не выполняется локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о конфигурации boto. | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров aws_secret_key и profile устарело и будет исключено после 2022-06-01. псевдонимы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs логический тип |
| Используйте логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов "resource:action" во время выполнения задачи, выводимые в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, выполненный во время плейбука. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | Адрес для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует адреса EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковое имеется. псевдонимы: aws_endpoint_url, endpoint_url | |
| lookup строка |
| Поиск таблицы маршрутизации по меткам или по идентификатору таблицы маршрутизации. Поиск по не уникальной метке завершится ошибкой. Если метки не указаны, поиск существующей таблицы маршрутизации не выполняется, и будет создана новая таблица маршрутизации. Для изменения меток таблицы маршрутизации необходимо выполнить поиск по идентификатору. |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределяет aws_access_key, aws_secret_key и security_token и поддержка одновременного указания их вместе с profile устарела. aws_access_key, aws_secret_key и security_token будут взаимно исключающими с profile после 2022-06-01. псевдонимы: aws_profile | |
| propagating_vgw_ids список / элементы=строка | Включить распространение маршрутов от виртуальных шлюзов, указанных по идентификатору. | |
| purge_routes логический тип |
| Очистить существующие маршруты, которые не найдены в маршрутах. |
| purge_subnets логический тип |
"true" | Очистить существующие подсети, которые не найдены в подсетях. Игнорируется, если не указан параметр subnets. |
| purge_tags логический тип |
| Очистить существующие метки, которые не найдены в таблице маршрутизации. |
| region строка | Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковое имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
псевдонимы: aws_region, ec2_region | |
| route_table_id строка | Идентификатор таблицы маршрутизации для обновления или удаления. Требуется, когда lookup=id. | |
| routes список / элементы=словарь | Список маршрутов в таблице маршрутизации. Маршруты задаются как словари, содержащие ключи 'dest' и один из 'gateway_id', 'instance_id', 'network_interface_id' или 'vpc_peering_connection_id'. Если указан 'gateway_id', можно ссылаться на IGW VPC, используя значение 'igw'. Маршруты необходимы для текущих состояний. | |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Одновременное указание параметров security_token и profile устарело и будет исключено после 2022-06-01. псевдонимы: aws_security_token, access_token | |
| state строка |
| Создание или уничтожение таблицы маршрутизации VPC. |
| subnets список / элементы=строка | Массив подсетей, которые необходимо добавить в эту таблицу маршрутизации. Подсети могут быть заданы по идентификатору подсети, имени метки или по CIDR, например, '10.0.0.0/24'. | |
| tags словарь | Словарь меток ресурсов в формате: { tag1: value1, tag2: value2 }. Метки используются для уникальной идентификации таблиц маршрутизации внутри VPC, когда идентификатор route_table_id не предоставлен.псевдонимы: resource_tags | |
| validate_certs логический тип |
| При значении "нет", SSL-сертификаты не будут проверяться для версий boto >= 2.6.0. |
| vpc_id строка | ID VPC, в котором необходимо создать таблицу маршрутизации. Требуется, когда state=present или lookup=tag. |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,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,AWS_CA_BUNDLE - 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.
# Basic creation example:
- name: Set up public subnet route table
community.aws.ec2_vpc_route_table:
vpc_id: vpc-1245678
region: us-west-1
tags:
Name: Public
subnets:
- "{{ jumpbox_subnet.subnet.id }}"
- "{{ frontend_subnet.subnet.id }}"
- "{{ vpn_subnet.subnet_id }}"
routes:
- dest: 0.0.0.0/0
gateway_id: "{{ igw.gateway_id }}"
register: public_route_table
- name: Set up NAT-protected route table
community.aws.ec2_vpc_route_table:
vpc_id: vpc-1245678
region: us-west-1
tags:
Name: Internal
subnets:
- "{{ application_subnet.subnet.id }}"
- 'Database Subnet'
- '10.0.0.0/8'
routes:
- dest: 0.0.0.0/0
instance_id: "{{ nat.instance_id }}"
register: nat_route_table
- name: delete route table
community.aws.ec2_vpc_route_table:
vpc_id: vpc-1245678
region: us-west-1
route_table_id: "{{ route_table.id }}"
lookup: id
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | ||
|---|---|---|---|---|
| route_table complex | всегда | Результат таблицы маршрутизации | ||
| associations complex | всегда | Список подсетей, связанных с таблицей маршрутизации | ||
| main boolean | всегда | Является ли эта таблица маршрутизации основной | ||
| route_table_association_id string | всегда | Идентификатор связи между таблицей маршрутизации и подсетью Пример: rtbassoc-ab47cfc3 | ||
| route_table_id string | всегда | Идентификатор таблицы маршрутизации Пример: rtb-bf779ed7 | ||
| subnet_id string | всегда | Идентификатор подсети Пример: subnet-82055af9 | ||
| id string | всегда | Идентификатор таблицы маршрутизации (совпадает с route_table_id для обратной совместимости) Пример: rtb-bf779ed7 | ||
| propagating_vgws list / elements=string | всегда | Список виртуальных частных шлюзов, распространяющих маршруты | ||
| route_table_id string | всегда | Идентификатор таблицы маршрутизации Пример: rtb-bf779ed7 | ||
| routes complex | всегда | Список маршрутов в таблице маршрутизации | ||
| destination_cidr_block string | всегда | Блок CIDR назначения Пример: 10.228.228.0/22 | ||
| gateway_id string | при использовании локального или интернет-шлюза | Идентификатор шлюза Пример: local | ||
| instance_id string | при использовании маршрута через экземпляр EC2 | Идентификатор экземпляра NAT Пример: i-abcd123456789 | ||
| instance_owner_id string | при использовании маршрута через экземпляр EC2 | Идентификатор AWS-аккаунта, владеющего экземпляром NAT Пример: 123456789012 | ||
| nat_gateway_id string | при использовании маршрута через шлюз NAT | Идентификатор шлюза NAT Пример: local | ||
| origin string | всегда | Механизм, через который маршрут находится в таблице Пример: CreateRouteTable | ||
| state string | всегда | состояние маршрута Пример: active | ||
| tags dictionary | всегда | Теги, применённые к таблице маршрутизации Пример: {'Name': 'Public route table', 'Public': 'true'} | ||
| vpc_id string | всегда | Идентификатор VPC, в котором находится маршрут Пример: vpc-6e2d2407 | ||
Авторы
- Robert Estelle (@erydo)
- Rob White (@wimnat)
- Will Thames (@willthames)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/ec2_vpc_route_table_module.html