Module: Opscode::Aws::Ec2

Defined in:
lib/cookbooks/aws/libraries/ec2.rb

Instance Method Summary collapse

Instance Method Details

#ec2Object



26
27
28
29
30
# File 'lib/cookbooks/aws/libraries/ec2.rb', line 26

def ec2
  region = instance_availability_zone
  region = region[0, region.length-1]
  @@ec2 ||= RightAws::Ec2.new(new_resource.aws_access_key, new_resource.aws_secret_access_key, { :logger => Chef::Log, :region => region })
end

#find_snapshot_id(volume_id = "") ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/cookbooks/aws/libraries/ec2.rb', line 14

def find_snapshot_id(volume_id="")
  snapshot_id = nil 
  ec2.describe_snapshots.sort { |a,b| b[:aws_started_at] <=> a[:aws_started_at] }.each do |snapshot|
    if snapshot[:aws_volume_id] == volume_id
      snapshot_id = snapshot[:aws_id]
    end
  end
  raise "Cannot find snapshot id!" unless snapshot_id
  Chef::Log.debug("Snapshot ID is #{snapshot_id}")
  snapshot_id
end

#instance_availability_zoneObject



36
37
38
# File 'lib/cookbooks/aws/libraries/ec2.rb', line 36

def instance_availability_zone
  @@instance_availability_zone ||= query_instance_availability_zone
end

#instance_idObject



32
33
34
# File 'lib/cookbooks/aws/libraries/ec2.rb', line 32

def instance_id
  @@instance_id ||= query_instance_id
end