.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "VM::EC2::REST::route_table 3pm" .TH VM::EC2::REST::route_table 3pm "2016-06-04" "perl v5.22.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME VM::EC2::REST::route_table \- Create and manipulate VPC route tables" .IX Header "NAME VM::EC2::REST::route_table - Create and manipulate VPC route tables" .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use VM::EC2 \*(Aq:vpc\*(Aq; .Ve .SH "METHODS" .IX Header "METHODS" These methods allow you to create and manipulate \s-1VPC\s0 route tables. .PP Implemented: AssociateRouteTable CreateRoute CreateRouteTable DeleteRoute DeleteRouteTable DescribeRouteTables DisassociateRouteTable ReplaceRoute ReplaceRouteTableAssociation .PP Unimplemented: (none) .ie n .SS "$table = $ec2\->create_route_table($vpc_id)" .el .SS "\f(CW$table\fP = \f(CW$ec2\fP\->create_route_table($vpc_id)" .IX Subsection "$table = $ec2->create_route_table($vpc_id)" .ie n .SS "$table = $ec2\->create_route_table(\-vpc_id=>$id)" .el .SS "\f(CW$table\fP = \f(CW$ec2\fP\->create_route_table(\-vpc_id=>$id)" .IX Subsection "$table = $ec2->create_route_table(-vpc_id=>$id)" This method creates a new route table within the given \s-1VPC\s0 and returns a VM::EC2::VPC::RouteTable object. By default, every route table includes a local route that enables traffic to flow within the \&\s-1VPC.\s0 You may add additional routes using \fIcreate_route()\fR. .PP This method can be called using a single argument corresponding to \s-1VPC ID\s0 for the new route table, or with the named argument form. .PP Required arguments: .PP .Vb 1 \& \-vpc_id A VPC ID or previously\-created VM::EC2::VPC object. .Ve .ie n .SS "$success = $ec2\->delete_route_table($route_table_id)" .el .SS "\f(CW$success\fP = \f(CW$ec2\fP\->delete_route_table($route_table_id)" .IX Subsection "$success = $ec2->delete_route_table($route_table_id)" .ie n .SS "$success = $ec2\->delete_route_table(\-route_table_id=>$id)" .el .SS "\f(CW$success\fP = \f(CW$ec2\fP\->delete_route_table(\-route_table_id=>$id)" .IX Subsection "$success = $ec2->delete_route_table(-route_table_id=>$id)" This method deletes the indicated route table and all the route entries within it. It may not be called on the main route table, or if the route table is currently associated with a subnet. .PP The method can be called with a single argument corresponding to the route table's \s-1ID,\s0 or using the named form with argument \-route_table_id. .ie n .SS "@tables = $ec2\->describe_route_tables(@route_table_ids)" .el .SS "\f(CW@tables\fP = \f(CW$ec2\fP\->describe_route_tables(@route_table_ids)" .IX Subsection "@tables = $ec2->describe_route_tables(@route_table_ids)" .ie n .SS "@tables = $ec2\->describe_route_tables(\e%filters)" .el .SS "\f(CW@tables\fP = \f(CW$ec2\fP\->describe_route_tables(\e%filters)" .IX Subsection "@tables = $ec2->describe_route_tables(%filters)" .ie n .SS "@tables = $ec2\->describe_route_tables(\-route_table_id=> \e@ids, \-filter => \e%filters);" .el .SS "\f(CW@tables\fP = \f(CW$ec2\fP\->describe_route_tables(\-route_table_id=> \e@ids, \-filter => \e%filters);" .IX Subsection "@tables = $ec2->describe_route_tables(-route_table_id=> @ids, -filter => %filters);" This method describes all or some of the route tables available to you. You may use the filter to restrict the search to a particular type of route table using one of the filters described at http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference\-query\-DescribeRouteTables.html. .PP Some of the commonly used filters are: .PP .Vb 5 \& vpc\-id ID of the VPC the route table is in. \& association.subnet\-id ID of the subnet the route table is \& associated with. \& route.state State of the route, either \*(Aqactive\*(Aq or \*(Aqblackhole\*(Aq \& tag: Value of a tag .Ve .ie n .SS "$associationId = $ec2\->associate_route_table($subnet_id => $route_table_id)" .el .SS "\f(CW$associationId\fP = \f(CW$ec2\fP\->associate_route_table($subnet_id => \f(CW$route_table_id\fP)" .IX Subsection "$associationId = $ec2->associate_route_table($subnet_id => $route_table_id)" .ie n .SS "$associationId = $ec2\->associate_route_table(\-subnet_id => $id, \-route_table_id => $id)" .el .SS "\f(CW$associationId\fP = \f(CW$ec2\fP\->associate_route_table(\-subnet_id => \f(CW$id\fP, \-route_table_id => \f(CW$id\fP)" .IX Subsection "$associationId = $ec2->associate_route_table(-subnet_id => $id, -route_table_id => $id)" This method associates a route table with a subnet. Both objects must be in the same \s-1VPC.\s0 You may use either string IDs, or VM::EC2::VPC::RouteTable and VM::EC2::VPC::Subnet objects. .PP On success, an associationID is returned, which you may use to disassociate the route table from the subnet later. The association \s-1ID\s0 can also be found by searching through the VM::EC2::VPC::RouteTable object. .PP Required arguments: .PP .Vb 1 \& \-subnet_id The subnet ID or a VM::EC2::VPC::Subnet object. \& \& \-route_table_id The route table ID or a VM::EC2::VPC::RouteTable object. .Ve .PP It may be more convenient to call the VM::EC2::VPC::Subnet\->\fIassociate_route_table()\fR or VM::EC2::VPC::RouteTable\->\fIassociate_subnet()\fR methods, which are front ends to this method. .ie n .SS "$success = $ec2\->dissociate_route_table($association_id)" .el .SS "\f(CW$success\fP = \f(CW$ec2\fP\->dissociate_route_table($association_id)" .IX Subsection "$success = $ec2->dissociate_route_table($association_id)" .ie n .SS "$success = $ec2\->dissociate_route_table(\-association_id => $id)" .el .SS "\f(CW$success\fP = \f(CW$ec2\fP\->dissociate_route_table(\-association_id => \f(CW$id\fP)" .IX Subsection "$success = $ec2->dissociate_route_table(-association_id => $id)" This method disassociates a route table from a subnet. You must provide the association \s-1ID \s0(either returned from \&\fIassociate_route_table()\fR or found among the \fIassociations()\fR of a RouteTable object). You may use the short single-argument form, or the longer named argument form with the required argument \-association_id. .PP The method returns true on success. .ie n .SS "$new_association = $ec2\->replace_route_table_association($association_id=>$route_table_id)" .el .SS "\f(CW$new_association\fP = \f(CW$ec2\fP\->replace_route_table_association($association_id=>$route_table_id)" .IX Subsection "$new_association = $ec2->replace_route_table_association($association_id=>$route_table_id)" .ie n .SS "$new_association = $ec2\->replace_route_table_association(\-association_id => $id, \-route_table_id => $id)" .el .SS "\f(CW$new_association\fP = \f(CW$ec2\fP\->replace_route_table_association(\-association_id => \f(CW$id\fP, \-route_table_id => \f(CW$id\fP)" .IX Subsection "$new_association = $ec2->replace_route_table_association(-association_id => $id, -route_table_id => $id)" This method changes the route table associated with a given subnet. You must pass the replacement route table \s-1ID\s0 and the association \s-1ID.\s0 To replace the main route table, use its association \&\s-1ID\s0 and the \s-1ID\s0 of the route table you wish to replace it with. .PP On success, a new associationID is returned. .PP Required arguments: .PP .Vb 1 \& \-association_id The association ID \& \& \-route_table_id The route table ID or a M::EC2::VPC::RouteTable object. .Ve .ie n .SS "$success = $ec2\->create_route($route_table_id,$destination,$target)" .el .SS "\f(CW$success\fP = \f(CW$ec2\fP\->create_route($route_table_id,$destination,$target)" .IX Subsection "$success = $ec2->create_route($route_table_id,$destination,$target)" .ie n .SS "$success = $ec2\->create_route(\-route_table_id => $id, \-destination_cidr_block => $block, \-target=>$target)" .el .SS "\f(CW$success\fP = \f(CW$ec2\fP\->create_route(\-route_table_id => \f(CW$id\fP, \-destination_cidr_block => \f(CW$block\fP, \-target=>$target)" .IX Subsection "$success = $ec2->create_route(-route_table_id => $id, -destination_cidr_block => $block, -target=>$target)" This method creates a routing rule in a route table within a \s-1VPC.\s0 It takes three mandatory arguments consisting of the route table, the \&\s-1CIDR\s0 address block to match packet destinations against, and a target to route matching packets to. The target may be an internet gateway, a \&\s-1NAT\s0 instance, or a network interface \s-1ID.\s0 .PP Network packets are routed by matching their destination addresses against a \s-1CIDR\s0 block. For example, 0.0.0.0/0 matches all addresses, while 10.0.1.0/24 matches 10.0.1.* addresses. When a packet matches more than one rule, the most specific matching routing rule is chosen. .PP In the named argument form, the following arguments are recognized: .PP .Vb 2 \& \-route_table_id The ID of a route table, or a VM::EC2::VPC::RouteTable \& object. \& \& \-destination_cidr_block \& The CIDR address block to match against packet destinations. \& \& \-destination A shorthand version of \-destination_cidr_block. \& \& \-target The destination of matching packets. See below for valid \& targets. .Ve .PP The \-target value can be any one of the following: .PP .Vb 2 \& 1. A VM::EC2::VPC::InternetGateway object, or an internet gateway ID matching \& the regex /^igw\-[0\-9a\-f]{8}$/ \& \& 2. A VM::EC2::Instance object, or an instance ID matching the regex \& /^i\-[0\-9a\-f]{8}$/. \& \& 3. A VM::EC2::NetworkInterface object, or a network interface ID \& matching the regex /^eni\-[0\-9a\-f]{8}$/. \& \& 4. A VM::EC2::VPC::PeeringConnection object, or a VPC peering connection ID \& matching the regex /^pcx\-[0\-9a\-f]{8}$/. .Ve .PP On success, this method returns true. .ie n .SS "$success = $ec2\->delete_route($route_table_id,$destination_block)" .el .SS "\f(CW$success\fP = \f(CW$ec2\fP\->delete_route($route_table_id,$destination_block)" .IX Subsection "$success = $ec2->delete_route($route_table_id,$destination_block)" This method deletes a route in the specified routing table. The destination \s-1CIDR\s0 block is used to indicate which route to delete. On success, the method returns true. .ie n .SS "$success = $ec2\->replace_route($route_table_id,$destination,$target)" .el .SS "\f(CW$success\fP = \f(CW$ec2\fP\->replace_route($route_table_id,$destination,$target)" .IX Subsection "$success = $ec2->replace_route($route_table_id,$destination,$target)" .ie n .SS "$success = $ec2\->replace_route(\-route_table_id => $id, \-destination_cidr_block => $block, \-target=>$target)" .el .SS "\f(CW$success\fP = \f(CW$ec2\fP\->replace_route(\-route_table_id => \f(CW$id\fP, \-destination_cidr_block => \f(CW$block\fP, \-target=>$target)" .IX Subsection "$success = $ec2->replace_route(-route_table_id => $id, -destination_cidr_block => $block, -target=>$target)" This method replaces an existing routing rule in a route table within a \s-1VPC.\s0 It takes three mandatory arguments consisting of the route table, the \s-1CIDR\s0 address block to match packet destinations against, and a target to route matching packets to. The target may be an internet gateway, a \s-1NAT\s0 instance, or a network interface \s-1ID.\s0 .PP Network packets are routed by matching their destination addresses against a \s-1CIDR\s0 block. For example, 0.0.0.0/0 matches all addresses, while 10.0.1.0/24 matches 10.0.1.* addresses. When a packet matches more than one rule, the most specific matching routing rule is chosen. .PP In the named argument form, the following arguments are recognized: .PP .Vb 2 \& \-route_table_id The ID of a route table, or a VM::EC2::VPC::RouteTable \& object. \& \& \-destination_cidr_block \& The CIDR address block to match against packet destinations. \& \& \-destination A shorthand version of \-destination_cidr_block. \& \& \-target The destination of matching packets. See below for valid \& targets. .Ve .PP The \-target value can be any one of the following: .PP .Vb 2 \& 1. A VM::EC2::VPC::InternetGateway object, or an internet gateway ID matching \& the regex /^igw\-[0\-9a\-f]{8}$/ \& \& 2. A VM::EC2::Instance object, or an instance ID matching the regex \& /^i\-[0\-9a\-f]{8}$/. \& \& 3. A VM::EC2::NetworkInterface object, or a network interface ID \& matching the regex /^eni\-[0\-9a\-f]{8}$/. \& \& 4. A VM::EC2::VPC::PeeringConnection object, or a VPC peering connection ID \& matching the regex /^pcx\-[0\-9a\-f]{8}$/. .Ve .PP On success, this method returns true. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\s-1VM::EC2\s0 .SH "AUTHOR" .IX Header "AUTHOR" Lincoln Stein . .PP Copyright (c) 2011 Ontario Institute for Cancer Research .PP This package and its accompanying libraries is free software; you can redistribute it and/or modify it under the terms of the \s-1GPL \s0(either version 1, or at your option, any later version) or the Artistic License 2.0. Refer to \s-1LICENSE\s0 for the full license text. In addition, please see \s-1DISCLAIMER\s0.txt for disclaimers of warranty.