ec2-instance 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/ec2-instance.rb +11 -4
  2. data/lib/instance.rb +11 -1
  3. metadata +3 -3
data/lib/ec2-instance.rb CHANGED
@@ -35,14 +35,21 @@ module AWS
35
35
  end
36
36
 
37
37
  #
38
- # Return the launch time of this machine.
38
+ # Return an instance object for this machine.
39
39
  #
40
- def launch_time
40
+ def identity_instance
41
41
  local_instance = parse_instance_set(self.describe_instances).detect do |inst|
42
42
  inst.instance_id.eql? AWS::EC2::Instance.local_instance_id
43
43
  end
44
+ return local_instance
45
+ end
44
46
 
45
- return local_instance.launch_time
47
+ #
48
+ # Deprecated. Will be removed in the next couple versions.
49
+ # Please use identity_instance.launch_time
50
+ #
51
+ def launch_time
52
+ identity_instance.launch_time
46
53
  end
47
54
 
48
55
  private
@@ -51,7 +58,7 @@ module AWS
51
58
  instances = []
52
59
  ec2_response_hash["reservationSet"]["item"].each do |res|
53
60
  res["instancesSet"]["item"].each do |i|
54
- instances.push AWS::EC2::Instance.new({:instance_id => parse_instance_id(i), :status => parse_status(i), :launch_time => parse_launch_time(i), :tags => parse_tags(i), :dns => parse_dns(i)})
61
+ instances.push AWS::EC2::Instance.new({:connection => self, :instance_id => parse_instance_id(i), :status => parse_status(i), :launch_time => parse_launch_time(i), :tags => parse_tags(i), :dns => parse_dns(i)})
55
62
  end
56
63
  end
57
64
  return instances
data/lib/instance.rb CHANGED
@@ -2,6 +2,7 @@ module AWS
2
2
  module EC2
3
3
  class Instance
4
4
 
5
+ attr_accessor :connection
5
6
  attr_accessor :instance_id, :launch_time, :status, :tags, :dns
6
7
 
7
8
  def initialize(init_hash = {})
@@ -12,7 +13,16 @@ module AWS
12
13
 
13
14
  def match?(tag)
14
15
  self.tags.detect {|h| h.detect { |k, v| v.to_s.match /#{tag}/ } }
15
- end
16
+ end
17
+
18
+ #
19
+ # If connection available, terminate self.
20
+ #
21
+ def self_destruct
22
+ raise "No Connection Associated With This Instance." unless !@connection.nil?
23
+ @connection.terminate_instances(:instance_id => self.instance_id)
24
+ # Have a Nice Day.
25
+ end
16
26
 
17
27
  end
18
28
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 10
9
- version: 0.0.10
8
+ - 11
9
+ version: 0.0.11
10
10
  platform: ruby
11
11
  authors:
12
12
  - Robert Berry
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-01-16 00:00:00 -08:00
17
+ date: 2011-01-25 00:00:00 -08:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency