summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/goamz/goamz/ec2/vpc.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/goamz/goamz/ec2/vpc.go')
-rw-r--r--vendor/github.com/goamz/goamz/ec2/vpc.go399
1 files changed, 0 insertions, 399 deletions
diff --git a/vendor/github.com/goamz/goamz/ec2/vpc.go b/vendor/github.com/goamz/goamz/ec2/vpc.go
deleted file mode 100644
index 3a2ff7c6e..000000000
--- a/vendor/github.com/goamz/goamz/ec2/vpc.go
+++ /dev/null
@@ -1,399 +0,0 @@
-package ec2
-
-// RouteTable describes a route table which contains a set of rules, called routes
-// that are used to determine where network traffic is directed.
-//
-// See http://goo.gl/bI9hkg for more details.
-type RouteTable struct {
- Id string `xml:"routeTableId"`
- VpcId string `xml:"vpcId"`
- Routes []Route `xml:"routeSet>item"`
- Associations []RouteTableAssociation `xml:"associationSet>item"`
- PropagatingVgws []PropagatingVgw `xml:"propagatingVgwSet>item"`
- Tags []Tag `xml:"tagSet>item"`
-}
-
-// Route describes a route in a route table.
-//
-// See http://goo.gl/hE5Kxe for more details.
-type Route struct {
- DestinationCidrBlock string `xml:"destinationCidrBlock"` // The CIDR block used for the destination match.
- GatewayId string `xml:"gatewayId"` // The ID of a gateway attached to your VPC.
- InstanceId string `xml:"instanceId"` // The ID of a NAT instance in your VPC.
- InstanceOwnerId string `xml:"instanceOwnerId"` // The AWS account ID of the owner of the instance.
- NetworkInterfaceId string `xml:"networkInterfaceId"` // The ID of the network interface.
- State string `xml:"state"` // The state of the route. Valid values: active | blackhole
- Origin string `xml:"origin"` // Describes how the route was created. Valid values: Valid values: CreateRouteTable | CreateRoute | EnableVgwRoutePropagation
- VpcPeeringConnectionId string `xml:"vpcPeeringConnectionId"` // The ID of the VPC peering connection.
-}
-
-// RouteTableAssociation describes an association between a route table and a subnet.
-//
-// See http://goo.gl/BZB8o8 for more details.
-type RouteTableAssociation struct {
- Id string `xml:"routeTableAssociationId"` // The ID of the association between a route table and a subnet.
- RouteTableId string `xml:"routeTableId"` // The ID of the route table.
- SubnetId string `xml:"subnetId"` // The ID of the subnet.
- Main bool `xml:"main"` // Indicates whether this is the main route table.
-}
-
-// PropagatingVgw describes a virtual private gateway propagating route.
-//
-// See http://goo.gl/myGQtG for more details.
-type PropagatingVgw struct {
- GatewayId string `xml:"gatewayID"`
-}
-
-// CreateRouteTableResp represents a response from a CreateRouteTable request
-//
-// See http://goo.gl/LD0TqP for more details.
-type CreateRouteTableResp struct {
- RequestId string `xml:"requestId"`
- RouteTable RouteTable `xml:"routeTable"`
-}
-
-// CreateRouteTable creates a route table for the specified VPC.
-// After you create a route table, you can add routes and associate the table with a subnet.
-//
-// See http://goo.gl/V9h6gE for more details..
-func (ec2 *EC2) CreateRouteTable(vpcId string) (resp *CreateRouteTableResp, err error) {
- params := makeParams("CreateRouteTable")
- params["VpcId"] = vpcId
- resp = &CreateRouteTableResp{}
- err = ec2.query(params, resp)
- if err != nil {
- return nil, err
- }
- return
-}
-
-// DescribeRouteTablesResp represents a response from a DescribeRouteTables call
-//
-// See http://goo.gl/T3tVsg for more details.
-type DescribeRouteTablesResp struct {
- RequestId string `xml:"requestId"`
- RouteTables []RouteTable `xml:"routeTableSet>item"`
-}
-
-// DescribeRouteTables describes one or more of your route tables
-//
-// See http://goo.gl/S0RVos for more details.
-func (ec2 *EC2) DescribeRouteTables(routeTableIds []string, filter *Filter) (resp *DescribeRouteTablesResp, err error) {
- params := makeParams("DescribeRouteTables")
- addParamsList(params, "RouteTableId", routeTableIds)
- filter.addParams(params)
- resp = &DescribeRouteTablesResp{}
- err = ec2.query(params, resp)
- if err != nil {
- return nil, err
- }
- return
-}
-
-// AssociateRouteTableResp represents a response from an AssociateRouteTable call
-//
-// See http://goo.gl/T4KlYk for more details.
-type AssociateRouteTableResp struct {
- RequestId string `xml:"requestId"`
- AssociationId string `xml:"associationId"`
-}
-
-// AssociateRouteTable associates a subnet with a route table.
-//
-// The subnet and route table must be in the same VPC. This association causes
-// traffic originating from the subnet to be routed according to the routes
-// in the route table. The action returns an association ID, which you need in
-// order to disassociate the route table from the subnet later.
-// A route table can be associated with multiple subnets.
-//
-// See http://goo.gl/bfnONU for more details.
-func (ec2 *EC2) AssociateRouteTable(routeTableId, subnetId string) (resp *AssociateRouteTableResp, err error) {
- params := makeParams("AssociateRouteTable")
- params["RouteTableId"] = routeTableId
- params["SubnetId"] = subnetId
- resp = &AssociateRouteTableResp{}
- err = ec2.query(params, resp)
- if err != nil {
- return nil, err
- }
- return
-}
-
-// DisassociateRouteTableResp represents the response from a DisassociateRouteTable request
-//
-// See http://goo.gl/1v4reT for more details.
-type DisassociateRouteTableResp struct {
- RequestId string `xml:"requestId"`
- Return bool `xml:"return"` // True if the request succeeds
-}
-
-// DisassociateRouteTable disassociates a subnet from a route table.
-//
-// See http://goo.gl/A4NJum for more details.
-func (ec2 *EC2) DisassociateRouteTable(associationId string) (resp *DisassociateRouteTableResp, err error) {
- params := makeParams("DisassociateRouteTable")
- params["AssociationId"] = associationId
- resp = &DisassociateRouteTableResp{}
- err = ec2.query(params, resp)
- if err != nil {
- return nil, err
- }
- return
-}
-
-// ReplaceRouteTableAssociationResp represents a response from a ReplaceRouteTableAssociation call
-//
-// See http://goo.gl/VhILGe for more details.
-type ReplaceRouteTableAssociationResp struct {
- RequestId string `xml:"requestId"`
- NewAssociationId string `xml:"newAssociationId"`
-}
-
-// ReplaceRouteTableAssociation changes the route table associated with a given subnet in a VPC.
-//
-// See http://goo.gl/kiit8j for more details.
-func (ec2 *EC2) ReplaceRouteTableAssociation(associationId, routeTableId string) (resp *ReplaceRouteTableAssociationResp, err error) {
- params := makeParams("ReplaceRouteTableAssociation")
- params["AssociationId"] = associationId
- params["RouteTableId"] = routeTableId
- resp = &ReplaceRouteTableAssociationResp{}
- err = ec2.query(params, resp)
- if err != nil {
- return nil, err
- }
- return
-}
-
-// DeleteRouteTableResp represents a response from a DeleteRouteTable request
-//
-// See http://goo.gl/b8usig for more details.
-type DeleteRouteTableResp struct {
- RequestId string `xml:"requestId"`
- Return bool `xml:"return"` // True if the request succeeds
-}
-
-// DeleteRouteTable deletes the specified route table.
-// You must disassociate the route table from any subnets before you can delete it.
-// You can't delete the main route table.
-//
-// See http://goo.gl/crHxT2 for more details.
-func (ec2 *EC2) DeleteRouteTable(routeTableId string) (resp *DeleteRouteTableResp, err error) {
- params := makeParams("DeleteRouteTable")
- params["RouteTableId"] = routeTableId
- resp = &DeleteRouteTableResp{}
- err = ec2.query(params, resp)
- if err != nil {
- return nil, err
- }
- return
-}
-
-// VPC describes a VPC.
-//
-// See http://goo.gl/WjX0Es for more details.
-type VPC struct {
- CidrBlock string `xml:"cidrBlock"`
- DHCPOptionsID string `xml:"dhcpOptionsId"`
- State string `xml:"state"`
- VpcId string `xml:"vpcId"`
- InstanceTenancy string `xml:"instanceTenancy"`
- IsDefault bool `xml:"isDefault"`
- Tags []Tag `xml:"tagSet>item"`
-}
-
-// CreateVpcResp represents a response from a CreateVpcResp request
-//
-// See http://goo.gl/QoK11F for more details.
-type CreateVpcResp struct {
- RequestId string `xml:"requestId"`
- VPC VPC `xml:"vpc"` // Information about the VPC.
-}
-
-// CreateVpc creates a VPC with the specified CIDR block.
-//
-// The smallest VPC you can create uses a /28 netmask (16 IP addresses),
-// and the largest uses a /16 netmask (65,536 IP addresses).
-//
-// By default, each instance you launch in the VPC has the default DHCP options,
-// which includes only a default DNS server that Amazon provides (AmazonProvidedDNS).
-//
-// See http://goo.gl/QoK11F for more details.
-func (ec2 *EC2) CreateVpc(cidrBlock, instanceTenancy string) (resp *CreateVpcResp, err error) {
- params := makeParams("CreateVpc")
- params["CidrBlock"] = cidrBlock
-
- if instanceTenancy != "" {
- params["InstanceTenancy"] = instanceTenancy
- }
-
- resp = &CreateVpcResp{}
- err = ec2.query(params, resp)
- if err != nil {
- return nil, err
- }
-
- return
-}
-
-// DeleteVpcResp represents a response from a DeleteVpc request
-//
-// See http://goo.gl/qawyrz for more details.
-type DeleteVpcResp struct {
- RequestId string `xml:"requestId"`
- Return bool `xml:"return"` // True if the request succeeds
-}
-
-// DeleteVpc deletes the specified VPC.
-//
-// You must detach or delete all gateways and resources that are associated with
-// the VPC before you can delete it. For example, you must terminate all
-// instances running in the VPC, delete all security groups associated with
-// the VPC (except the default one), delete all route tables associated with
-// the VPC (except the default one), and so on.
-//
-// See http://goo.gl/qawyrz for more details.
-func (ec2 *EC2) DeleteVpc(vpcId string) (resp *DeleteVpcResp, err error) {
- params := makeParams("DeleteVpc")
- params["VpcId"] = vpcId
-
- resp = &DeleteVpcResp{}
- err = ec2.query(params, resp)
- if err != nil {
- return nil, err
- }
- return
-}
-
-// DescribeVpcsResp represents a response from a DescribeVpcs request
-//
-// See http://goo.gl/DWQWvZ for more details.
-type DescribeVpcsResp struct {
- RequestId string `xml:"requestId"`
- VPCs []VPC `xml:"vpcSet>item"` // Information about one or more VPCs.
-}
-
-// DescribeVpcs describes one or more of your VPCs.
-//
-// See http://goo.gl/DWQWvZ for more details.
-func (ec2 *EC2) DescribeVpcs(vpcIds []string, filter *Filter) (resp *DescribeVpcsResp, err error) {
- params := makeParams("DescribeVpcs")
- addParamsList(params, "VpcId", vpcIds)
- filter.addParams(params)
- resp = &DescribeVpcsResp{}
- err = ec2.query(params, resp)
- if err != nil {
- return nil, err
- }
-
- return
-}
-
-// DeleteRouteResp represents a response from a DeleteRoute request
-//
-// See http://goo.gl/Uqyt3w for more details.
-type DeleteRouteResp struct {
- RequestId string `xml:"requestId"`
- Return bool `xml:"return"` // True if the request succeeds
-}
-
-// DeleteRoute deletes the specified route from the specified route table.
-//
-// See http://goo.gl/Uqyt3w for more details.
-func (ec2 *EC2) DeleteRoute(routeTableId, destinationCidrBlock string) (resp *DeleteRouteResp, err error) {
- params := makeParams("DeleteRoute")
- params["RouteTableId"] = routeTableId
- params["DestinationCidrBlock"] = destinationCidrBlock
- resp = &DeleteRouteResp{}
- err = ec2.query(params, resp)
- if err != nil {
- return nil, err
- }
- return
-}
-
-// CreateRouteResp represents a response from a CreateRoute request
-//
-// See http://goo.gl/c6Bg7e for more details.
-type CreateRouteResp struct {
- RequestId string `xml:"requestId"`
- Return bool `xml:"return"` // True if the request succeeds
-}
-
-// CreateRoute structure contains the options for a CreateRoute API call.
-type CreateRoute struct {
- DestinationCidrBlock string
- GatewayId string
- InstanceId string
- NetworkInterfaceId string
- VpcPeeringConnectionId string
-}
-
-// CreateRoute creates a route in a route table within a VPC.
-// You must specify one of the following targets: Internet gateway or virtual
-// private gateway, NAT instance, VPC peering connection, or network interface.
-//
-// See http://goo.gl/c6Bg7e for more details.
-func (ec2 *EC2) CreateRoute(routeTableId string, options *CreateRoute) (resp *CreateRouteResp, err error) {
- params := makeParams("CreateRoute")
- params["RouteTableId"] = routeTableId
- if options.DestinationCidrBlock != "" {
- params["DestinationCidrBlock"] = options.DestinationCidrBlock
- }
- if options.GatewayId != "" {
- params["GatewayId"] = options.GatewayId
- }
- if options.InstanceId != "" {
- params["InstanceId"] = options.InstanceId
- }
- if options.NetworkInterfaceId != "" {
- params["NetworkInterfaceId"] = options.NetworkInterfaceId
- }
- if options.VpcPeeringConnectionId != "" {
- params["VpcPeeringConnectionId"] = options.VpcPeeringConnectionId
- }
- resp = &CreateRouteResp{}
- err = ec2.query(params, resp)
- if err != nil {
- return nil, err
- }
- return
-}
-
-// Subnet describes a subnet
-//
-// See http://goo.gl/bifW4R
-type Subnet struct {
- AvailabilityZone string `xml:"availabilityZone"`
- AvailableIpAddressCount int `xml:"availableIpAddressCount"`
- CidrBlock string `xml:"cidrBlock"`
- DefaultForAZ bool `xml:"defaultForAz"`
- MapPublicIpOnLaunch bool `xml:"mapPublicIpOnLaunch"`
- State string `xml:"state"`
- SubnetId string `xml:"subnetId"`
- Tags []Tag `xml:"tagSet>item"`
- VpcId string `xml:"vpcId"`
-}
-
-// DescribeSubnetsResp represents a response from a DescribeSubnets request
-//
-// See https://goo.gl/1s0UQd for more details.
-type DescribeSubnetsResp struct {
- RequestId string `xml:"requestId"`
- Subnets []Subnet `xml:"subnetSet>item"`
-}
-
-// DescribeSubnets describes one or more Subnets.
-//
-// See https://goo.gl/1s0UQd for more details.
-func (ec2 *EC2) DescribeSubnets(subnetIds []string, filter *Filter) (resp *DescribeSubnetsResp, err error) {
- params := makeParams("DescribeSubnets")
- addParamsList(params, "SubnetId", subnetIds)
- filter.addParams(params)
- resp = &DescribeSubnetsResp{}
- err = ec2.query(params, resp)
- if err != nil {
- return nil, err
- }
-
- return
-}