Class: RightScaleAPI::Account

Inherits:
Base
  • Object
show all
Defined in:
lib/right-scale-api/account.rb

Defined Under Namespace

Classes: SubResource

Instance Attribute Summary

Attributes inherited from Base

#href, #id

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

api_name, attributes, create, #delete, #destroy, get, #get, #head, #initialize, #post, #put, #reload!, #send_request, #update, #uri

Constructor Details

This class inherits a constructor from RightScaleAPI::Base

Class Method Details

.sub_resources(*resources) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/right-scale-api/account.rb', line 6

def self.sub_resources *resources
  resources.each do |resource|
    module_eval %(
                  def #{resource}
                    get('/#{resource}.xml')['#{resource}'].map do |attrs|
                      #{resource.to_s.classify}.new attrs.merge(:account => self)
                    end
                  end
                  ),__FILE__, __LINE__-6
  end
end

Instance Method Details

#create_ec2_ebs_volume(opts) ⇒ Object



31
32
33
# File 'lib/right-scale-api/account.rb', line 31

def create_ec2_ebs_volume opts
  Ec2EbsVolume.create opts.merge :account => self
end

#create_ec2_elastic_ip(opts) ⇒ Object



27
28
29
# File 'lib/right-scale-api/account.rb', line 27

def create_ec2_elastic_ip opts
  Ec2ElasticIp.create opts.merge :account => self
end

#create_server(opts) ⇒ Object



35
36
37
# File 'lib/right-scale-api/account.rb', line 35

def create_server opts
  Server.create opts.merge :account => self
end

#get_ec2_ssh_key(id) ⇒ Object



38
39
40
# File 'lib/right-scale-api/account.rb', line 38

def get_ec2_ssh_key id
  Ec2SshKey.new get("/ec2_ssh_keys/#{id}").merge :id => id, :account => self
end