Class: AWS::EC2::Region

Inherits:
Resource show all
Defined in:
lib/aws/ec2/region.rb

Overview

Represents an EC2 region. You can use this to find the endpoint for a given region:

ec2.regions["us-west-1"].endpoint

Region also responds to all of the methods of AWS::EC2 except #regions; for example, to list instance IDs by region, you can do:

ec2.regions.inject({}) do |h,region|
  h[region.name] = region.instances.map(&:id)
  h
end

Constant Summary collapse

PROXIED_METHODS =
[
  :instances,
  :security_groups,
  :key_pairs,
  :elastic_ips,
  :tags,
  :availability_zones,
  :images,
  :volumes,
  :snapshots,
  :reserved_instances,
  :reserved_instances_offerings,
  :vpcs,
  :subnets,
  :network_acls,
  :route_tables,
  :network_interfaces,
  :internet_gateways,
  :customer_gateways,
  :vpn_gateways,
  :dhcp_options,
  :vpn_connections,
]

Instance Attribute Summary collapse

Attributes included from Core::Model

#config

Instance Method Summary collapse

Methods inherited from Core::Resource

attribute_providers, attribute_providers_for, attributes, #attributes_from_response, define_attribute_type, #eql?, #inspect, new_from

Methods included from Core::Cacheable

included, #retrieve_attribute

Methods included from Core::Model

#client, #config_prefix, #inspect

Constructor Details

#initialize(name, options = {}) ⇒ Region

Returns a new instance of Region.



36
37
38
39
# File 'lib/aws/ec2/region.rb', line 36

def initialize(name, options = {})
  @name = name
  super(options)
end

Instance Attribute Details

#endpointString (readonly)

The endpoint to use for this region (e.g. “ec2.eu-west-1.amazonaws.com”).

Returns:

  • (String)

    the current value of endpoint



34
35
36
# File 'lib/aws/ec2/region.rb', line 34

def endpoint
  @endpoint
end

#nameString (readonly)

Returns The name of the region (e.g. “us-east-1”).

Returns:

  • (String)

    The name of the region (e.g. “us-east-1”).



42
43
44
# File 'lib/aws/ec2/region.rb', line 42

def name
  @name
end

Instance Method Details

#exists?Boolean

Returns True if the region is available for this account.

Returns:

  • (Boolean)

    True if the region is available for this account.



52
53
54
55
56
# File 'lib/aws/ec2/region.rb', line 52

def exists?
  !client.describe_regions(:filters => [{ :name => "region-name",
                                          :values => [name] }]).
    region_info.empty?
end