github.com/koding/terraform@v0.6.4-0.20170608090606-5d7e0339779d/website/source/docs/providers/aws/r/route_table.html.markdown (about)

     1  ---
     2  layout: "aws"
     3  page_title: "AWS: aws_route_table"
     4  sidebar_current: "docs-aws-resource-route-table|"
     5  description: |-
     6    Provides a resource to create a VPC routing table.
     7  ---
     8  
     9  # aws\_route\_table
    10  
    11  Provides a resource to create a VPC routing table.
    12  
    13  ~> **NOTE on Route Tables and Routes:** Terraform currently
    14  provides both a standalone [Route resource](route.html) and a Route Table resource with routes
    15  defined in-line. At this time you cannot use a Route Table with in-line routes
    16  in conjunction with any Route resources. Doing so will cause
    17  a conflict of rule settings and will overwrite rules.
    18  
    19  ~> **NOTE on `gateway_id` and `nat_gateway_id`:** The AWS API is very foregiving with these two
    20  attributes and the `aws_route_table` resource can be created with a NAT ID specified as a Gateway ID attribute.
    21  This _will_ lead to a permanent diff between your configuration and statefile, as the API returns the correct
    22  parameters in the returned route table. If you're experiencing constant diffs in your `aws_route_table` resources,
    23  the first thing to check is whether or not you're specifying a NAT ID instead of a Gateway ID, or vice-versa.
    24  
    25  ## Example usage with tags:
    26  
    27  ```hcl
    28  resource "aws_route_table" "r" {
    29    vpc_id = "${aws_vpc.default.id}"
    30  
    31    route {
    32      cidr_block = "10.0.1.0/24"
    33      gateway_id = "${aws_internet_gateway.main.id}"
    34    }
    35  
    36    route {
    37      ipv6_cidr_block = "::/0"
    38      egress_only_gateway_id = "${aws_egress_only_internet_gateway.foo.id}"
    39    }
    40  
    41    tags {
    42      Name = "main"
    43    }
    44  }
    45  ```
    46  
    47  ## Argument Reference
    48  
    49  The following arguments are supported:
    50  
    51  * `vpc_id` - (Required) The VPC ID.
    52  * `route` - (Optional) A list of route objects. Their keys are documented below.
    53  * `tags` - (Optional) A mapping of tags to assign to the resource.
    54  * `propagating_vgws` - (Optional) A list of virtual gateways for propagation.
    55  
    56  Each route supports the following:
    57  
    58  * `cidr_block` - (Optional) The CIDR block of the route.
    59  * `ipv6_cidr_block` - Optional) The Ipv6 CIDR block of the route
    60  * `egress_only_gateway_id` - (Optional) The Egress Only Internet Gateway ID.
    61  * `gateway_id` - (Optional) The Internet Gateway ID.
    62  * `nat_gateway_id` - (Optional) The NAT Gateway ID.
    63  * `instance_id` - (Optional) The EC2 instance ID.
    64  * `vpc_peering_connection_id` - (Optional) The VPC Peering ID.
    65  * `network_interface_id` - (Optional) The ID of the elastic network interface (eni) to use.
    66  
    67  Each route must contain either a `gateway_id`, an `instance_id`, a `nat_gateway_id`, a
    68  `vpc_peering_connection_id` or a `network_interface_id`. Note that the default route, mapping
    69  the VPC's CIDR block to "local", is created implicitly and cannot be specified.
    70  
    71  ## Attributes Reference
    72  
    73  The following attributes are exported:
    74  ~> **NOTE:** Only the target that is entered is exported as a readable
    75  attribute once the route resource is created.
    76  
    77  * `id` - The ID of the routing table
    78  
    79  ## Import
    80  
    81  Route Tables can be imported using the `route table id`, e.g.
    82  
    83  ```
    84  $ terraform import aws_route_table.public_rt rtb-22574640
    85  ```