class AWS::EC2::InternetGateway

Attributes

id[R]

@return [String]

internet_gateway_id[R]

@return [String]

Public Class Methods

new(internet_gateway_id, options = {}) click to toggle source
Calls superclass method
# File lib/aws/ec2/internet_gateway.rb, line 23
def initialize internet_gateway_id, options = {}
  @internet_gateway_id = internet_gateway_id
  super
end

Public Instance Methods

attach(vpc) click to toggle source

Attaches this internet gateway to the given VPC. @param [VPC,String] vpc A {VPC} object or a vpc id string. @return [nil]

# File lib/aws/ec2/internet_gateway.rb, line 77
def attach vpc
  client_opts = {}
  client_opts[:internet_gateway_id] = internet_gateway_id
  client_opts[:vpc_id] = vpc_id_option(vpc)
  client.attach_internet_gateway(client_opts)
  nil
end
attachments() click to toggle source

@return [Array<InternetGateway::Attachment>]

# File lib/aws/ec2/internet_gateway.rb, line 46
def attachments
  attachment_set.map {|details| Attachment.new(self, details) }
end
delete() click to toggle source

Deletes this internet gateway. @return [nil]

# File lib/aws/ec2/internet_gateway.rb, line 98
def delete
  client_opts = {}
  client_opts[:internet_gateway_id] = internet_gateway_id
  client.delete_internet_gateway(client_opts)
  nil
end
detach(vpc) click to toggle source

Detaches this internet gateway from the given VPC. @param [VPC,String] vpc A {VPC} object or a vpc id string. @return [nil]

# File lib/aws/ec2/internet_gateway.rb, line 88
def detach vpc
  client_opts = {}
  client_opts[:internet_gateway_id] = internet_gateway_id
  client_opts[:vpc_id] = vpc_id_option(vpc)
  client.detach_internet_gateway(client_opts)
  nil
end
exists?() click to toggle source

@return [Boolean] Returns true if the gateway exists.

# File lib/aws/ec2/internet_gateway.rb, line 106
def exists?
  begin
    get_resource
    true
  rescue Errors::InvalidInternetGatewayID::NotFound
    false
  end
end
vpc() click to toggle source

@return [VPC,nil] Returns the currently attached VPC, or nil

if this gateway has not been attached.
# File lib/aws/ec2/internet_gateway.rb, line 52
def vpc
  if attachment = attachments.first  
    attachment.vpc
  end
end
vpc=(vpc) click to toggle source

Attaches this internet gateway to the given VPC. If this gateway is already attached to a different VPC, it will be detached from that one first. If you pass nil, then this internet gateway will

internet_gateway.vpc = 'vpc-123'

@param [VPC,String] vpc A {VPC} object or a vpc id string.

# File lib/aws/ec2/internet_gateway.rb, line 67
def vpc= vpc
  if attachment = attachments.first
    attachment.delete
  end
  attach(vpc) if vpc
end

Protected Instance Methods

vpc_id_option(vpc) click to toggle source
# File lib/aws/ec2/internet_gateway.rb, line 116
def vpc_id_option vpc
  vpc.is_a?(VPC) ? vpc.vpc_id : vpc
end