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'. Дополнительную информацию о конфигурации boto можно найти на странице http://boto.cloudhackers.com/en/latest/boto_config_tut.html#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_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, созданный во время книги задач. Также можно использовать переменную среды ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| ec2_url строка | 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', можно ссылаться на шлюз 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 список / элементы=строка | Массив подсетей, которые нужно добавить в эту таблицу маршрутизации. Подсети можно указать по идентификатору подсети, тегу Name или по 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 строка | Идентификатор 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/ec2_vpc_route_table_module.html