Class: Bcome::Driver::Ec2

Inherits:
Base
  • Object
show all
Defined in:
lib/objects/driver/ec2.rb

Constant Summary collapse

PATH_TO_FOG_CREDENTIALS =
"#{ENV['HOME']}/.fog".freeze

Instance Method Summary collapse

Methods inherited from Base

#config, create_from_config, klass_for_type

Constructor Details

#initialize(*params) ⇒ Ec2

Returns a new instance of Ec2.



6
7
8
9
# File 'lib/objects/driver/ec2.rb', line 6

def initialize(*params)
  super
  raise Bcome::Exception::Ec2DriverMissingProvisioningRegion, params.inspect unless provisioning_region
end

Instance Method Details

#credentials_keyObject



32
33
34
# File 'lib/objects/driver/ec2.rb', line 32

def credentials_key
  @params[:credentials_key]
end

#fetch_server_list(filters) ⇒ Object



15
16
17
18
# File 'lib/objects/driver/ec2.rb', line 15

def fetch_server_list(filters)
  servers = unfiltered_server_list.all(filters)
  servers
end

#fog_clientObject



11
12
13
# File 'lib/objects/driver/ec2.rb', line 11

def fog_client
  @fog_client ||= get_fog_client
end

#loadingObject



24
25
26
# File 'lib/objects/driver/ec2.rb', line 24

def loading
  fog_client.servers.all({})
end

#provisioning_regionObject



36
37
38
# File 'lib/objects/driver/ec2.rb', line 36

def provisioning_region
  @params[:provisioning_region]
end

#raw_fog_credentialsObject



28
29
30
# File 'lib/objects/driver/ec2.rb', line 28

def raw_fog_credentials
  @raw_fog_credentials ||= YAML.load_file(PATH_TO_FOG_CREDENTIALS)[credentials_key]
end

#unfiltered_server_listObject



20
21
22
# File 'lib/objects/driver/ec2.rb', line 20

def unfiltered_server_list
  @unfiltered_server_list ||= fog_client.servers.all({})
end