amazon-ec2 0.9.7 → 0.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore CHANGED
@@ -6,4 +6,3 @@ doc
6
6
  .yardoc
7
7
  pkg
8
8
  .idea
9
-
data/README_dev.rdoc CHANGED
@@ -6,5 +6,6 @@ Publishing the gem using Jeweler:
6
6
 
7
7
  Push the gem to gemcutter:
8
8
 
9
+ rake build
9
10
  gem push pkg/amazon-ec2-X.Y.Z.gem
10
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.7
1
+ 0.9.8
data/amazon-ec2.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{amazon-ec2}
8
- s.version = "0.9.7"
8
+ s.version = "0.9.8"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Glenn Rempe"]
12
- s.date = %q{2010-03-14}
12
+ s.date = %q{2010-03-18}
13
13
  s.description = %q{A Ruby library for accessing the Amazon Web Services EC2, ELB, RDS, Cloudwatch, and Autoscaling APIs.}
14
14
  s.email = %q{glenn@rempe.us}
15
15
  s.executables = ["ec2-gem-example.rb", "ec2-gem-profile.rb", "ec2sh", "setup.rb"]
data/lib/AWS.rb CHANGED
@@ -8,7 +8,7 @@
8
8
  # Home:: http://github.com/grempe/amazon-ec2/tree/master
9
9
  #++
10
10
 
11
- %w[ base64 cgi openssl digest/sha1 net/https rexml/document time ostruct ].each { |f| require f }
11
+ %w[ base64 cgi openssl digest/sha1 net/https net/http rexml/document time ostruct ].each { |f| require f }
12
12
 
13
13
  begin
14
14
  require 'xmlsimple' unless defined? XmlSimple
@@ -228,7 +228,43 @@ module AWS
228
228
  end
229
229
 
230
230
 
231
+
232
+ end
233
+
234
+ #
235
+ # A set of methods for querying amazon's ec2 meta-data service.
236
+ # Note : This can ONLY be run on an actual running EC2 instance.
237
+ #
238
+ # Example Class Method Usage :
239
+ # instance_id = AWS::EC2::Instance.local_instance_id
240
+ #
241
+ module Instance
242
+
243
+ EC2_META_URL_BASE = 'http://169.254.169.254/latest/meta-data/'
244
+
245
+ #
246
+ # Returns the current instance-id when called from a host within EC2.
247
+ #
248
+ def self.local_instance_id
249
+ Net::HTTP.get URI.parse(EC2_META_URL_BASE + 'instance-id')
250
+ end
251
+
252
+ #
253
+ # Returns a hash of all available instance meta data.
254
+ #
255
+ def self.local_instance_meta_data
256
+ meta_data = {}
257
+
258
+ Net::HTTP.get(URI.parse(EC2_META_URL_BASE)).split("\n").each do |meta_type|
259
+ meta_data.merge!({meta_type => Net::HTTP.get(URI.parse(EC2_META_URL_BASE + meta_type)) })
260
+ end
261
+
262
+ return meta_data
263
+ end
264
+
231
265
  end
266
+
267
+
232
268
  end
233
269
  end
234
270
 
data/lib/AWS/RDS/rds.rb CHANGED
@@ -462,25 +462,35 @@ module AWS
462
462
  # DB Snapshot was created.
463
463
  #
464
464
  # @option options [String] :source_db_instance_identifier the identifier of the source DB Instance from which to restore.
465
+ # @option options [optional, Boolean] :use_latest_restorable_time specifies that the db be restored to the latest restored time. Conditional, cannot be specified if :restore_time parameter is provided.
466
+ # @option options [optional, Date] :restore_time specifies the date and time to restore from. Conditional, cannot be specified if :use_latest_restorable_time parameter is true.
465
467
  # @option options [String] :target_db_instance_identifier is the name of the new database instance to be created.
466
- # @option options [String] :use_latest_restorable_time specifies that the db be restored to the latest restored time
467
- # @option options [String] :restore_time specifies the date and time to restore from
468
- # @option options [String] :db_instance_class specifies the class of the compute and memory of the EC2 instance
469
- # @option options [String] :port is the port which the db can accept connections on
470
- # @option options [String] :availability_zone is the EC2 zone which the db instance will be created
468
+ # @option options [optional, String] :db_instance_class specifies the class of the compute and memory of the EC2 instance, Options : db.m1.small | db.m1.large | db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge
469
+ # @option options [optional, Integer] :port is the port which the db can accept connections on. Constraints: Value must be 1115-65535
470
+ # @option options [optional, String] :availability_zone is the EC2 zone which the db instance will be created
471
471
  #
472
472
  def restore_db_instance_to_point_in_time( options = {} )
473
- raise ArgumentError, "No :db_snapshot_identifier provided" if options.does_not_have?(:db_snapshot_identifier)
474
- raise ArgumentError, "No :db_instance_identifier provided" if options.does_not_have?(:db_instance_identifier)
475
- raise ArgumentError, "No :db_instance_class provided" if options.does_not_have?(:db_instance_class)
473
+ raise ArgumentError, "No :source_db_instance_identifier provided" if options.does_not_have?(:source_db_instance_identifier)
474
+ raise ArgumentError, "No :target_db_instance_identifier provided" if options.does_not_have?(:target_db_instance_identifier)
476
475
 
477
476
  params = {}
478
477
  params['SourceDBInstanceIdentifier'] = options[:source_db_instance_identifier]
479
478
  params['TargetDBInstanceIdentifier'] = options[:target_db_instance_identifier]
480
479
 
481
- if options[:use_latest_restorable_time]
482
- params['UseLatestRestorableTime'] = options[:use_latest_restorable_time]
483
- elsif options[:restore_time]
480
+ if options.has?(:use_latest_restorable_time) && options.has?(:restore_time)
481
+ raise ArgumentError, "You cannot provide both :use_latest_restorable_time and :restore_time"
482
+ elsif options.has?(:use_latest_restorable_time)
483
+ params['UseLatestRestorableTime'] = case options[:use_latest_restorable_time]
484
+ when 'true', 'false'
485
+ options[:use_latest_restorable_time]
486
+ when true
487
+ 'true'
488
+ when false
489
+ 'false'
490
+ else
491
+ raise ArgumentError, "Invalid value provided for :use_latest_restorable_time. Expected boolean."
492
+ end
493
+ elsif options.has?(:restore_time)
484
494
  params['RestoreTime'] = options[:restore_time]
485
495
  end
486
496
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 9
8
- - 7
9
- version: 0.9.7
8
+ - 8
9
+ version: 0.9.8
10
10
  platform: ruby
11
11
  authors:
12
12
  - Glenn Rempe
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-03-14 00:00:00 -08:00
17
+ date: 2010-03-18 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency