Class: Bcome::Driver::Ec2
- Inherits:
-
Base
- Object
- Base
- Bcome::Driver::Ec2
show all
- Defined in:
- lib/objects/driver/ec2.rb
Constant Summary
collapse
- PATH_TO_FOG_CREDENTIALS =
'.aws/keys'
Instance Method Summary
collapse
Methods inherited from Base
#config, create_from_config, klass_for_type, #loader_completed_title, #loader_title, #spoof_fetch_server_list
#cursor, #do_signal, #fork_process, #signal_failure, #signal_stop, #signal_success, #start_indicator, #stop_indicator, #wrap_indicator
Constructor Details
#initialize(*params) ⇒ Ec2
Returns a new instance of Ec2.
Instance Method Details
#credentials_key ⇒ Object
71
72
73
|
# File 'lib/objects/driver/ec2.rb', line 71
def credentials_key
@params[:credentials_key]
end
|
#fetch_server_list(legacy_ec2_filters) ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/objects/driver/ec2.rb', line 29
def fetch_server_list(legacy_ec2_filters)
filters = config.key?(:filters) ? config[:filters] : legacy_ec2_filters
wrap_indicator type: :basic, title: loader_title, completed_title: loader_completed_title do
begin
@servers = unfiltered_server_list.all(filters)
signal_success
rescue Exception => e
signal_failure
raise e
end
end
@servers
end
|
#fog_client ⇒ Object
25
26
27
|
# File 'lib/objects/driver/ec2.rb', line 25
def fog_client
@fog_client ||= get_fog_client
end
|
#has_network_credentials? ⇒ Boolean
56
57
58
|
# File 'lib/objects/driver/ec2.rb', line 56
def has_network_credentials?
true
end
|
#loading ⇒ Object
52
53
54
|
# File 'lib/objects/driver/ec2.rb', line 52
def loading
fog_client.servers.all({})
end
|
#network_credentials ⇒ Object
60
61
62
63
64
65
|
# File 'lib/objects/driver/ec2.rb', line 60
def network_credentials
{
access_key: raw_fog_credentials['aws_access_key_id'],
secret_key: raw_fog_credentials['aws_secret_access_key']
}
end
|
#pretty_provider_name ⇒ Object
17
18
19
|
# File 'lib/objects/driver/ec2.rb', line 17
def pretty_provider_name
'EC2'
end
|
#pretty_resource_location ⇒ Object
21
22
23
|
# File 'lib/objects/driver/ec2.rb', line 21
def pretty_resource_location
@node.network_data[:provisioning_region]
end
|
#provisioning_region ⇒ Object
75
76
77
|
# File 'lib/objects/driver/ec2.rb', line 75
def provisioning_region
@params[:provisioning_region]
end
|
#raw_fog_credentials ⇒ Object
67
68
69
|
# File 'lib/objects/driver/ec2.rb', line 67
def raw_fog_credentials
@raw_fog_credentials ||= YAML.load_file(PATH_TO_FOG_CREDENTIALS)[credentials_key]
end
|
#unfiltered_server_list ⇒ Object
48
49
50
|
# File 'lib/objects/driver/ec2.rb', line 48
def unfiltered_server_list
@unfiltered_server_list ||= fog_client.servers.all({})
end
|