NAME

VM::EC2::VPC::RouteTable -- A VPC route table

SYNOPSIS

use VM::EC2;
my $ec2     = VM::EC2->new(...);
my @tables  = $ec2->describe_route_tables;

for my $rt (@tables) {
   print $rt->routeTableId,"\n",
         $rt->vpcId,"\n";
   my @routes = $rt->routes;
   my @associations = $rt->associations;
}

DESCRIPTION

This object supports the EC2 Virtual Private Cloud route table interface, and is used to control the routing of packets within and between subnets.

METHODS

These object methods are supported:

routeTableId   -- the ID of the route table
vpcId          -- The ID of the VPC the route table is in.
routes         -- An array of VM::EC2::VPC::Route objects,
                  each describing a routing rule in the
                  table.
associations   -- An array of VM::EC2::RouteTable::Association
                  objects, each describing the association 
                  between the route table and a subnet.

This class supports the VM::EC2 tagging interface. See VM::EC2::Generic for information.

In addition, this object supports the following convenience methods:

vpc                            -- The VPC object for this route table.
main                           -- Returns true if this is the VPC's current "main" 
                                  route table
associate($subnet)             -- Associate the route table with a subnet ID or object.
disassociate($subnet)          -- Disassociate the route table with a subnet ID or object.
refresh                        -- Refreshes the object from its current state in EC2.
create_route($dest=>$target)   -- Create a route in the route table
delete_route($dest)            -- Delete a route in the route table
replace_route($dest=>$target)  -- Replace a route in the route table

STRING OVERLOADING

When used in a string context, this object will be interpolated as the route table ID.

SEE ALSO

VM::EC2 VM::EC2::Generic

AUTHOR

Lincoln Stein <lincoln.stein@gmail.com>.

Copyright (c) 2012 Ontario Institute for Cancer Research

This package and its accompanying libraries is free software; you can redistribute it and/or modify it under the terms of the GPL (either version 1, or at your option, any later version) or the Artistic License 2.0. Refer to LICENSE for the full license text. In addition, please see DISCLAIMER.txt for disclaimers of warranty.