fog 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +11 -6
- data/changelog.txt +49 -0
- data/fog.gemspec +5 -4
- data/lib/fog.rb +1 -1
- data/lib/fog/aws/cloud_formation.rb +124 -0
- data/lib/fog/aws/elb.rb +4 -1
- data/lib/fog/aws/iam.rb +6 -0
- data/lib/fog/aws/parsers/cloud_formation/basic.rb +12 -0
- data/lib/fog/aws/parsers/cloud_formation/create_stack.rb +19 -0
- data/lib/fog/aws/parsers/cloud_formation/describe_stack_events.rb +31 -0
- data/lib/fog/aws/parsers/cloud_formation/describe_stack_resources.rb +31 -0
- data/lib/fog/aws/parsers/cloud_formation/describe_stacks.rb +72 -0
- data/lib/fog/aws/parsers/cloud_formation/get_template.rb +19 -0
- data/lib/fog/aws/parsers/cloud_formation/validate_template.rb +52 -0
- data/lib/fog/aws/parsers/iam/login_profile.rb +27 -0
- data/lib/fog/aws/parsers/iam/upload_server_certificate.rb +26 -0
- data/lib/fog/aws/parsers/rds/authorize_db_security_group_ingress.rb +38 -0
- data/lib/fog/aws/parsers/rds/create_db_instance.rb +34 -0
- data/lib/fog/aws/parsers/rds/create_db_instance_read_replica.rb +34 -0
- data/lib/fog/aws/parsers/rds/create_db_parameter_group.rb +35 -0
- data/lib/fog/aws/parsers/rds/create_db_security_group.rb +38 -0
- data/lib/fog/aws/parsers/rds/create_db_snapshot.rb +35 -0
- data/lib/fog/aws/parsers/rds/db_parser.rb +123 -0
- data/lib/fog/aws/parsers/rds/delete_db_instance.rb +35 -0
- data/lib/fog/aws/parsers/rds/delete_db_parameter_group.rb +27 -0
- data/lib/fog/aws/parsers/rds/delete_db_security_group.rb +33 -0
- data/lib/fog/aws/parsers/rds/delete_db_snapshot.rb +34 -0
- data/lib/fog/aws/parsers/rds/describe_db_instances.rb +36 -0
- data/lib/fog/aws/parsers/rds/describe_db_parameter_groups.rb +38 -0
- data/lib/fog/aws/parsers/rds/describe_db_parameters.rb +44 -0
- data/lib/fog/aws/parsers/rds/describe_db_security_groups.rb +39 -0
- data/lib/fog/aws/parsers/rds/describe_db_snapshots.rb +39 -0
- data/lib/fog/aws/parsers/rds/modify_db_instance.rb +34 -0
- data/lib/fog/aws/parsers/rds/modify_db_parameter_group.rb +28 -0
- data/lib/fog/aws/parsers/rds/reboot_db_instance.rb +35 -0
- data/lib/fog/aws/parsers/rds/restore_db_instance_from_db_snapshot.rb +34 -0
- data/lib/fog/aws/parsers/rds/restore_db_instance_to_point_in_time.rb +35 -0
- data/lib/fog/aws/parsers/rds/revoke_db_security_group_ingress.rb +39 -0
- data/lib/fog/aws/parsers/rds/security_group_parser.rb +39 -0
- data/lib/fog/aws/parsers/rds/snapshot_parser.rb +40 -0
- data/lib/fog/aws/rds.rb +161 -0
- data/lib/fog/aws/rds/models/parameter.rb +21 -0
- data/lib/fog/aws/rds/models/parameter_group.rb +36 -0
- data/lib/fog/aws/rds/models/parameter_groups.rb +27 -0
- data/lib/fog/aws/rds/models/parameters.rb +37 -0
- data/lib/fog/aws/rds/models/security_group.rb +73 -0
- data/lib/fog/aws/rds/models/security_groups.rb +43 -0
- data/lib/fog/aws/rds/models/server.rb +105 -0
- data/lib/fog/aws/rds/models/servers.rb +27 -0
- data/lib/fog/aws/rds/models/snapshot.rb +49 -0
- data/lib/fog/aws/rds/models/snapshots.rb +45 -0
- data/lib/fog/aws/requests/cloud_formation/create_stack.rb +71 -0
- data/lib/fog/aws/requests/cloud_formation/delete_stack.rb +30 -0
- data/lib/fog/aws/requests/cloud_formation/describe_stack_events.rb +44 -0
- data/lib/fog/aws/requests/cloud_formation/describe_stack_resources.rb +43 -0
- data/lib/fog/aws/requests/cloud_formation/describe_stacks.rb +42 -0
- data/lib/fog/aws/requests/cloud_formation/get_template.rb +32 -0
- data/lib/fog/aws/requests/cloud_formation/validate_template.rb +34 -0
- data/lib/fog/aws/requests/elb/create_load_balancer.rb +4 -0
- data/lib/fog/aws/requests/iam/create_login_profile.rb +36 -0
- data/lib/fog/aws/requests/iam/delete_login_profile.rb +31 -0
- data/lib/fog/aws/requests/iam/delete_server_certificate.rb +32 -0
- data/lib/fog/aws/requests/iam/get_login_profile.rb +35 -0
- data/lib/fog/aws/requests/iam/update_login_profile.rb +33 -0
- data/lib/fog/aws/requests/iam/upload_server_certificate.rb +45 -0
- data/lib/fog/aws/requests/rds/authorize_db_security_group_ingress.rb +43 -0
- data/lib/fog/aws/requests/rds/create_db_instance.rb +56 -0
- data/lib/fog/aws/requests/rds/create_db_instance_read_replica.rb +42 -0
- data/lib/fog/aws/requests/rds/create_db_parameter_group.rb +41 -0
- data/lib/fog/aws/requests/rds/create_db_security_group.rb +37 -0
- data/lib/fog/aws/requests/rds/create_db_snapshot.rb +36 -0
- data/lib/fog/aws/requests/rds/delete_db_instance.rb +40 -0
- data/lib/fog/aws/requests/rds/delete_db_parameter_group.rb +36 -0
- data/lib/fog/aws/requests/rds/delete_db_security_group.rb +36 -0
- data/lib/fog/aws/requests/rds/delete_db_snapshot.rb +36 -0
- data/lib/fog/aws/requests/rds/describe_db_instances.rb +42 -0
- data/lib/fog/aws/requests/rds/describe_db_parameter_groups.rb +45 -0
- data/lib/fog/aws/requests/rds/describe_db_parameters.rb +46 -0
- data/lib/fog/aws/requests/rds/describe_db_security_groups.rb +39 -0
- data/lib/fog/aws/requests/rds/describe_db_snapshots.rb +42 -0
- data/lib/fog/aws/requests/rds/modify_db_instance.rb +54 -0
- data/lib/fog/aws/requests/rds/modify_db_parameter_group.rb +55 -0
- data/lib/fog/aws/requests/rds/reboot_db_instance.rb +34 -0
- data/lib/fog/aws/requests/rds/restore_db_instance_from_db_snapshot.rb +34 -0
- data/lib/fog/aws/requests/rds/restore_db_instance_to_point_in_time.rb +35 -0
- data/lib/fog/aws/requests/rds/revoke_db_security_group_ingress.rb +44 -0
- data/lib/fog/aws/simpledb.rb +21 -7
- data/lib/fog/bin.rb +2 -1
- data/lib/fog/bin/aws.rb +8 -0
- data/lib/fog/bin/virtual_box.rb +52 -0
- data/lib/fog/cdn/aws.rb +9 -8
- data/lib/fog/cdn/rackspace.rb +6 -6
- data/lib/fog/cdn/requests/rackspace/post_container.rb +30 -0
- data/lib/fog/cdn/requests/rackspace/put_container.rb +1 -1
- data/lib/fog/compute.rb +6 -3
- data/lib/fog/compute/aws.rb +11 -7
- data/lib/fog/compute/bluebox.rb +5 -6
- data/lib/fog/compute/brightbox.rb +3 -0
- data/lib/fog/compute/go_grid.rb +5 -6
- data/lib/fog/compute/linode.rb +5 -6
- data/lib/fog/compute/models/aws/flavors.rb +19 -18
- data/lib/fog/compute/models/aws/server.rb +23 -0
- data/lib/fog/compute/models/aws/tag.rb +1 -1
- data/lib/fog/compute/models/brightbox/server.rb +7 -1
- data/lib/fog/compute/models/virtual_box/medium.rb +87 -0
- data/lib/fog/compute/models/virtual_box/medium_format.rb +34 -0
- data/lib/fog/compute/models/virtual_box/mediums.rb +32 -0
- data/lib/fog/compute/models/virtual_box/nat_engine.rb +65 -0
- data/lib/fog/compute/models/virtual_box/nat_redirect.rb +91 -0
- data/lib/fog/compute/models/virtual_box/nat_redirects.rb +41 -0
- data/lib/fog/compute/models/virtual_box/network_adapter.rb +82 -0
- data/lib/fog/compute/models/virtual_box/network_adapters.rb +42 -0
- data/lib/fog/compute/models/virtual_box/server.rb +241 -0
- data/lib/fog/compute/models/virtual_box/servers.rb +41 -0
- data/lib/fog/compute/models/virtual_box/storage_controller.rb +83 -0
- data/lib/fog/compute/models/virtual_box/storage_controllers.rb +38 -0
- data/lib/fog/compute/models/voxel/servers.rb +7 -6
- data/lib/fog/compute/new_servers.rb +5 -6
- data/lib/fog/compute/parsers/aws/monitor_unmonitor_instances.rb +35 -0
- data/lib/fog/compute/rackspace.rb +7 -7
- data/lib/fog/compute/requests/aws/delete_tags.rb +12 -9
- data/lib/fog/compute/requests/aws/monitor_instances.rb +52 -0
- data/lib/fog/compute/requests/aws/revoke_security_group_ingress.rb +24 -8
- data/lib/fog/compute/requests/aws/unmonitor_instances.rb +53 -0
- data/lib/fog/compute/requests/brightbox/activate_console_server.rb +20 -0
- data/lib/fog/compute/requests/brightbox/add_listeners_load_balancer.rb +20 -0
- data/lib/fog/compute/requests/brightbox/remove_listeners_load_balancer.rb +20 -0
- data/lib/fog/compute/slicehost.rb +5 -6
- data/lib/fog/compute/virtual_box.rb +48 -0
- data/lib/fog/compute/voxel.rb +30 -27
- data/lib/fog/core.rb +1 -0
- data/lib/fog/core/attributes.rb +3 -1
- data/lib/fog/core/collection.rb +2 -2
- data/lib/fog/core/credentials.rb +13 -3
- data/lib/fog/core/scp.rb +0 -4
- data/lib/fog/core/service.rb +0 -8
- data/lib/fog/core/ssh.rb +0 -4
- data/lib/fog/dns.rb +3 -3
- data/lib/fog/dns/aws.rb +8 -8
- data/lib/fog/dns/bluebox.rb +5 -7
- data/lib/fog/dns/dnsimple.rb +7 -7
- data/lib/fog/dns/linode.rb +5 -6
- data/lib/fog/dns/models/dnsimple/record.rb +11 -1
- data/lib/fog/dns/models/dnsimple/records.rb +7 -7
- data/lib/fog/dns/models/dnsimple/zones.rb +2 -1
- data/lib/fog/dns/requests/dnsimple/get_record.rb +34 -0
- data/lib/fog/dns/slicehost.rb +5 -6
- data/lib/fog/dns/zerigo.rb +5 -7
- data/lib/fog/providers.rb +2 -1
- data/lib/fog/providers/aws.rb +10 -8
- data/lib/fog/providers/virtual_box.rb +11 -0
- data/lib/fog/storage.rb +21 -0
- data/lib/fog/storage/aws.rb +16 -32
- data/lib/fog/storage/google.rb +6 -27
- data/lib/fog/storage/local.rb +7 -7
- data/lib/fog/storage/models/rackspace/directory.rb +1 -1
- data/lib/fog/storage/models/rackspace/file.rb +1 -0
- data/lib/fog/storage/rackspace.rb +5 -27
- data/lib/fog/storage/requests/aws/put_object.rb +2 -2
- data/lib/fog/storage/requests/aws/upload_part.rb +1 -1
- data/lib/fog/storage/requests/google/put_object.rb +2 -2
- data/lib/fog/storage/requests/rackspace/put_object.rb +1 -1
- data/tests/aws/requests/cloud_formation/stack_tests.rb +130 -0
- data/tests/aws/requests/iam/login_profile_tests.rb +64 -0
- data/tests/aws/requests/rds/helper.rb +169 -0
- data/tests/aws/requests/rds/instance_tests.rb +129 -0
- data/tests/aws/requests/rds/model_tests.rb +98 -0
- data/tests/aws/requests/rds/parameter_group_tests.rb +68 -0
- data/tests/aws/requests/rds/parameter_request_tests.rb +35 -0
- data/tests/compute/models/aws/server_monitor_tests.rb +47 -0
- data/tests/compute/models/server_tests.rb +7 -23
- data/tests/compute/parsers/aws/monitor_unmonitor_instances_tests.rb +49 -0
- data/tests/compute/requests/aws/security_group_tests.rb +69 -52
- data/tests/compute/requests/aws/tag_tests.rb +5 -5
- data/tests/compute/requests/brightbox/helper.rb +7 -6
- data/tests/compute/requests/brightbox/server_tests.rb +5 -0
- data/tests/compute/requests/voxel/server_tests.rb +2 -3
- data/tests/storage/requests/aws/bucket_tests.rb +10 -0
- metadata +148 -12
@@ -0,0 +1,20 @@
|
|
1
|
+
module Fog
|
2
|
+
module Brightbox
|
3
|
+
class Compute
|
4
|
+
class Real
|
5
|
+
|
6
|
+
def activate_console_server(identifier, options = {})
|
7
|
+
return nil if identifier.nil? || identifier == ""
|
8
|
+
request(
|
9
|
+
:expects => [202],
|
10
|
+
:method => 'POST',
|
11
|
+
:path => "/1.0/servers/#{identifier}/activate_console",
|
12
|
+
:headers => {"Content-Type" => "application/json"},
|
13
|
+
:body => options.to_json
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Fog
|
2
|
+
module Brightbox
|
3
|
+
class Compute
|
4
|
+
class Real
|
5
|
+
|
6
|
+
def add_listeners_load_balancer(identifier, options = {})
|
7
|
+
return nil if identifier.nil? || identifier == ""
|
8
|
+
request(
|
9
|
+
:expects => [202],
|
10
|
+
:method => 'POST',
|
11
|
+
:path => "/1.0/load_balancers/#{identifier}/add_listeners",
|
12
|
+
:headers => {"Content-Type" => "application/json"},
|
13
|
+
:body => options.to_json
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Fog
|
2
|
+
module Brightbox
|
3
|
+
class Compute
|
4
|
+
class Real
|
5
|
+
|
6
|
+
def remove_listeners_load_balancer(identifier, options = {})
|
7
|
+
return nil if identifier.nil? || identifier == ""
|
8
|
+
request(
|
9
|
+
:expects => [202],
|
10
|
+
:method => 'POST',
|
11
|
+
:path => "/1.0/load_balancers/#{identifier}/remove_listeners",
|
12
|
+
:headers => {"Content-Type" => "application/json"},
|
13
|
+
:body => options.to_json
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -34,12 +34,6 @@ module Fog
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
def self.reset_data(keys=data.keys)
|
38
|
-
for key in [*keys]
|
39
|
-
data.delete(key)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
37
|
def initialize(options={})
|
44
38
|
unless options.delete(:provider)
|
45
39
|
location = caller.first
|
@@ -49,6 +43,11 @@ module Fog
|
|
49
43
|
end
|
50
44
|
|
51
45
|
@slicehost_password = options[:slicehost_password]
|
46
|
+
reset_data
|
47
|
+
end
|
48
|
+
|
49
|
+
def reset_data
|
50
|
+
self.class.data.delete(@slicehost_password)
|
52
51
|
@data = self.class.data[@slicehost_password]
|
53
52
|
end
|
54
53
|
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Fog
|
2
|
+
module VirtualBox
|
3
|
+
class Compute < Fog::Service
|
4
|
+
|
5
|
+
recognizes :provider # remove post deprecation
|
6
|
+
|
7
|
+
model_path 'fog/compute/models/virtual_box'
|
8
|
+
model :medium
|
9
|
+
collection :mediums
|
10
|
+
model :medium_format
|
11
|
+
model :nat_engine
|
12
|
+
model :nat_redirect
|
13
|
+
collection :nat_redirects
|
14
|
+
model :network_adapter
|
15
|
+
collection :network_adapters
|
16
|
+
model :server
|
17
|
+
collection :servers
|
18
|
+
model :storage_controller
|
19
|
+
collection :storage_controllers
|
20
|
+
|
21
|
+
class Mock
|
22
|
+
|
23
|
+
def initialize(options={})
|
24
|
+
Fog::Mock.not_implemented
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
class Real
|
30
|
+
|
31
|
+
def initialize(options={})
|
32
|
+
require 'virtualbox'
|
33
|
+
@connection = ::VirtualBox::Global.global.lib.virtualbox
|
34
|
+
end
|
35
|
+
|
36
|
+
# hack to provide 'requests'
|
37
|
+
def method_missing(method_sym, *arguments, &block)
|
38
|
+
if @connection.respond_to?(method_sym)
|
39
|
+
@connection.send(method_sym, *arguments)
|
40
|
+
else
|
41
|
+
super
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
data/lib/fog/compute/voxel.rb
CHANGED
@@ -23,38 +23,41 @@ module Fog
|
|
23
23
|
include Collections
|
24
24
|
|
25
25
|
def self.data
|
26
|
-
@data ||=
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
def self.reset_data(keys=data.keys)
|
50
|
-
for key in [*keys]
|
51
|
-
data.delete(key)
|
26
|
+
@data ||= Hash.new do |hash, key|
|
27
|
+
hash[key] = {
|
28
|
+
:last_modified => { :servers => {}, :statuses => {}, :images => {} },
|
29
|
+
:servers => [],
|
30
|
+
:statuses => {},
|
31
|
+
:images => [
|
32
|
+
{'id' => 1, 'name' => "CentOS 4, 32-bit, base install"},
|
33
|
+
{'id' => 2, 'name' => "CentOS 4, 64-bit, base install"},
|
34
|
+
{'id' => 3, 'name' => "CentOS 5, 32-bit, base install"},
|
35
|
+
{'id' => 4, 'name' => "CentOS 5, 64-bit, base install"},
|
36
|
+
{'id' => 7, 'name' => "Fedora 10, 32-bit, base install"},
|
37
|
+
{'id' => 8, 'name' => "Fedora 10, 64-bit, base install"},
|
38
|
+
{'id' => 10, 'name' => "OpenSUSE 11, 64-bit, base install"},
|
39
|
+
{'id' => 11, 'name' => "Debian 5.0 \"lenny\", 32-bit, base install"},
|
40
|
+
{'id' => 12, 'name' => "Debian 5.0 \"lenny\", 64-bit, base install"},
|
41
|
+
{'id' => 13, 'name' => "Ubuntu 8.04 \"Hardy\", 32-bit, base install"},
|
42
|
+
{'id' => 14, 'name' => "Ubuntu 8.04 \"Hardy\", 64-bit, base install"},
|
43
|
+
{'id' => 15, 'name' => "Voxel Server Environment (VSE), 32-bit, base install"},
|
44
|
+
{'id' => 16, 'name' => "Voxel Server Environment (VSE), 64-bit, base install"},
|
45
|
+
{'id' => 32, 'name' => "Pantheon Official Mercury Stack for Drupal (based on VSE/64)"},
|
46
|
+
{'id' => 55, 'name' => "Ubuntu 10.04 \"Lucid\", 64-bit, base install"} ]
|
47
|
+
}
|
52
48
|
end
|
53
49
|
end
|
54
50
|
|
55
51
|
def initialize(options={})
|
56
|
-
@
|
52
|
+
@voxel_api_key = options[:voxel_api_key]
|
53
|
+
reset_data
|
57
54
|
end
|
55
|
+
|
56
|
+
def reset_data
|
57
|
+
self.class.data.delete(@voxel_api_key)
|
58
|
+
@data = self.class.data[@voxel_api_key]
|
59
|
+
end
|
60
|
+
|
58
61
|
end
|
59
62
|
|
60
63
|
class Real
|
data/lib/fog/core.rb
CHANGED
data/lib/fog/core/attributes.rb
CHANGED
@@ -152,7 +152,9 @@ module Fog
|
|
152
152
|
def requires(*args)
|
153
153
|
missing = []
|
154
154
|
for arg in [:connection] | args
|
155
|
-
|
155
|
+
unless send("#{arg}") || attributes.has_key?(arg)
|
156
|
+
missing << arg
|
157
|
+
end
|
156
158
|
end
|
157
159
|
unless missing.empty?
|
158
160
|
if missing.length == 1
|
data/lib/fog/core/collection.rb
CHANGED
@@ -5,7 +5,7 @@ module Fog
|
|
5
5
|
include Fog::Attributes::InstanceMethods
|
6
6
|
|
7
7
|
Array.public_instance_methods(false).each do |method|
|
8
|
-
unless [:reject, :select].include?(method.to_sym)
|
8
|
+
unless [:reject, :select, :slice].include?(method.to_sym)
|
9
9
|
class_eval <<-RUBY
|
10
10
|
def #{method}(*args)
|
11
11
|
unless @loaded
|
@@ -17,7 +17,7 @@ module Fog
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
%w[reject select].each do |method|
|
20
|
+
%w[reject select slice].each do |method|
|
21
21
|
class_eval <<-RUBY
|
22
22
|
def #{method}(*args)
|
23
23
|
unless @loaded
|
data/lib/fog/core/credentials.rb
CHANGED
@@ -18,7 +18,7 @@ module Fog
|
|
18
18
|
|
19
19
|
# @return [String] The path for configuration_file
|
20
20
|
def self.credentials_path
|
21
|
-
@credential_path ||= File.expand_path(ENV["FOG_RC"] || '~/.fog')
|
21
|
+
@credential_path ||= File.expand_path(ENV["FOG_RC"] || (ENV['HOME'] && '~/.fog'))
|
22
22
|
end
|
23
23
|
|
24
24
|
# @return [String] The new path for credentials file
|
@@ -31,14 +31,24 @@ module Fog
|
|
31
31
|
# @raise [LoadError] Configuration unavailable in configuration file
|
32
32
|
def self.credentials
|
33
33
|
@credentials ||= begin
|
34
|
-
if File.exists?(credentials_path)
|
35
|
-
credentials = YAML.load_file(credentials_path)
|
34
|
+
if credentials_path && File.exists?(credentials_path)
|
35
|
+
credentials = self.symbolize_credentials(YAML.load_file(credentials_path))
|
36
36
|
(credentials && credentials[credential]) or raise LoadError.new(missing_credentials)
|
37
37
|
else
|
38
38
|
{}
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
42
|
+
|
43
|
+
def self.symbolize_credentials(args)
|
44
|
+
if args.is_a? Hash
|
45
|
+
Hash[ args.collect do |key, value|
|
46
|
+
[key.to_sym, self.symbolize_credentials(value)]
|
47
|
+
end ]
|
48
|
+
else
|
49
|
+
args
|
50
|
+
end
|
51
|
+
end
|
42
52
|
|
43
53
|
private
|
44
54
|
|
data/lib/fog/core/scp.rb
CHANGED
data/lib/fog/core/service.rb
CHANGED
@@ -146,14 +146,6 @@ module Fog
|
|
146
146
|
@recognized ||= []
|
147
147
|
end
|
148
148
|
|
149
|
-
def reset_data(keys=Mock.data.keys)
|
150
|
-
Mock.reset_data(keys)
|
151
|
-
end
|
152
|
-
|
153
|
-
def reset_data(keys=Mock.data.keys)
|
154
|
-
Mock.reset_data(keys)
|
155
|
-
end
|
156
|
-
|
157
149
|
def validate_options(options)
|
158
150
|
missing = requirements - options.keys
|
159
151
|
unless missing.empty?
|
data/lib/fog/core/ssh.rb
CHANGED
data/lib/fog/dns.rb
CHANGED
@@ -10,6 +10,9 @@ module Fog
|
|
10
10
|
when 'Bluebox'
|
11
11
|
require 'fog/dns/bluebox'
|
12
12
|
Fog::Bluebox::DNS.new(attributes)
|
13
|
+
when 'DNSimple'
|
14
|
+
require 'fog/dns/dnsimple'
|
15
|
+
Fog::DNSimple::DNS.new(attributes)
|
13
16
|
when 'Linode'
|
14
17
|
require 'fog/dns/linode'
|
15
18
|
Fog::Linode::DNS.new(attributes)
|
@@ -19,9 +22,6 @@ module Fog
|
|
19
22
|
when 'Zerigo'
|
20
23
|
require 'fog/dns/zerigo'
|
21
24
|
Fog::Zerigo::DNS.new(attributes)
|
22
|
-
when 'DNSimple'
|
23
|
-
require 'fog/dns/dnsimple'
|
24
|
-
Fog::DNSimple::DNS.new(attributes)
|
25
25
|
else
|
26
26
|
raise ArgumentError.new("#{provider} is not a recognized dns provider")
|
27
27
|
end
|
data/lib/fog/dns/aws.rb
CHANGED
@@ -33,12 +33,6 @@ module Fog
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
-
def self.reset_data(keys=data.keys)
|
37
|
-
for key in [*keys]
|
38
|
-
data.delete(key)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
36
|
def initialize(options={})
|
43
37
|
unless options.delete(:provider)
|
44
38
|
location = caller.first
|
@@ -48,8 +42,14 @@ module Fog
|
|
48
42
|
end
|
49
43
|
|
50
44
|
require 'mime/types'
|
51
|
-
@aws_access_key_id
|
52
|
-
@
|
45
|
+
@aws_access_key_id = options[:aws_access_key_id]
|
46
|
+
@region = options[:region]
|
47
|
+
reset_data
|
48
|
+
end
|
49
|
+
|
50
|
+
def reset_data
|
51
|
+
self.class.data[@region].delete(@aws_access_key_id)
|
52
|
+
@data = self.class.data[@region][@aws_access_key_id]
|
53
53
|
end
|
54
54
|
|
55
55
|
def signature(params)
|
data/lib/fog/dns/bluebox.rb
CHANGED
@@ -30,12 +30,6 @@ module Fog
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
def self.reset_data(keys=data.keys)
|
34
|
-
for key in [*keys]
|
35
|
-
data.delete(key)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
33
|
def initialize(options={})
|
40
34
|
unless options.delete(:provider)
|
41
35
|
location = caller.first
|
@@ -46,8 +40,12 @@ module Fog
|
|
46
40
|
|
47
41
|
@bluebox_customer_id = options[:bluebox_customer_id]
|
48
42
|
@bluebox_api_key = options[:bluebox_api_key]
|
43
|
+
reset_data
|
44
|
+
end
|
45
|
+
|
46
|
+
def reset_data
|
47
|
+
self.class.data.delete(@bluebox_customer_id)
|
49
48
|
@data = self.class.data[@bluebox_customer_id]
|
50
|
-
@data = self.class.data[@bluebox_api_key]
|
51
49
|
end
|
52
50
|
end
|
53
51
|
|
data/lib/fog/dns/dnsimple.rb
CHANGED
@@ -21,6 +21,7 @@ module Fog
|
|
21
21
|
request :list_records
|
22
22
|
request :update_record
|
23
23
|
request :delete_record
|
24
|
+
request :get_record
|
24
25
|
|
25
26
|
class Mock
|
26
27
|
|
@@ -30,12 +31,6 @@ module Fog
|
|
30
31
|
end
|
31
32
|
end
|
32
33
|
|
33
|
-
def self.reset_data(keys=data.keys)
|
34
|
-
for key in [*keys]
|
35
|
-
data.delete(key)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
34
|
def initialize(options={})
|
40
35
|
unless options.delete(:provider)
|
41
36
|
location = caller.first
|
@@ -47,8 +42,13 @@ module Fog
|
|
47
42
|
@dnsimple_email = options[:dnsimple_email]
|
48
43
|
@dnsimple_password = options[:dnsimple_password]
|
49
44
|
@data = self.class.data[@dnsimple_email]
|
50
|
-
@data = self.class.data[@dnsimple_password]
|
51
45
|
end
|
46
|
+
|
47
|
+
def reset_data
|
48
|
+
self.class.data.delete(@dnsimple_email)
|
49
|
+
@data = self.class.data[@dnsimple_email]
|
50
|
+
end
|
51
|
+
|
52
52
|
end
|
53
53
|
|
54
54
|
class Real
|
data/lib/fog/dns/linode.rb
CHANGED
@@ -30,12 +30,6 @@ module Fog
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
def self.reset_data(keys=data.keys)
|
34
|
-
for key in [*keys]
|
35
|
-
data.delete(key)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
33
|
def initialize(options={})
|
40
34
|
unless options.delete(:provider)
|
41
35
|
location = caller.first
|
@@ -45,6 +39,11 @@ module Fog
|
|
45
39
|
end
|
46
40
|
|
47
41
|
@linode_api_key = options[:linode_api_key]
|
42
|
+
reset_data
|
43
|
+
end
|
44
|
+
|
45
|
+
def reset_data
|
46
|
+
self.class.data.delete(@linode_api_key)
|
48
47
|
@data = self.class.data[@linode_api_key]
|
49
48
|
end
|
50
49
|
|