class AWS::EC2::VPC

@attr_reader [Symbol] state @attr_reader [String] cidr_block @attr_reader [String] dhcp_options_id @attr_reader [Symbol] instance_tenancy

Attributes

id[R]

@return [String]

vpc_id[R]

@return [String]

Public Class Methods

new(vpc_id, options = {}) click to toggle source
# File lib/aws/ec2/vpc.rb, line 25
def initialize vpc_id, options = {}
  @vpc_id = vpc_id
  super
end

Public Instance Methods

delete() click to toggle source

Deletes the current VPC. The VPC must be empty before it can be deleted. @return [nil]

# File lib/aws/ec2/vpc.rb, line 54
def delete
  client.delete_vpc(:vpc_id => vpc_id)
  nil
end
dhcp_options() click to toggle source

@return [DHCPOptions] Returns the dhcp options associated with

this VPC.
# File lib/aws/ec2/vpc.rb, line 141
def dhcp_options
  DHCPOptions.new(dhcp_options_id, :config => config)
end
dhcp_options=(dhcp_options) click to toggle source

Associates the given dhcp options with this VPC.

vpc.dhcp_optinos = ec2.dhcp_options['dopt-a1234abc']

You can also specify the string 'default' to use Amazon's default dhcp options.

vpc.dhcp_optinos = 'default'

@param [DHCPOptions,String] #dhcp_options A {DHCPOptions} object

or a dhcp options id string.
# File lib/aws/ec2/vpc.rb, line 157
def dhcp_options= dhcp_options
  unless dhcp_options.is_a?(DHCPOptions) 
    dhcp_options = DHCPOptions.new(dhcp_options, :config => config)
  end
  dhcp_options.associate(self)
end
instances() click to toggle source

@return [InstanceCollection] Returns a filtered collection of

instances that are in this VPC.
# File lib/aws/ec2/vpc.rb, line 61
def instances
  InstanceCollection.new(:config => config).filter('vpc-id', vpc_id)
end
internet_gateway() click to toggle source

@return [InternetGateway,nil] Returns the internet gateway attached to

this VPC.  If no internet gateway has been attached, then
nil is returned.
# File lib/aws/ec2/vpc.rb, line 98
def internet_gateway
  gateways = InternetGatewayCollection.new(:config => config)
  gateways.filter('attachment.vpc-id', vpc_id).first
end
internet_gateway=(internet_gateway) click to toggle source

Attaches the given internet gateway to this VPC. If there is already an internet gateway attached, it will be detached from this VPC first. If you pass nil, this will leave the current VPC without an attached internet gateway.

vpc.internet_gateway = gateway_1
vpc.internet_gateway = gateway_2 # detaches gateway_1 first
vpc.internet_gateway = nil # detaches gateway_2

@param [InternetGateway,String] #internet_gateway An {InternetGateway}

object or internet gateway id string.
# File lib/aws/ec2/vpc.rb, line 115
def internet_gateway= internet_gateway

  # remove currently attached internet gateway
  gateway = self.internet_gateway
  gateway.detach(self) if gateway

  if internet_gateway
    unless internet_gateway.is_a?(InternetGateway)
      internet_gateway = InternetGateway.new(internet_gateway, 
        :config => config)
    end
    internet_gateway.attach(self)
  end
  
end
network_acls() click to toggle source

@return [NetworkACLCollection] Returns a filtered collection of

network ACLs that are in this VPC.
# File lib/aws/ec2/vpc.rb, line 79
def network_acls
  NetworkACLCollection.new(:config => config).filter('vpc-id', vpc_id)
end
network_interfaces() click to toggle source

@return [NetworkInterfaceCollection] Returns a filtered collection of

network interfaces that are in this VPC.
# File lib/aws/ec2/vpc.rb, line 91
def network_interfaces
  NetworkInterfaceCollection.new(:config => config).filter('vpc-id', id)
end
route_tables() click to toggle source

@return [RouteTableCollection] Returns a filtered collection of

route tables that are in this VPC.
# File lib/aws/ec2/vpc.rb, line 85
def route_tables
  RouteTableCollection.new(:config => config).filter('vpc-id', vpc_id)
end
security_groups() click to toggle source

@return [SecurityGroupCollection] Returns a filtered collection of

security groups that are in this VPC.
# File lib/aws/ec2/vpc.rb, line 67
def security_groups
  SecurityGroupCollection.new(:config => config).filter('vpc-id', vpc_id)
end
subnets() click to toggle source

@return [SubnetCollection] Returns a filtered collection of

subnets that are in this VPC.
# File lib/aws/ec2/vpc.rb, line 73
def subnets
  SubnetCollection.new(:config => config).filter('vpc-id', vpc_id)
end
vpn_gateway() click to toggle source

@return [VPNGateway,nil] Returns the vpn gateway attached to

this VPC.  If no vpn gateway has been attached, then
nil is returned.
# File lib/aws/ec2/vpc.rb, line 134
def vpn_gateway
  gateways = VPNGatewayCollection.new(:config => config)
  gateways.filter('attachment.vpc-id', vpc_id).first
end