bbcloud 0.11.2 → 0.12.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.
Files changed (198) hide show
  1. data/.gitignore +3 -2
  2. data/Gemfile +3 -0
  3. data/README +11 -1
  4. data/README.rdoc +11 -1
  5. data/Rakefile +12 -0
  6. data/bbcloud.gemspec +10 -10
  7. data/bin/brightbox-accounts +7 -2
  8. data/bin/brightbox-cloudips +7 -2
  9. data/bin/brightbox-config +7 -2
  10. data/bin/brightbox-images +7 -2
  11. data/bin/brightbox-lbs +7 -2
  12. data/bin/brightbox-servers +7 -2
  13. data/bin/brightbox-types +7 -2
  14. data/bin/brightbox-users +7 -2
  15. data/bin/brightbox-zones +7 -2
  16. data/lib/bbcloud.rb +43 -0
  17. data/lib/bbcloud/accounts.rb +5 -3
  18. data/lib/bbcloud/command_generator.rb +50 -0
  19. data/lib/bbcloud/commands/accounts-list.rb +13 -11
  20. data/lib/bbcloud/commands/accounts-reset-ftp-password.rb +26 -23
  21. data/lib/bbcloud/commands/accounts-show.rb +20 -16
  22. data/lib/bbcloud/commands/cloudips-create.rb +16 -14
  23. data/lib/bbcloud/commands/cloudips-destroy.rb +29 -26
  24. data/lib/bbcloud/commands/cloudips-list.rb +13 -11
  25. data/lib/bbcloud/commands/cloudips-map.rb +48 -46
  26. data/lib/bbcloud/commands/cloudips-show.rb +15 -12
  27. data/lib/bbcloud/commands/cloudips-unmap.rb +28 -25
  28. data/lib/bbcloud/commands/config-client-add.rb +33 -31
  29. data/lib/bbcloud/commands/config-client-default.rb +18 -16
  30. data/lib/bbcloud/commands/config-client-list.rb +19 -16
  31. data/lib/bbcloud/commands/config-client-remove.rb +18 -16
  32. data/lib/bbcloud/commands/images-destroy.rb +18 -16
  33. data/lib/bbcloud/commands/images-list.rb +20 -18
  34. data/lib/bbcloud/commands/images-register.rb +21 -19
  35. data/lib/bbcloud/commands/images-show.rb +17 -15
  36. data/lib/bbcloud/commands/lbs-add-nodes.rb +15 -13
  37. data/lib/bbcloud/commands/lbs-create.rb +65 -63
  38. data/lib/bbcloud/commands/lbs-destroy.rb +13 -11
  39. data/lib/bbcloud/commands/lbs-list.rb +13 -11
  40. data/lib/bbcloud/commands/lbs-remove-nodes.rb +15 -13
  41. data/lib/bbcloud/commands/lbs-show.rb +15 -13
  42. data/lib/bbcloud/commands/lbs-update.rb +59 -57
  43. data/lib/bbcloud/commands/servers-activate-cloud.rb +18 -16
  44. data/lib/bbcloud/commands/servers-create.rb +80 -77
  45. data/lib/bbcloud/commands/servers-destroy.rb +17 -15
  46. data/lib/bbcloud/commands/servers-list.rb +14 -14
  47. data/lib/bbcloud/commands/servers-show.rb +39 -37
  48. data/lib/bbcloud/commands/servers-shutdown.rb +14 -12
  49. data/lib/bbcloud/commands/servers-snapshot.rb +14 -12
  50. data/lib/bbcloud/commands/servers-start.rb +15 -13
  51. data/lib/bbcloud/commands/servers-stop.rb +14 -12
  52. data/lib/bbcloud/commands/types-list.rb +13 -11
  53. data/lib/bbcloud/commands/types-show.rb +18 -16
  54. data/lib/bbcloud/commands/users-list.rb +13 -11
  55. data/lib/bbcloud/commands/users-show.rb +17 -15
  56. data/lib/bbcloud/commands/users-update.rb +27 -25
  57. data/lib/bbcloud/commands/zones-list.rb +13 -11
  58. data/lib/bbcloud/config.rb +125 -111
  59. data/lib/bbcloud/error_parser.rb +34 -0
  60. data/lib/bbcloud/fog_extensions.rb +19 -0
  61. data/lib/bbcloud/gli_global_hooks.rb +56 -0
  62. data/lib/bbcloud/logging.rb +40 -0
  63. data/lib/bbcloud/ruby_core_ext.rb +9 -0
  64. data/lib/bbcloud/servers.rb +7 -2
  65. data/lib/bbcloud/tables.rb +78 -73
  66. data/lib/bbcloud/vendor/gli/.gitignore +10 -0
  67. data/lib/bbcloud/vendor/gli/.rvmrc +1 -0
  68. data/lib/bbcloud/vendor/gli/Gemfile +5 -0
  69. data/lib/bbcloud/vendor/gli/LICENSE.txt +201 -0
  70. data/lib/bbcloud/vendor/gli/README.rdoc +54 -0
  71. data/lib/bbcloud/vendor/gli/Rakefile +84 -0
  72. data/lib/bbcloud/vendor/gli/bin/gli +72 -0
  73. data/lib/bbcloud/vendor/gli/bin/report_on_rake_results +10 -0
  74. data/lib/bbcloud/vendor/gli/bin/test_all_rubies.sh +2 -0
  75. data/lib/bbcloud/vendor/gli/features/gli_executable.feature +88 -0
  76. data/lib/bbcloud/vendor/gli/features/gli_init.feature +122 -0
  77. data/lib/bbcloud/vendor/gli/features/step_definitions/gli_executable_steps.rb +12 -0
  78. data/lib/bbcloud/vendor/gli/features/step_definitions/gli_init_steps.rb +4 -0
  79. data/lib/bbcloud/vendor/gli/features/support/env.rb +21 -0
  80. data/lib/bbcloud/vendor/gli/gli.cheat +80 -0
  81. data/lib/bbcloud/vendor/gli/gli.gemspec +46 -0
  82. data/lib/bbcloud/vendor/gli/gli.rdoc +51 -0
  83. data/lib/bbcloud/vendor/gli/lib/gli.rb +560 -0
  84. data/lib/bbcloud/vendor/gli/lib/gli/command.rb +124 -0
  85. data/lib/bbcloud/vendor/gli/lib/gli/command_line_token.rb +58 -0
  86. data/lib/bbcloud/vendor/gli/lib/gli/copy_options_to_aliases.rb +33 -0
  87. data/lib/bbcloud/vendor/gli/lib/gli/exceptions.rb +45 -0
  88. data/lib/bbcloud/vendor/gli/lib/gli/flag.rb +67 -0
  89. data/lib/bbcloud/vendor/gli/lib/gli/options.rb +19 -0
  90. data/lib/bbcloud/vendor/gli/lib/gli/switch.rb +63 -0
  91. data/lib/bbcloud/vendor/gli/lib/gli/terminal.rb +79 -0
  92. data/lib/bbcloud/vendor/gli/lib/gli_version.rb +3 -0
  93. data/lib/bbcloud/vendor/gli/lib/support/help.rb +180 -0
  94. data/lib/bbcloud/vendor/gli/lib/support/initconfig.rb +34 -0
  95. data/lib/bbcloud/vendor/gli/lib/support/rdoc.rb +119 -0
  96. data/lib/bbcloud/vendor/gli/lib/support/scaffold.rb +284 -0
  97. data/lib/bbcloud/vendor/gli/test/config.yaml +9 -0
  98. data/lib/bbcloud/vendor/gli/test/gli.reek +116 -0
  99. data/lib/bbcloud/vendor/gli/test/roodi.yaml +9 -0
  100. data/lib/bbcloud/vendor/gli/test/tc_command.rb +329 -0
  101. data/lib/bbcloud/vendor/gli/test/tc_flag.rb +67 -0
  102. data/lib/bbcloud/vendor/gli/test/tc_gli.rb +429 -0
  103. data/lib/bbcloud/vendor/gli/test/tc_options.rb +31 -0
  104. data/lib/bbcloud/vendor/gli/test/tc_parsing.rb +279 -0
  105. data/lib/bbcloud/vendor/gli/test/tc_switch.rb +80 -0
  106. data/lib/bbcloud/vendor/gli/test/tc_terminal.rb +91 -0
  107. data/lib/bbcloud/version.rb +1 -1
  108. data/pkg/bbcloud-0.12.0.gem +0 -0
  109. data/spec/fixtures/vcr_cassettes/server_list.yml +117 -0
  110. data/spec/servers_spec.rb +36 -0
  111. data/spec/spec_helper.rb +24 -0
  112. data/spec/support/common_helpers.rb +47 -0
  113. metadata +129 -135
  114. data/lib/bbcloud/cli.rb +0 -160
  115. data/lib/bbcloud/vendor/fog/lib/fog.rb +0 -14
  116. data/lib/bbcloud/vendor/fog/lib/fog/compute.rb +0 -43
  117. data/lib/bbcloud/vendor/fog/lib/fog/compute/brightbox.rb +0 -162
  118. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/account.rb +0 -51
  119. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/cloud_ip.rb +0 -47
  120. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/cloud_ips.rb +0 -34
  121. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/flavor.rb +0 -33
  122. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/flavors.rb +0 -28
  123. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/image.rb +0 -56
  124. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/images.rb +0 -28
  125. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/load_balancer.rb +0 -50
  126. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/load_balancers.rb +0 -28
  127. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/server.rb +0 -108
  128. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/servers.rb +0 -29
  129. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/user.rb +0 -39
  130. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/users.rb +0 -29
  131. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/zone.rb +0 -21
  132. data/lib/bbcloud/vendor/fog/lib/fog/compute/models/brightbox/zones.rb +0 -29
  133. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/activate_console_server.rb +0 -20
  134. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/add_listeners_load_balancer.rb +0 -20
  135. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/add_nodes_load_balancer.rb +0 -20
  136. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_api_client.rb +0 -19
  137. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_cloud_ip.rb +0 -19
  138. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_image.rb +0 -19
  139. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_load_balancer.rb +0 -19
  140. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/create_server.rb +0 -19
  141. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_api_client.rb +0 -20
  142. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_cloud_ip.rb +0 -20
  143. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_image.rb +0 -20
  144. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_load_balancer.rb +0 -20
  145. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/destroy_server.rb +0 -20
  146. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_account.rb +0 -19
  147. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_api_client.rb +0 -20
  148. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_cloud_ip.rb +0 -20
  149. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_image.rb +0 -20
  150. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_interface.rb +0 -20
  151. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_load_balancer.rb +0 -20
  152. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_server.rb +0 -20
  153. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_server_type.rb +0 -20
  154. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_user.rb +0 -20
  155. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/get_zone.rb +0 -20
  156. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_api_clients.rb +0 -19
  157. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_cloud_ips.rb +0 -19
  158. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_images.rb +0 -19
  159. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_load_balancers.rb +0 -19
  160. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_server_types.rb +0 -19
  161. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_servers.rb +0 -19
  162. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_users.rb +0 -19
  163. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/list_zones.rb +0 -19
  164. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/map_cloud_ip.rb +0 -20
  165. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/remove_listeners_load_balancer.rb +0 -20
  166. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/remove_nodes_load_balancer.rb +0 -20
  167. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/reset_ftp_password_account.rb +0 -19
  168. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/resize_server.rb +0 -19
  169. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/shutdown_server.rb +0 -20
  170. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/snapshot_server.rb +0 -20
  171. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/start_server.rb +0 -20
  172. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/stop_server.rb +0 -20
  173. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/unmap_cloud_ip.rb +0 -20
  174. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_account.rb +0 -20
  175. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_api_client.rb +0 -21
  176. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_image.rb +0 -21
  177. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_load_balancer.rb +0 -21
  178. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_server.rb +0 -21
  179. data/lib/bbcloud/vendor/fog/lib/fog/compute/requests/brightbox/update_user.rb +0 -21
  180. data/lib/bbcloud/vendor/fog/lib/fog/core.rb +0 -32
  181. data/lib/bbcloud/vendor/fog/lib/fog/core/attributes.rb +0 -178
  182. data/lib/bbcloud/vendor/fog/lib/fog/core/collection.rb +0 -127
  183. data/lib/bbcloud/vendor/fog/lib/fog/core/connection.rb +0 -35
  184. data/lib/bbcloud/vendor/fog/lib/fog/core/credentials.rb +0 -92
  185. data/lib/bbcloud/vendor/fog/lib/fog/core/deprecation.rb +0 -23
  186. data/lib/bbcloud/vendor/fog/lib/fog/core/errors.rb +0 -20
  187. data/lib/bbcloud/vendor/fog/lib/fog/core/hmac.rb +0 -48
  188. data/lib/bbcloud/vendor/fog/lib/fog/core/mock.rb +0 -68
  189. data/lib/bbcloud/vendor/fog/lib/fog/core/model.rb +0 -57
  190. data/lib/bbcloud/vendor/fog/lib/fog/core/parser.rb +0 -99
  191. data/lib/bbcloud/vendor/fog/lib/fog/core/provider.rb +0 -18
  192. data/lib/bbcloud/vendor/fog/lib/fog/core/scp.rb +0 -67
  193. data/lib/bbcloud/vendor/fog/lib/fog/core/service.rb +0 -175
  194. data/lib/bbcloud/vendor/fog/lib/fog/core/ssh.rb +0 -120
  195. data/lib/bbcloud/vendor/fog/lib/fog/core/time.rb +0 -27
  196. data/lib/bbcloud/vendor/fog/lib/fog/core/wait_for.rb +0 -17
  197. data/lib/bbcloud/vendor/fog/lib/fog/providers.rb +0 -9
  198. data/lib/bbcloud/vendor/fog/lib/fog/providers/brightbox.rb +0 -9
@@ -1,35 +0,0 @@
1
- module Fog
2
- class Connection
3
-
4
- def initialize(url, persistent=false, params={})
5
- @excon = Excon.new(url, params)
6
- @persistent = persistent
7
- end
8
-
9
- def request(params, &block)
10
- unless @persistent
11
- reset
12
- end
13
- unless block_given?
14
- if (parser = params.delete(:parser))
15
- body = Nokogiri::XML::SAX::PushParser.new(parser)
16
- block = lambda { |chunk| body << chunk }
17
- end
18
- end
19
-
20
- response = @excon.request(params, &block)
21
-
22
- if parser
23
- body.finish
24
- response.body = parser.response
25
- end
26
-
27
- response
28
- end
29
-
30
- def reset
31
- @excon.reset
32
- end
33
-
34
- end
35
- end
@@ -1,92 +0,0 @@
1
- require 'yaml'
2
-
3
- module Fog
4
- require 'fog/core/deprecation'
5
-
6
- # Assign a new credential to use from configuration file
7
- # @param [String, Symbol] new_credential name of new credential to use
8
- # @ return [String, Symbol] name of the new credential
9
- def self.credential=(new_credential)
10
- @credentials = nil
11
- @credential = new_credential
12
- end
13
-
14
- # @return [String, Symbol] The credential to use in Fog
15
- def self.credential
16
- @credential ||= :default
17
- end
18
-
19
- # @return [String] The path for configuration_file
20
- def self.credentials_path
21
- @credential_path ||= File.expand_path(ENV["FOG_RC"] || '~/.fog')
22
- end
23
-
24
- # @return [String] The new path for credentials file
25
- def self.credentials_path=(new_credentials_path)
26
- @credentials = nil
27
- @credential_path = new_credentials_path
28
- end
29
-
30
- # @return [Hash] The credentials pulled from the configuration file
31
- # @raise [LoadError] Configuration unavailable in configuration file
32
- def self.credentials
33
- @credentials ||= begin
34
- if File.exists?(credentials_path)
35
- credentials = YAML.load_file(credentials_path)
36
- (credentials && credentials[credential]) or raise LoadError.new(missing_credentials)
37
- else
38
- {}
39
- end
40
- end
41
- end
42
-
43
- private
44
-
45
- # @return [String] The error message that will be raised, if credentials cannot be found
46
- def self.missing_credentials
47
- <<-YML
48
- Missing Credentials
49
-
50
- To run as '#{credential}', add the following to your resource config file: #{credentials_path}
51
- An alternate file may be used by placing its path in the FOG_RC environment variable
52
-
53
- #######################################################
54
- # Fog Credentials File
55
- #
56
- # Key-value pairs should look like:
57
- # :aws_access_key_id: 022QF06E7MXBSAMPLE
58
- :#{credential}:
59
- :aws_access_key_id:
60
- :aws_secret_access_key:
61
- :bluebox_api_key:
62
- :bluebox_customer_id:
63
- :brightbox_client_id:
64
- :brightbox_secret:
65
- :go_grid_api_key:
66
- :go_grid_shared_secret:
67
- :google_storage_access_key_id:
68
- :google_storage_secret_access_key:
69
- :linode_api_key:
70
- :local_root:
71
- :new_servers_password:
72
- :new_servers_username:
73
- :public_key_path:
74
- :private_key_path:
75
- :rackspace_api_key:
76
- :rackspace_username:
77
- :slicehost_password:
78
- :terremark_username:
79
- :terremark_password:
80
- :voxel_api_key:
81
- :voxel_api_secret:
82
- :zerigo_email:
83
- :zerigo_token:
84
- :dnsimple_email:
85
- :dnsimple_password:
86
- #
87
- # End of Fog Credentials File
88
- #######################################################
89
-
90
- YML
91
- end
92
- end
@@ -1,23 +0,0 @@
1
- module Fog
2
- module Deprecation
3
-
4
- def deprecate(older, newer)
5
- module_eval <<-EOS, __FILE__, __LINE__
6
- def #{older}(*args)
7
- Formatador.display_line("[yellow][WARN] #{self} => ##{older} is deprecated, use ##{newer} instead[/] [light_black](#{caller.first})[/]")
8
- send(:#{newer}, *args)
9
- end
10
- EOS
11
- end
12
-
13
- def self_deprecate(older, newer)
14
- module_eval <<-EOS, __FILE__, __LINE__
15
- def self.#{older}(*args)
16
- Formatador.display_line("[yellow][WARN] #{self} => ##{older} is deprecated, use ##{newer} instead[/] [light_black](#{caller.first})[/]")
17
- send(:#{newer}, *args)
18
- end
19
- EOS
20
- end
21
-
22
- end
23
- end
@@ -1,20 +0,0 @@
1
- module Fog
2
- module Errors
3
-
4
- class Error < StandardError
5
- attr_accessor :verbose
6
-
7
- def self.slurp(error, message = nil)
8
- new_error = new(message)
9
- new_error.set_backtrace(error.backtrace)
10
- new_error.verbose = error.message
11
- new_error
12
- end
13
- end
14
-
15
- class MockNotImplemented < Fog::Errors::Error; end
16
-
17
- class NotFound < Fog::Errors::Error; end
18
-
19
- end
20
- end
@@ -1,48 +0,0 @@
1
- module Fog
2
- class HMAC
3
-
4
- def initialize(type, key)
5
- @key = key
6
- case type
7
- when 'sha1'
8
- setup_sha1
9
- when 'sha256'
10
- setup_sha256
11
- end
12
- end
13
-
14
- def sign(data)
15
- @signer.call(data)
16
- end
17
-
18
- private
19
-
20
- def setup_sha1
21
- @digest = OpenSSL::Digest::Digest.new('sha1')
22
- @signer = lambda do |data|
23
- OpenSSL::HMAC.digest(@digest, @key, data)
24
- end
25
- end
26
-
27
- def setup_sha256
28
- begin
29
- @digest = OpenSSL::Digest::Digest.new('sha256')
30
- @signer = lambda do |data|
31
- OpenSSL::HMAC.digest(@digest, @key, data)
32
- end
33
- rescue RuntimeError => error
34
- unless error.message == 'Unsupported digest algorithm (sha256).'
35
- raise error
36
- else
37
- require 'hmac-sha2'
38
- @hmac = ::HMAC::SHA256.new(@key)
39
- @signer = lambda do |data|
40
- @hmac.update(data)
41
- @hmac.digest
42
- end
43
- end
44
- end
45
- end
46
-
47
- end
48
- end
@@ -1,68 +0,0 @@
1
- module Fog
2
-
3
- @mocking = false
4
-
5
- def self.mock!
6
- @mocking = true
7
- end
8
-
9
- def self.mock?
10
- @mocking
11
- end
12
-
13
- def self.mocking?
14
- @mocking
15
- end
16
-
17
- module Mock
18
-
19
- @delay = 1
20
- def self.delay
21
- @delay
22
- end
23
-
24
- def self.delay=(new_delay)
25
- raise ArgumentError, "delay must be non-negative" unless new_delay >= 0
26
- @delay = new_delay
27
- end
28
-
29
- def self.not_implemented
30
- raise Fog::Errors::MockNotImplemented.new("Contributions welcome!")
31
- end
32
-
33
- def self.random_base64(length)
34
- random_selection(
35
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
36
- length
37
- )
38
- end
39
-
40
- def self.random_hex(length)
41
- max = ('f' * length).to_i(16)
42
- rand(max).to_s(16).rjust(length, '0')
43
- end
44
-
45
- def self.random_letters(length)
46
- random_selection(
47
- 'abcdefghijklmnopqrstuvwxyz',
48
- length
49
- )
50
- end
51
-
52
- def self.random_numbers(length)
53
- max = ('9' * length).to_i
54
- rand(max).to_s
55
- end
56
-
57
- def self.random_selection(characters, length)
58
- selection = ''
59
- length.times do
60
- position = rand(characters.length)
61
- selection << characters[position..position]
62
- end
63
- selection
64
- end
65
-
66
- end
67
-
68
- end
@@ -1,57 +0,0 @@
1
- module Fog
2
- class Model
3
-
4
- extend Fog::Attributes::ClassMethods
5
- include Fog::Attributes::InstanceMethods
6
-
7
- attr_accessor :collection, :connection
8
-
9
- def initialize(new_attributes = {})
10
- merge_attributes(new_attributes)
11
- end
12
-
13
- def inspect
14
- Thread.current[:formatador] ||= Formatador.new
15
- data = "#{Thread.current[:formatador].indentation}<#{self.class.name}"
16
- Thread.current[:formatador].indent do
17
- unless self.class.attributes.empty?
18
- data << "\n#{Thread.current[:formatador].indentation}"
19
- data << self.class.attributes.map {|attribute| "#{attribute}=#{send(attribute).inspect}"}.join(",\n#{Thread.current[:formatador].indentation}")
20
- end
21
- end
22
- data << "\n#{Thread.current[:formatador].indentation}>"
23
- data
24
- end
25
-
26
- def reload
27
- requires :identity
28
- if data = collection.get(identity)
29
- new_attributes = data.attributes
30
- merge_attributes(new_attributes)
31
- self
32
- end
33
- end
34
-
35
- def to_json
36
- require 'json'
37
- attributes.to_json
38
- end
39
-
40
- def wait_for(timeout=600, interval=1, &block)
41
- reload
42
- Fog.wait_for(timeout, interval) do
43
- retries = 3
44
- if reload
45
- retries = 3
46
- elsif retries > 0
47
- retries -= 1
48
- sleep(1)
49
- elsif retries == 0
50
- raise Fog::Errors::Error.new("Reload failed, #{self.class} #{self.identity} went away.")
51
- end
52
- instance_eval(&block)
53
- end
54
- end
55
-
56
- end
57
- end
@@ -1,99 +0,0 @@
1
- require 'nokogiri'
2
-
3
- module Fog
4
- module Parsers
5
- class Base < Nokogiri::XML::SAX::Document
6
-
7
- attr_reader :response
8
-
9
- def initialize
10
- reset
11
- end
12
-
13
- def reset
14
- @response = {}
15
- end
16
-
17
- def characters(string)
18
- @value ||= ''
19
- @value << string.strip
20
- end
21
-
22
- def start_element(name, attrs = [])
23
- @value = nil
24
- end
25
-
26
- def attr_value(name, attrs)
27
- (entry = attrs.detect {|a, v| a == name }) && entry.last
28
- end
29
-
30
- end
31
- end
32
- end
33
-
34
- module Fog
35
- class ToHashDocument < Nokogiri::XML::SAX::Document
36
-
37
- def initialize
38
- @stack = []
39
- end
40
-
41
- def characters(string)
42
- @value ||= ''
43
- @value << string.strip
44
- end
45
-
46
- def end_element(name)
47
- last = @stack.pop
48
- if last.empty? && @value.empty?
49
- @stack.last[name.to_sym] = ''
50
- elsif last == {:i_nil=>"true"}
51
- @stack.last[name.to_sym] = nil
52
- elsif !@value.empty?
53
- @stack.last[name.to_sym] = @value
54
- end
55
- @value = ''
56
- end
57
-
58
- def body
59
- @stack.first
60
- end
61
-
62
- def response
63
- body
64
- end
65
-
66
- def start_element(name, attributes = [])
67
- @value = ''
68
- parsed_attributes = {}
69
- until attributes.empty?
70
- if attributes.first.is_a?(Array)
71
- key, value = attributes.shift
72
- else
73
- key, value = attributes.shift, attributes.shift
74
- end
75
- parsed_attributes[key.gsub(':','_').to_sym] = value
76
- end
77
- if @stack.last.is_a?(Array)
78
- @stack.last << {name.to_sym => parsed_attributes}
79
- else
80
- data = if @stack.empty?
81
- @stack.push(parsed_attributes)
82
- parsed_attributes
83
- elsif @stack.last[name.to_sym]
84
- unless @stack.last[name.to_sym].is_a?(Array)
85
- @stack.last[name.to_sym] = [@stack.last[name.to_sym]]
86
- end
87
- @stack.last[name.to_sym] << parsed_attributes
88
- @stack.last[name.to_sym].last
89
- else
90
- @stack.last[name.to_sym] = {}
91
- @stack.last[name.to_sym].merge!(parsed_attributes)
92
- @stack.last[name.to_sym]
93
- end
94
- @stack.push(data)
95
- end
96
- end
97
-
98
- end
99
- end