Awsum

Awsum (Pronounced Awesome) is a library for working with Amazon web services. The concept of Awsum is to expose the AWS library is the most ruby way possible allowing you to work with objects in a very natural way.

Quick Start

#Create a snapshot for every volume of every instance you own
ec2 = Awsum::Ec2.new(<access key>, <secret key>)
ec2.instances.each do |instance|
  instance.volumes.each do |volume|
    volume.create_snapshot
  end
end

Working with different Regions

You can use blocks to wrap your calls for a specific Region

ec2.region('eu-west-1').use do
  #Run an instance in the eu-west-1 region
  run_instance(...)
end

Using the library on an EC2 instance

There are two methods specifically for using a library on an EC2 instance

Awsum::Ec2#me
Awsum::Ec2#user_data

To extend the quick start example, you could do

#Create a snapshot of every volume of the currently running instance
ec2 = Awsum::Ec2.new(<access key>, <secret key>)
ec2.me.volumes.each do |volume|
  volume.create_snapshot
end

Note:

Awsum is currently under active development and only supports EC2 at the moment.

Once EC2 is complete, I will focus on S3, SQS, CloudSpace and then others