fog-core 1.24.0 → 1.25.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/.rubocop.yml +20 -0
- data/changelog.md +17 -0
- data/fog-core.gemspec +2 -1
- data/lib/fog/account.rb +3 -5
- data/lib/fog/billing.rb +3 -4
- data/lib/fog/cdn.rb +3 -5
- data/lib/fog/compute.rb +17 -20
- data/lib/fog/compute/models/server.rb +21 -26
- data/lib/fog/core.rb +61 -60
- data/lib/fog/core/association.rb +15 -0
- data/lib/fog/core/associations/default.rb +21 -3
- data/lib/fog/core/associations/many_identities.rb +8 -2
- data/lib/fog/core/associations/many_models.rb +7 -2
- data/lib/fog/core/associations/one_identity.rb +6 -1
- data/lib/fog/core/associations/one_model.rb +5 -1
- data/lib/fog/core/attributes.rb +41 -44
- data/lib/fog/core/attributes/array.rb +5 -1
- data/lib/fog/core/attributes/boolean.rb +5 -1
- data/lib/fog/core/attributes/default.rb +12 -2
- data/lib/fog/core/attributes/float.rb +5 -1
- data/lib/fog/core/attributes/integer.rb +5 -1
- data/lib/fog/core/attributes/string.rb +5 -1
- data/lib/fog/core/attributes/time.rb +5 -1
- data/lib/fog/core/attributes/timestamp.rb +5 -1
- data/lib/fog/core/collection.rb +22 -27
- data/lib/fog/core/connection.rb +5 -6
- data/lib/fog/core/credentials.rb +7 -7
- data/lib/fog/core/current_machine.rb +10 -8
- data/lib/fog/core/deprecated_connection_accessors.rb +0 -1
- data/lib/fog/core/deprecation.rb +0 -2
- data/lib/fog/core/errors.rb +3 -5
- data/lib/fog/core/hmac.rb +4 -6
- data/lib/fog/core/logger.rb +10 -11
- data/lib/fog/core/mock.rb +19 -25
- data/lib/fog/core/model.rb +9 -20
- data/lib/fog/core/provider.rb +6 -9
- data/lib/fog/core/scp.rb +14 -24
- data/lib/fog/core/service.rb +28 -31
- data/lib/fog/core/ssh.rb +16 -24
- data/lib/fog/core/stringify_keys.rb +7 -9
- data/lib/fog/core/time.rb +5 -7
- data/lib/fog/core/utils.rb +24 -20
- data/lib/fog/core/uuid.rb +2 -3
- data/lib/fog/core/version.rb +3 -1
- data/lib/fog/core/wait_for.rb +2 -2
- data/lib/fog/core/wait_for_defaults.rb +13 -10
- data/lib/fog/core/whitelist_keys.rb +1 -1
- data/lib/fog/dns.rb +6 -8
- data/lib/fog/identity.rb +5 -6
- data/lib/fog/image.rb +3 -5
- data/lib/fog/metering.rb +3 -6
- data/lib/fog/monitoring.rb +3 -5
- data/lib/fog/network.rb +4 -6
- data/lib/fog/orchestration.rb +3 -5
- data/lib/fog/schema/data_validator.rb +17 -22
- data/lib/fog/storage.rb +22 -16
- data/lib/fog/support.rb +3 -6
- data/lib/fog/test_helpers.rb +10 -10
- data/lib/fog/test_helpers/collection_helper.rb +23 -43
- data/lib/fog/test_helpers/compute/flavors_helper.rb +4 -10
- data/lib/fog/test_helpers/compute/server_helper.rb +3 -9
- data/lib/fog/test_helpers/compute/servers_helper.rb +0 -4
- data/lib/fog/test_helpers/formats_helper.rb +13 -14
- data/lib/fog/test_helpers/helper.rb +9 -4
- data/lib/fog/test_helpers/mock_helper.rb +92 -94
- data/lib/fog/test_helpers/model_helper.rb +7 -15
- data/lib/fog/test_helpers/responds_to_helper.rb +1 -3
- data/lib/fog/test_helpers/succeeds_helper.rb +1 -3
- data/lib/fog/volume.rb +3 -6
- data/lib/fog/vpn.rb +3 -5
- data/lib/tasks/test_task.rb +2 -6
- data/spec/compute_spec.rb +11 -13
- data/spec/connection_spec.rb +24 -14
- data/spec/credentials_spec.rb +23 -23
- data/spec/current_machine_spec.rb +6 -6
- data/spec/fake_app/fake_service.rb +18 -0
- data/spec/fake_app/models/collection.rb +5 -0
- data/spec/fake_app/models/model.rb +2 -0
- data/spec/fake_app/requests/request.rb +11 -0
- data/spec/fog_attribute_spec.rb +178 -136
- data/spec/identity_spec.rb +11 -13
- data/spec/mocking_spec.rb +7 -8
- data/spec/service_spec.rb +21 -7
- data/spec/spec_helper.rb +14 -8
- data/spec/storage_spec.rb +25 -13
- data/spec/test_helpers/formats_helper_spec.rb +52 -52
- data/spec/test_helpers/schema_validator_spec.rb +45 -45
- data/spec/timeout_spec.rb +1 -2
- data/spec/utils_spec.rb +2 -2
- data/spec/uuid_spec.rb +1 -1
- data/spec/wait_for_spec.rb +7 -4
- metadata +57 -33
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MmZiYWEzZTU5YTdiYzc4YzkyNWEyMzFkMzMzNDQ3NWQzNGM5MWRmNg==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: def08d856fbf1d998e280ccc63e9ccc45fb6bb2b
|
4
|
+
data.tar.gz: 490a97b82c3fe8378ee7b7496eaacc81945e3a1d
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
ZWY4OTYzZDZmZDc2NGY1OGMyYmRjOWYwOTk0ZDJjZTE2NjFiYjUwZmQ3OGNm
|
11
|
-
NjNjNWNiZmIwNjQwMmY2OThkOWQ0Y2YyZDQyOTAzNTU5YTA2M2Y=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
Mjc1YTY5MDQyODM5MDQwODkyOWE4ZTkyNzNjZmZiNDc4OWFkMDcyZmUyZmEy
|
14
|
-
NWMxZmMwYWMyNGYxMmMyN2M5MWEwMGYwNjA5ZjdmODA2MjBkNWZlZjczZTJl
|
15
|
-
OGMwN2M2MjAwOTgwNjZkMjczMGFjYjJkM2JkZTUzMTJiYjg2YzE=
|
6
|
+
metadata.gz: b8828bb2e949755b5a65205f91564adda96289b94c308fcfb90db64d2343d1d7b81afd54753eacdcbf50cb9ea6a5745c8b34bc95360d81090205866d71f0ecbc
|
7
|
+
data.tar.gz: 3c3664af4f43a084cbe344b57693161ffc9bd4da493743d055313637f562ee60bd0bb63037861da9773cfdfcce62c6e38bf48a53f86bfb176dd980e9f272a441
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Metrics/LineLength:
|
2
|
+
Enabled: false
|
3
|
+
|
4
|
+
Style/EachWithObject:
|
5
|
+
Enabled: false
|
6
|
+
|
7
|
+
Style/Encoding:
|
8
|
+
EnforcedStyle: when_needed
|
9
|
+
|
10
|
+
Style/FormatString:
|
11
|
+
Enabled: false
|
12
|
+
|
13
|
+
Style/HashSyntax:
|
14
|
+
EnforcedStyle: hash_rockets
|
15
|
+
|
16
|
+
Style/SignalException:
|
17
|
+
EnforcedStyle: only_raise
|
18
|
+
|
19
|
+
Style/StringLiterals:
|
20
|
+
EnforcedStyle: double_quotes
|
data/changelog.md
CHANGED
@@ -1,3 +1,20 @@
|
|
1
|
+
1.25.0 11/18/2014
|
2
|
+
==========================================================
|
3
|
+
|
4
|
+
add alias options for associations
|
5
|
+
improve spec message
|
6
|
+
add feature to overwrite keys on hash of attributes generation
|
7
|
+
remove method_missing from model
|
8
|
+
add rubocop
|
9
|
+
fix rubocop warnings
|
10
|
+
return collections on association getters
|
11
|
+
fix require bug in service
|
12
|
+
put fog and fog-core versions in user agent
|
13
|
+
don't mutate/destroy encoding in get_body_size
|
14
|
+
fix error output in from const_get usage
|
15
|
+
separate to have distinct version from fog
|
16
|
+
|
17
|
+
|
1
18
|
1.24.0 08/26/2014
|
2
19
|
==========================================================
|
3
20
|
|
data/fog-core.gemspec
CHANGED
@@ -5,7 +5,7 @@ require 'fog/core/version'
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "fog-core"
|
8
|
-
spec.version = Fog::VERSION
|
8
|
+
spec.version = Fog::Core::VERSION
|
9
9
|
spec.authors = ["Evan Light", "Wesley Beary"]
|
10
10
|
spec.email = ["evan@tripledogdare.net", "geemus@gmail.com"]
|
11
11
|
spec.summary = %q{Shared classes and tests for fog providers and services.}
|
@@ -32,4 +32,5 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_development_dependency('minitest-stub-const')
|
33
33
|
spec.add_development_dependency('pry')
|
34
34
|
spec.add_development_dependency('coveralls')
|
35
|
+
spec.add_development_dependency('rubocop') if RUBY_VERSION.to_s >= '1.9.3'
|
35
36
|
end
|
data/lib/fog/account.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
module Fog
|
2
2
|
module Account
|
3
|
-
|
4
3
|
def self.[](provider)
|
5
|
-
|
4
|
+
new(:provider => provider)
|
6
5
|
end
|
7
6
|
|
8
7
|
def self.new(attributes)
|
@@ -10,16 +9,15 @@ module Fog
|
|
10
9
|
provider = attributes.delete(:provider).to_s.downcase.to_sym
|
11
10
|
|
12
11
|
if provider == :stormondemand
|
13
|
-
require
|
12
|
+
require "fog/storm_on_demand/account"
|
14
13
|
Fog::Account::StormOnDemand.new(attributes)
|
15
14
|
else
|
16
|
-
raise ArgumentError
|
15
|
+
raise ArgumentError, "#{provider} has no account service"
|
17
16
|
end
|
18
17
|
end
|
19
18
|
|
20
19
|
def self.providers
|
21
20
|
Fog.services[:account]
|
22
21
|
end
|
23
|
-
|
24
22
|
end
|
25
23
|
end
|
data/lib/fog/billing.rb
CHANGED
@@ -1,18 +1,17 @@
|
|
1
1
|
module Fog
|
2
2
|
module Billing
|
3
|
-
|
4
3
|
def self.[](provider)
|
5
|
-
|
4
|
+
new(:provider => provider)
|
6
5
|
end
|
7
6
|
|
8
7
|
def self.new(attributes)
|
9
8
|
attributes = attributes.dup
|
10
9
|
provider = attributes.delete(:provider).to_s.downcase.to_sym
|
11
10
|
if provider == :stormondemand
|
12
|
-
require
|
11
|
+
require "fog/storm_on_demand/billing"
|
13
12
|
Fog::Billing::StormOnDemand.new(attributes)
|
14
13
|
else
|
15
|
-
raise ArgumentError
|
14
|
+
raise ArgumentError, "#{provider} has no billing service"
|
16
15
|
end
|
17
16
|
end
|
18
17
|
|
data/lib/fog/cdn.rb
CHANGED
@@ -1,23 +1,21 @@
|
|
1
1
|
module Fog
|
2
2
|
module CDN
|
3
|
-
|
4
3
|
def self.[](provider)
|
5
|
-
|
4
|
+
new(:provider => provider)
|
6
5
|
end
|
7
6
|
|
8
7
|
def self.new(attributes)
|
9
8
|
attributes = attributes.dup # prevent delete from having side effects
|
10
9
|
provider = attributes.delete(:provider).to_s.downcase.to_sym
|
11
|
-
if
|
10
|
+
if providers.include?(provider)
|
12
11
|
require "fog/#{provider}/cdn"
|
13
12
|
return Fog::CDN.const_get(Fog.providers[provider]).new(attributes)
|
14
13
|
end
|
15
|
-
raise ArgumentError
|
14
|
+
raise ArgumentError, "#{provider} is not a recognized cdn provider"
|
16
15
|
end
|
17
16
|
|
18
17
|
def self.providers
|
19
18
|
Fog.services[:cdn]
|
20
19
|
end
|
21
|
-
|
22
20
|
end
|
23
21
|
end
|
data/lib/fog/compute.rb
CHANGED
@@ -1,67 +1,65 @@
|
|
1
1
|
module Fog
|
2
2
|
module Compute
|
3
|
-
|
4
3
|
def self.[](provider)
|
5
|
-
|
4
|
+
new(:provider => provider)
|
6
5
|
end
|
7
6
|
|
8
7
|
def self.new(attributes)
|
9
8
|
attributes = attributes.dup # prevent delete from having side effects
|
10
9
|
provider = attributes.delete(:provider).to_s.downcase.to_sym
|
11
10
|
|
12
|
-
|
13
11
|
case provider
|
14
12
|
when :gogrid
|
15
|
-
require
|
13
|
+
require "fog/go_grid/compute"
|
16
14
|
Fog::Compute::GoGrid.new(attributes)
|
17
15
|
when :hp
|
18
16
|
version = attributes.delete(:version)
|
19
17
|
version = version.to_s.downcase.to_sym unless version.nil?
|
20
18
|
if version == :v2
|
21
|
-
require
|
22
|
-
|
19
|
+
require "fog/hp/compute_v2"
|
20
|
+
Fog::Compute::HPV2.new(attributes)
|
23
21
|
else
|
24
22
|
Fog::Logger.deprecation "HP Cloud Compute V1 service will be soon deprecated. Please use `:version => v2` attribute to use HP Cloud Compute V2 service."
|
25
|
-
require
|
23
|
+
require "fog/hp/compute"
|
26
24
|
Fog::Compute::HP.new(attributes)
|
27
25
|
end
|
28
26
|
when :new_servers
|
29
|
-
require
|
27
|
+
require "fog/bare_metal_cloud/compute"
|
30
28
|
Fog::Logger.deprecation "`new_servers` is deprecated. Please use `bare_metal_cloud` instead."
|
31
29
|
Fog::Compute::BareMetalCloud.new(attributes)
|
32
30
|
when :baremetalcloud
|
33
|
-
require
|
31
|
+
require "fog/bare_metal_cloud/compute"
|
34
32
|
Fog::Compute::BareMetalCloud.new(attributes)
|
35
33
|
when :rackspace
|
36
|
-
version = attributes.delete(:version)
|
34
|
+
version = attributes.delete(:version)
|
37
35
|
version = version.to_s.downcase.to_sym unless version.nil?
|
38
36
|
if version == :v1
|
39
37
|
Fog::Logger.deprecation "First Gen Cloud Servers are deprecated. Please use `:version => :v2` attribute to use Next Gen Cloud Servers."
|
40
|
-
require
|
38
|
+
require "fog/rackspace/compute"
|
41
39
|
Fog::Compute::Rackspace.new(attributes)
|
42
40
|
else
|
43
|
-
require
|
41
|
+
require "fog/rackspace/compute_v2"
|
44
42
|
Fog::Compute::RackspaceV2.new(attributes)
|
45
43
|
end
|
46
44
|
when :stormondemand
|
47
|
-
require
|
45
|
+
require "fog/storm_on_demand/compute"
|
48
46
|
Fog::Compute::StormOnDemand.new(attributes)
|
49
47
|
when :vcloud
|
50
|
-
require
|
48
|
+
require "fog/vcloud/compute"
|
51
49
|
Fog::Vcloud::Compute.new(attributes)
|
52
50
|
when :vclouddirector
|
53
|
-
require
|
51
|
+
require "fog/vcloud_director/compute"
|
54
52
|
Fog::Compute::VcloudDirector.new(attributes)
|
55
53
|
else
|
56
|
-
if
|
54
|
+
if providers.include?(provider)
|
57
55
|
require "fog/#{provider}/compute"
|
58
56
|
begin
|
59
57
|
Fog::Compute.const_get(Fog.providers[provider])
|
60
58
|
rescue
|
61
|
-
Fog
|
59
|
+
Fog.const_get(Fog.providers[provider])::Compute
|
62
60
|
end.new(attributes)
|
63
61
|
else
|
64
|
-
raise ArgumentError
|
62
|
+
raise ArgumentError, "#{provider} is not a recognized compute provider"
|
65
63
|
end
|
66
64
|
end
|
67
65
|
end
|
@@ -72,7 +70,7 @@ module Fog
|
|
72
70
|
|
73
71
|
def self.servers
|
74
72
|
servers = []
|
75
|
-
|
73
|
+
providers.each do |provider|
|
76
74
|
begin
|
77
75
|
servers.concat(self[provider].servers)
|
78
76
|
rescue # ignore any missing credentials/etc
|
@@ -80,6 +78,5 @@ module Fog
|
|
80
78
|
end
|
81
79
|
servers
|
82
80
|
end
|
83
|
-
|
84
81
|
end
|
85
82
|
end
|
@@ -1,13 +1,23 @@
|
|
1
|
-
require
|
1
|
+
require "fog/core/model"
|
2
2
|
|
3
3
|
module Fog
|
4
4
|
module Compute
|
5
5
|
class Server < Fog::Model
|
6
|
-
|
7
6
|
attr_writer :username, :private_key, :private_key_path, :public_key, :public_key_path, :ssh_port, :ssh_options
|
7
|
+
# Sets the proc used to determine the IP Address used for ssh/scp interactions.
|
8
|
+
# @example
|
9
|
+
# service.servers.bootstrap :name => "bootstrap-server",
|
10
|
+
# :flavor_id => service.flavors.first.id,
|
11
|
+
# :image_id => service.images.find {|img| img.name =~ /Ubuntu/}.id,
|
12
|
+
# :public_key_path => "~/.ssh/fog_rsa.pub",
|
13
|
+
# :private_key_path => "~/.ssh/fog_rsa",
|
14
|
+
# :ssh_ip_address => Proc.new {|server| server.private_ip_address }
|
15
|
+
#
|
16
|
+
# @note By default scp/ssh will use the public_ip_address if this proc is not set.
|
17
|
+
attr_writer :ssh_ip_address
|
8
18
|
|
9
19
|
def username
|
10
|
-
@username ||=
|
20
|
+
@username ||= "root"
|
11
21
|
end
|
12
22
|
|
13
23
|
def private_key_path
|
@@ -35,20 +45,6 @@ module Fog
|
|
35
45
|
@ssh_port ||= 22
|
36
46
|
end
|
37
47
|
|
38
|
-
# Sets the proc used to determine the IP Address used for ssh/scp interactions.
|
39
|
-
# @example
|
40
|
-
# service.servers.bootstrap :name => 'bootstrap-server',
|
41
|
-
# :flavor_id => service.flavors.first.id,
|
42
|
-
# :image_id => service.images.find {|img| img.name =~ /Ubuntu/}.id,
|
43
|
-
# :public_key_path => '~/.ssh/fog_rsa.pub',
|
44
|
-
# :private_key_path => '~/.ssh/fog_rsa',
|
45
|
-
# :ssh_ip_address => Proc.new {|server| server.private_ip_address }
|
46
|
-
#
|
47
|
-
# @note By default scp/ssh will use the public_ip_address if this proc is not set.
|
48
|
-
def ssh_ip_address=(proc)
|
49
|
-
@ssh_ip_address = proc
|
50
|
-
end
|
51
|
-
|
52
48
|
# IP Address used for ssh/scp interactions with server.
|
53
49
|
# @return [String] IP Address
|
54
50
|
# @note By default this returns the public_ip_address
|
@@ -60,16 +56,16 @@ module Fog
|
|
60
56
|
|
61
57
|
def ssh_options
|
62
58
|
@ssh_options ||= {}
|
63
|
-
ssh_options = @ssh_options.merge(
|
59
|
+
ssh_options = @ssh_options.merge(:port => ssh_port)
|
64
60
|
if private_key
|
65
61
|
ssh_options[:key_data] = [private_key]
|
66
|
-
ssh_options[:auth_methods] =
|
62
|
+
ssh_options[:auth_methods] = %w(publickey)
|
67
63
|
end
|
68
64
|
ssh_options
|
69
65
|
end
|
70
66
|
|
71
67
|
def scp(local_path, remote_path, upload_options = {})
|
72
|
-
require
|
68
|
+
require "net/scp"
|
73
69
|
requires :ssh_ip_address, :username
|
74
70
|
|
75
71
|
Fog::SCP.new(ssh_ip_address, username, ssh_options).upload(local_path, remote_path, upload_options)
|
@@ -78,14 +74,14 @@ module Fog
|
|
78
74
|
alias_method :scp_upload, :scp
|
79
75
|
|
80
76
|
def scp_download(remote_path, local_path, download_options = {})
|
81
|
-
require
|
77
|
+
require "net/scp"
|
82
78
|
requires :ssh_ip_address, :username
|
83
79
|
|
84
80
|
Fog::SCP.new(ssh_ip_address, username, ssh_options).download(remote_path, local_path, download_options)
|
85
81
|
end
|
86
82
|
|
87
|
-
def ssh(commands, options={}, &blk)
|
88
|
-
require
|
83
|
+
def ssh(commands, options = {}, &blk)
|
84
|
+
require "net/ssh"
|
89
85
|
requires :ssh_ip_address, :username
|
90
86
|
|
91
87
|
options = ssh_options.merge(options)
|
@@ -93,12 +89,11 @@ module Fog
|
|
93
89
|
Fog::SSH.new(ssh_ip_address, username, options).run(commands, &blk)
|
94
90
|
end
|
95
91
|
|
96
|
-
def sshable?(options={})
|
97
|
-
ready? && !ssh_ip_address.nil? && !!Timeout
|
92
|
+
def sshable?(options = {})
|
93
|
+
ready? && !ssh_ip_address.nil? && !!Timeout.timeout(8) { ssh("pwd", options) }
|
98
94
|
rescue SystemCallError, Net::SSH::AuthenticationFailed, Net::SSH::Disconnect, Timeout::Error
|
99
95
|
false
|
100
96
|
end
|
101
|
-
|
102
97
|
end
|
103
98
|
end
|
104
99
|
end
|
data/lib/fog/core.rb
CHANGED
@@ -1,67 +1,68 @@
|
|
1
1
|
# external core dependencies
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
9
|
-
require
|
10
|
-
require
|
11
|
-
require
|
2
|
+
require "base64"
|
3
|
+
require "cgi"
|
4
|
+
require "uri"
|
5
|
+
require "excon"
|
6
|
+
require "fileutils"
|
7
|
+
require "formatador"
|
8
|
+
require "openssl"
|
9
|
+
require "time"
|
10
|
+
require "timeout"
|
11
|
+
require "ipaddr"
|
12
12
|
|
13
13
|
# internal core dependencies
|
14
14
|
require "fog/core/version"
|
15
15
|
|
16
|
-
require
|
17
|
-
require
|
18
|
-
require
|
19
|
-
require
|
20
|
-
require
|
21
|
-
require
|
22
|
-
require
|
23
|
-
require
|
24
|
-
require
|
25
|
-
require
|
26
|
-
require
|
27
|
-
require
|
28
|
-
require
|
29
|
-
require
|
30
|
-
require
|
31
|
-
require
|
32
|
-
require
|
33
|
-
require
|
34
|
-
require
|
35
|
-
require
|
36
|
-
require
|
37
|
-
require
|
38
|
-
require
|
39
|
-
require
|
40
|
-
require
|
41
|
-
require
|
42
|
-
require
|
43
|
-
require
|
44
|
-
require
|
45
|
-
require
|
46
|
-
require
|
47
|
-
require
|
48
|
-
require
|
49
|
-
require
|
50
|
-
require
|
16
|
+
require "fog/core/attributes"
|
17
|
+
require "fog/core/attributes/default"
|
18
|
+
require "fog/core/attributes/array"
|
19
|
+
require "fog/core/attributes/boolean"
|
20
|
+
require "fog/core/attributes/float"
|
21
|
+
require "fog/core/attributes/integer"
|
22
|
+
require "fog/core/attributes/string"
|
23
|
+
require "fog/core/attributes/time"
|
24
|
+
require "fog/core/attributes/timestamp"
|
25
|
+
require "fog/core/associations/default"
|
26
|
+
require "fog/core/associations/many_identities"
|
27
|
+
require "fog/core/associations/many_models"
|
28
|
+
require "fog/core/associations/one_model"
|
29
|
+
require "fog/core/associations/one_identity"
|
30
|
+
require "fog/core/collection"
|
31
|
+
require "fog/core/association"
|
32
|
+
require "fog/core/connection"
|
33
|
+
require "fog/core/credentials"
|
34
|
+
require "fog/core/current_machine"
|
35
|
+
require "fog/core/deprecation"
|
36
|
+
require "fog/core/errors"
|
37
|
+
require "fog/core/hmac"
|
38
|
+
require "fog/core/logger"
|
39
|
+
require "fog/core/model"
|
40
|
+
require "fog/core/mock"
|
41
|
+
require "fog/core/provider"
|
42
|
+
require "fog/core/service"
|
43
|
+
require "fog/core/ssh"
|
44
|
+
require "fog/core/scp"
|
45
|
+
require "fog/core/time"
|
46
|
+
require "fog/core/utils"
|
47
|
+
require "fog/core/wait_for"
|
48
|
+
require "fog/core/wait_for_defaults"
|
49
|
+
require "fog/core/uuid"
|
50
|
+
require "fog/core/stringify_keys"
|
51
|
+
require "fog/core/whitelist_keys"
|
51
52
|
|
52
53
|
# service wrappers
|
53
|
-
require
|
54
|
-
require
|
55
|
-
require
|
56
|
-
require
|
57
|
-
require
|
58
|
-
require
|
59
|
-
require
|
60
|
-
require
|
61
|
-
require
|
62
|
-
require
|
63
|
-
require
|
64
|
-
require
|
65
|
-
require
|
66
|
-
require
|
67
|
-
require
|
54
|
+
require "fog/account"
|
55
|
+
require "fog/billing"
|
56
|
+
require "fog/cdn"
|
57
|
+
require "fog/compute"
|
58
|
+
require "fog/dns"
|
59
|
+
require "fog/identity"
|
60
|
+
require "fog/image"
|
61
|
+
require "fog/metering"
|
62
|
+
require "fog/monitoring"
|
63
|
+
require "fog/network"
|
64
|
+
require "fog/orchestration"
|
65
|
+
require "fog/storage"
|
66
|
+
require "fog/support"
|
67
|
+
require "fog/volume"
|
68
|
+
require "fog/vpn"
|