Class: AWS::EC2::Region
- Inherits:
-
Object
- Object
- AWS::EC2::Region
- 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, :export_tasks, ]
Instance Attribute Summary collapse
- #client ⇒ Client readonly
- #config ⇒ Core::Configuration readonly
- #endpoint ⇒ String readonly
-
#name ⇒ String
readonly
The name of the region (e.g. "us-west-2").
Instance Method Summary collapse
- #eql?(other) ⇒ Boolean (also: #==)
-
#exists? ⇒ Boolean
True if the region is available for this account.
-
#initialize(name, options = {}) ⇒ Region
constructor
A new instance of Region.
Constructor Details
#initialize(name, options = {}) ⇒ Region
Returns a new instance of Region.
36 37 38 39 40 41 |
# File 'lib/aws/ec2/region.rb', line 36 def initialize name, = {} @name = name @endpoint = [:endpoint] || "ec2.#{name}.amazonaws.com" @client = Client.new(.merge(:endpoint => endpoint)) @config = @client.config end |
Instance Attribute Details
#config ⇒ Core::Configuration (readonly)
53 54 55 |
# File 'lib/aws/ec2/region.rb', line 53 def config @config end |
#endpoint ⇒ String (readonly)
34 35 36 |
# File 'lib/aws/ec2/region.rb', line 34 def endpoint @endpoint end |
#name ⇒ String (readonly)
Returns The name of the region (e.g. "us-west-2").
44 45 46 |
# File 'lib/aws/ec2/region.rb', line 44 def name @name end |
Instance Method Details
#eql?(other) ⇒ Boolean Also known as: ==
66 67 68 69 70 |
# File 'lib/aws/ec2/region.rb', line 66 def eql? other other.is_a?(Region) and other.name == name and other.endpoint == endpoint end |
#exists? ⇒ Boolean
Returns True if the region is available for this account.
57 58 59 60 61 62 |
# File 'lib/aws/ec2/region.rb', line 57 def exists? client.describe_regions(:region_names => [name]) true rescue Errors::InvalidParameterValue false end |