fog-core 1.24.0 → 1.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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"
|