Listing Amazon EC2 instances
# Class for VM's
class Vm
include ActiveModel::Validations
validates_presence_of :name, :status
attr_accessor :id, :name, :dns, :status
@@ec2 = AWS::EC2.new()
def self.all
return @@ec2.instances.inject([]) { |m, i|
tags = i.tags.to_h
name = tags['Name']
m.push Vm.new( i.id, name, i.dns_name, i.status )
}
end
def initialize( id, name, dns, status )
@id = id
@name = name
@dns = dns
@status = status
end
end
Listing Amazon S3 buckets
# Class for S3 Storage
class Storage
include ActiveModel::Validations
validates_presence_of :name
attr_accessor :name
@@ec2 = AWS::S3.new()
def self.all
return @@ec2.buckets.inject([]) { |m, i|
m.push Storage.new( i.name )
}
end
def initialize( name )
@name = name
end
end
AWS Config
config/initializers/aws-sdk.rb
AWS.config({
:secret_access_key => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
:access_key_id => 'YYYYYYYYYYYYYYY',
:region => 'us-west-2',
})