Skip to content

Latest commit

History

History

route-table

Folders and files

NameName
Last commit message
Last commit date

parent directory

..

route-table

This module creates following resources.

  • aws_route_table
  • aws_route (optional)
  • aws_main_route_table_association (optional)
  • aws_route_table_association (optional)
  • aws_vpc_endpoint_route_table_association (optional)
  • aws_vpn_gateway_route_propagation (optional)

Requirements

Name Version
terraform >= 1.6
aws >= 5.11

Providers

Name Version
aws 5.23.1

Modules

Name Source Version
resource_group tedilabs/misc/aws//modules/resource-group ~> 0.10.0

Resources

Name Type
aws_main_route_table_association.this resource
aws_route.ipv4 resource
aws_route.ipv6 resource
aws_route.prefix_list resource
aws_route_table.this resource
aws_route_table_association.gateways resource
aws_route_table_association.subnets resource
aws_vpc_endpoint_route_table_association.this resource
aws_vpn_gateway_route_propagation.this resource

Inputs

Name Description Type Default Required
name (Required) Desired name for the route table resources. string n/a yes
vpc_id (Required) The ID of the VPC which the route table belongs to. string n/a yes
gateways (Optional) A list of gateway IDs to associate with the route table. Only support Internet Gateway and Virtual Private Gateway. list(string) [] no
ipv4_routes (Optional) A list of route rules for destinations to IPv4 CIDRs. Each block of ipv4_routes as defined below.
(Required) destination - The destination IPv4 CIDR block of the route rule.
(Required) target - A configuration of the target of the route rule. target as defined below.
(Required) type - The type of the target of the route rule. Valid values are CARRIER_GATEWAY, CORE_GATEWAY, EGRESS_ONLY_INTERNET_GATEWAY, INTERNET_GATEWAY, VPN_GATEWAY, LOCAL_GATEWAY, NAT_GATEWAY, NETWORK_INTERFACE, TRANSIT_GATEWAY, VPC_ENDPOINT, VPC_PEERING_CONNECTION.
(Required) id - The ID of the target of the route rule.
list(object({
destination = string

target = object({
type = string
id = string
})
}))
[] no
ipv6_routes (Optional) A list of route rules for destinations to IPv6 CIDRs. Each block of ipv6_routes as defined below.
(Required) destination - The destination IPv6 CIDR block of the route rule.
(Required) target - A configuration of the target of the route rule. target as defined below.
(Required) type - The type of the target of the route rule. Valid values are CARRIER_GATEWAY, CORE_GATEWAY, EGRESS_ONLY_INTERNET_GATEWAY, INTERNET_GATEWAY, VPN_GATEWAY, LOCAL_GATEWAY, NAT_GATEWAY, NETWORK_INTERFACE, TRANSIT_GATEWAY, VPC_ENDPOINT, VPC_PEERING_CONNECTION.
(Required) id - The ID of the target of the route rule.
list(object({
destination = string

target = object({
type = string
id = string
})
}))
[] no
is_main (Optional) Whether to set this route table as the main route table. Defaults to false. bool false no
module_tags_enabled (Optional) Whether to create AWS Resource Tags for the module informations. bool true no
prefix_list_routes (Optional) A list of route rules for destinations to Prefix Lists. Each block of prefix_list_routes as defined below.
(Required) name - The name of the route rule.
(Required) destination - The destination Prefix List of the route rule.
(Required) target - A configuration of the target of the route rule. target as defined below.
(Required) type - The type of the target of the route rule. Valid values are CARRIER_GATEWAY, CORE_GATEWAY, EGRESS_ONLY_INTERNET_GATEWAY, INTERNET_GATEWAY, VPN_GATEWAY, LOCAL_GATEWAY, NAT_GATEWAY, NETWORK_INTERFACE, TRANSIT_GATEWAY, VPC_ENDPOINT, VPC_PEERING_CONNECTION.
(Required) id - The ID of the target of the route rule.
list(object({
name = string
destination = string

target = object({
type = string
id = string
})
}))
[] no
propagating_vpn_gateways (Optional) A list of Virtual Private Gateway IDs to propagate routes from. list(string) [] no
resource_group_description (Optional) The description of Resource Group. string "Managed by Terraform." no
resource_group_enabled (Optional) Whether to create Resource Group to find and group AWS resources which are created by this module. bool true no
resource_group_name (Optional) The name of Resource Group. A Resource Group name can have a maximum of 127 characters, including letters, numbers, hyphens, dots, and underscores. The name cannot start with AWS or aws. string "" no
subnets (Optional) A list of subnet IDs to associate with the route table. list(string) [] no
tags (Optional) A map of tags to add to all resources. map(string) {} no
timeouts (Optional) How long to wait for the route table to be created/updated/deleted.
object({
create = optional(string, "5m")
update = optional(string, "2m")
delete = optional(string, "5m")
})
{} no
vpc_gateway_endpoints (Optional) A list of the VPC Endpoint IDs with which the Route Table will be associated. list(string) [] no

Outputs

Name Description
arn The ARN of the routing table.
associated_gateways A list of gateway IDs which is associated with the route table.
associated_subnets A list of subnet IDs which is associated with the route table.
associated_vpc_gateway_endpoints A list of the VPC Gateway Endpoint IDs which is associated with the route table.
id The ID of the routing table.
ipv4_routes A list of route rules for destinations to IPv4 CIDRs.
ipv6_routes A list of route rules for destinations to IPv6 CIDRs.
is_main Whether to set this route table as the main route table.
owner The ID of the AWS account that owns subnets in the routing table.
prefix_list_routes A list of route rules for destinations to Prefix Lists.
propagated_vpn_gateways A list of Virtual Private Gateway IDs which propagate routes from.
vpc_id The ID of the VPC which the route table belongs to.