ec2_vpc_route_table — Управление таблицами маршрутизации для виртуальных частных облаков AWS
Новая версия с 2.0.
Обзор
- Управление таблицами маршрутизации для виртуальных частных облаков AWS
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- boto
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key | Значение по умолчанию: None | Ключ доступа AWS. Если не задан, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key |
| aws_secret_key | Значение по умолчанию: None | Секретный ключ AWS. Если не задан, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key |
| ec2_url | Значение по умолчанию: None | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если таковое имеется. |
| lookup |
| Поиск таблицы маршрутизации по тегам или по ID таблицы маршрутизации. Поиск по не уникальному тегу приведет к ошибке. Если теги не указаны, поиск по существующей таблице маршрутизации не выполняется, и создается новая таблица. Для изменения тегов таблицы маршрутизации необходимо искать по ID. |
| profile (добавлен в 1.6) | Значение по умолчанию: None | Использует профиль boto. Работает только с boto >= 2.24.0. |
| propagating_vgw_ids | Значение по умолчанию: None | Включить распространение маршрутов с виртуальных шлюзов, указанных по ID. |
| purge_routes (добавлен в 2.3) | Значение по умолчанию: true | Очистить существующие маршруты, которых нет в параметре routes. |
| purge_subnets (добавлен в 2.3) | Значение по умолчанию: true | Очистить существующие подсети, которых нет в параметре subnets. Игнорируется, если параметр subnets не указан. |
| purge_tags (добавлен в 2.5) | Значение по умолчанию: false | Очистить существующие теги, которых нет в таблице маршрутизации. |
| 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 | ID таблицы маршрутизации для обновления или удаления. | |
| routes | Значение по умолчанию: None | Список маршрутов в таблице маршрутизации. Маршруты задаются как словари, содержащие ключи 'dest' и один из 'gateway_id', 'instance_id', 'interface_id' или 'vpc_peering_connection_id'. Если указан 'gateway_id', для указания IGW сети можно использовать значение 'igw'. Маршруты обязательны для текущего состояния. |
| security_token (добавлен в 1.6) | Значение по умолчанию: None | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token |
| state |
| Создать или удалить таблицу маршрутизации VPC |
| subnets | Массив подсетей для добавления в эту таблицу маршрутизации. Подсети могут быть указаны по ID подсети, тегу Name или по CIDR, например, '10.0.0.0/24'. | |
| tags | Словарь тегов ресурсов в формате: { tag1: value1, tag2: value2 }. Теги используются для уникальной идентификации таблиц маршрутизации внутри VPC, когда route_table_id не указан. Псевдонимы: resource_tags | |
| validate_certs (добавлен в 1.5) |
| При значении "no", сертификаты SSL для boto версий >= 2.6.0 не будут валидироваться. |
| vpc_id обязательно | ID VPC, в котором нужно создать таблицу маршрутизации. |
Примечания
Примечание
- Если параметры не заданы в модуле, могут быть использованы следующие переменные среды в порядке убывания приоритета
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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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
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
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
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 | всегда | Список подсетей, связанных с таблицей маршрутизации | ||
| route_table_id string | всегда | Идентификатор таблицы маршрутизации Пример: rtb-bf779ed7 | ||
| subnet_id string | всегда | Идентификатор подсети Пример: subnet-82055af9 | ||
| main bool | всегда | Является ли эта таблица маршрутизации основной | ||
| route_table_association_id string | всегда | Идентификатор ассоциации между таблицей маршрутизации и подсетью Пример: rtbassoc-ab47cfc3 | ||
| route_table_id string | всегда | Идентификатор таблицы маршрутизации Пример: rtb-bf779ed7 | ||
| tags dict | всегда | Теги, примененные к таблице маршрутизации Пример: {'Name': 'Public route table', 'Public': 'true'} | ||
| routes complex | всегда | Список маршрутов в таблице маршрутизации | ||
| gateway_id string | при наличии локального или интернет-шлюза | Идентификатор шлюза Пример: local | ||
| origin string | всегда | Механизм, посредством которого маршрут находится в таблице Пример: CreateRouteTable | ||
| state string | всегда | Состояние маршрута Пример: active | ||
| nat_gateway_id string | при маршрутизации через шлюз NAT | Идентификатор шлюза NAT Пример: local | ||
| instance_id string | при маршрутизации через экземпляр EC2 | Идентификатор экземпляра NAT Пример: i-abcd123456789 | ||
| instance_owner_id string | при маршрутизации через экземпляр EC2 | AWS-аккаунт, владеющий экземпляром NAT Пример: 123456789012 | ||
| destination_cidr_block string | всегда | CIDR-блок назначения Пример: 10.228.228.0/22 | ||
| vpc_id string | всегда | Идентификатор VPC, в котором находится маршрут Пример: vpc-6e2d2407 | ||
| propagating_vgws list | всегда | Список виртуальных частных шлюзов, распространяющих маршруты | ||
| id string | всегда | Идентификатор таблицы маршрутизации (совпадает с route_table_id для обратной совместимости) Пример: rtb-bf779ed7 | ||
Статус
Этот модуль помечен как stableinterface, что означает, что поддерживающие этот модуль гарантируют, что не будут внесены несовместимые с обратной совместимостью изменения интерфейса.
Автор
- 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.5/modules/ec2_vpc_route_table_module.html