class AWS::EC2::VPNGatewayCollection

Public Instance Methods

[](vpn_gateway_id) click to toggle source

@param [String] vpn_gateway_id @return [VPNGateway]

# File lib/aws/ec2/vpn_gateway_collection.rb, line 57
def [] vpn_gateway_id
  VPNGateway.new(vpn_gateway_id, :config => config)
end
create(options = {}) click to toggle source

Creates a new virtual private gateway. A virtual private gateway is the VPC-side endpoint for your VPN connection. You can create a virtual private gateway before creating the VPC itself.

@param [Hash] options

@option options [String] :vpn_type ('ipsec.1') The type of VPN

connection this virtual private gateway supports.

@option options [AvailabilityZone,String] :availability_zone

The Availability Zone where you want the virtual private gateway.
AWS can select a default zone for you.  This can be an
{AvailabilityZone} object or availability zone name string.

@return [VPNGateway]

# File lib/aws/ec2/vpn_gateway_collection.rb, line 38
def create options = {}

  client_opts = {}
  client_opts[:type] = options[:vpn_type] || 'ipsec.1'

  if az = options[:availability_zone]
    az = az.name if az.is_a?(AvailabilityZone)
    client_opts[:availability_zone] = az
  end

  resp = client.create_vpn_gateway(client_opts)

  VPNGateway.new_from(:create_vpn_gateway, resp.vpn_gateway,
    resp.vpn_gateway.vpn_gateway_id, :config => config)

end

Protected Instance Methods

_each_item(options = {}) { |gateway| ... } click to toggle source
# File lib/aws/ec2/vpn_gateway_collection.rb, line 63
def _each_item options = {}, &block
  response = filtered_request(:describe_vpn_gateways, options, &block)
  response.vpn_gateway_set.each do |g|

    gateway = VPNGateway.new_from(:describe_vpn_gateways, g,
      g.vpn_gateway_id, :config => config)

    yield(gateway)

  end
end