fog-softlayer 0.0.5 → 0.0.7
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 +8 -8
- data/.travis.yml +37 -0
- data/CONTRIBUTING.md +30 -0
- data/README.md +8 -5
- data/docs/cla-corporate.md +133 -0
- data/docs/cla-individual.md +84 -0
- data/docs/fog-softlayer-CCLA.pdf +0 -0
- data/docs/fog-softlayer-CLA.pdf +0 -0
- data/examples/storage.md +107 -0
- data/fog-softlayer.gemspec +1 -0
- data/gemfiles/Gemfile-edge +14 -0
- data/gemfiles/Gemfile-ruby-1.8.7 +14 -0
- data/lib/fog/softlayer.rb +1 -0
- data/lib/fog/softlayer/compute.rb +1 -1
- data/lib/fog/softlayer/compute/shared.rb +1 -1
- data/lib/fog/softlayer/core.rb +17 -1
- data/lib/fog/softlayer/models/storage/directories.rb +40 -0
- data/lib/fog/softlayer/models/storage/directory.rb +50 -0
- data/lib/fog/softlayer/models/storage/file.rb +166 -0
- data/lib/fog/softlayer/models/storage/files.rb +99 -0
- data/lib/fog/softlayer/requests/storage/copy_object.rb +42 -0
- data/lib/fog/softlayer/requests/storage/delete_container.rb +38 -0
- data/lib/fog/softlayer/requests/storage/delete_multiple_objects.rb +67 -0
- data/lib/fog/softlayer/requests/storage/delete_object.rb +40 -0
- data/lib/fog/softlayer/requests/storage/delete_static_large_object.rb +43 -0
- data/lib/fog/softlayer/requests/storage/get_container.rb +68 -0
- data/lib/fog/softlayer/requests/storage/get_containers.rb +51 -0
- data/lib/fog/softlayer/requests/storage/get_object.rb +45 -0
- data/lib/fog/softlayer/requests/storage/get_object_https_url.rb +88 -0
- data/lib/fog/softlayer/requests/storage/head_container.rb +28 -0
- data/lib/fog/softlayer/requests/storage/head_containers.rb +25 -0
- data/lib/fog/softlayer/requests/storage/head_object.rb +23 -0
- data/lib/fog/softlayer/requests/storage/post_set_meta_temp_url_key.rb +37 -0
- data/lib/fog/softlayer/requests/storage/put_container.rb +32 -0
- data/lib/fog/softlayer/requests/storage/put_dynamic_obj_manifest.rb +43 -0
- data/lib/fog/softlayer/requests/storage/put_object.rb +61 -0
- data/lib/fog/softlayer/requests/storage/put_object_manifest.rb +16 -0
- data/lib/fog/softlayer/requests/storage/put_static_obj_manifest.rb +57 -0
- data/lib/fog/softlayer/storage.rb +283 -0
- data/lib/fog/softlayer/version.rb +1 -1
- data/tests/helper.rb +0 -29
- data/tests/helpers/mock_helper.rb +4 -98
- data/tests/softlayer/models/storage/directory_tests.rb +49 -0
- data/tests/softlayer/models/storage/file_tests.rb +56 -0
- data/tests/softlayer/requests/storage/auth_tests.rb +17 -0
- data/tests/softlayer/requests/storage/container_tests.rb +52 -0
- data/tests/softlayer/requests/storage/object_tests.rb +68 -0
- metadata +53 -2
data/tests/helper.rb
CHANGED
@@ -37,32 +37,3 @@ end
|
|
37
37
|
def array_differences(array_a, array_b)
|
38
38
|
(array_a - array_b) | (array_b - array_a)
|
39
39
|
end
|
40
|
-
|
41
|
-
# check to see which credentials are available and add others to the skipped tags list
|
42
|
-
all_providers = Fog.registered_providers.map {|provider| provider.downcase}
|
43
|
-
|
44
|
-
# Manually remove these providers since they are local applications, not lacking credentials
|
45
|
-
all_providers = all_providers - ["libvirt", "vmfusion", "openvz"]
|
46
|
-
|
47
|
-
available_providers = Fog.available_providers.map {|provider| provider.downcase}
|
48
|
-
|
49
|
-
unavailable_providers = all_providers - available_providers
|
50
|
-
|
51
|
-
if !ENV['PROVIDER'].nil? && unavailable_providers.include?(ENV['PROVIDER'])
|
52
|
-
Formatador.display_line("[red]Requested provider #{ENV['PROVIDER']} is not available.[/]" +
|
53
|
-
"[red]Check if .fog file has correct configuration (see '#{Fog.credentials_path}')[/]")
|
54
|
-
exit(0)
|
55
|
-
end
|
56
|
-
|
57
|
-
for provider in unavailable_providers
|
58
|
-
Formatador.display_line("[yellow]Skipping tests for [bold]#{provider}[/] [yellow]due to lacking credentials (add some to '#{Fog.credentials_path}' to run them)[/]")
|
59
|
-
Thread.current[:tags] << ('-' << provider)
|
60
|
-
end
|
61
|
-
|
62
|
-
# mark libvirt tests pending if not setup
|
63
|
-
begin
|
64
|
-
require('libvirt')
|
65
|
-
rescue LoadError
|
66
|
-
Formatador.display_line("[yellow]Skipping tests for [bold]libvirt[/] [yellow]due to missing `ruby-libvirt` gem.[/]")
|
67
|
-
Thread.current[:tags] << '-libvirt'
|
68
|
-
end
|
@@ -9,103 +9,9 @@ end
|
|
9
9
|
# if in mocked mode, fill in some fake credentials for us
|
10
10
|
if Fog.mock?
|
11
11
|
Fog.credentials = {
|
12
|
-
:
|
13
|
-
:
|
14
|
-
:
|
15
|
-
:
|
16
|
-
:atmos_storage_token => 'atmos_token',
|
17
|
-
:atmos_storage_secret => 'atmos_secret',
|
18
|
-
:atmos_storage_endpoint => 'http://atmos.is.cool:1000/test1.0',
|
19
|
-
:bluebox_api_key => 'bluebox_api_key',
|
20
|
-
:bluebox_customer_id => 'bluebox_customer_id',
|
21
|
-
:brightbox_client_id => 'brightbox_client_id',
|
22
|
-
:brightbox_secret => 'brightbox_secret',
|
23
|
-
:cloudstack_disk_offering_id => '',
|
24
|
-
:cloudstack_host => 'http://cloudstack.example.org',
|
25
|
-
:cloudstack_network_ids => '',
|
26
|
-
:cloudstack_service_offering_id => '4437ac6c-9fe3-477a-57ec-60a5a45896a4',
|
27
|
-
:cloudstack_template_id => '8a31cf9c-f248-0588-256e-9dbf58785216',
|
28
|
-
:cloudstack_zone_id => 'c554c592-e09c-9df5-7688-4a32754a4305',
|
29
|
-
:clodo_api_key => 'clodo_api_key',
|
30
|
-
:clodo_username => 'clodo_username',
|
31
|
-
:digitalocean_api_key => 'digitalocean_api_key',
|
32
|
-
:digitalocean_client_id => 'digitalocean_client_id',
|
33
|
-
:dnsimple_email => 'dnsimple_email',
|
34
|
-
:dnsimple_password => 'dnsimple_password',
|
35
|
-
:dnsmadeeasy_api_key => 'dnsmadeeasy_api_key',
|
36
|
-
:dnsmadeeasy_secret_key => 'dnsmadeeasy_secret_key',
|
37
|
-
:ecloud_username => 'ecloud_username',
|
38
|
-
:ecloud_password => 'ecloud_password',
|
39
|
-
:ecloud_versions_uri => 'http://ecloud.versions.uri',
|
40
|
-
:glesys_username => 'glesys_username',
|
41
|
-
:glesys_api_key => 'glesys_api_key',
|
42
|
-
:go_grid_api_key => 'go_grid_api_key',
|
43
|
-
:go_grid_shared_secret => 'go_grid_shared_secret',
|
44
|
-
:google_storage_access_key_id => 'google_storage_access_key_id',
|
45
|
-
:google_storage_secret_access_key => 'google_storage_secret_access_key',
|
46
|
-
:google_project => 'google_project_name',
|
47
|
-
:google_client_email => 'fake@developer.gserviceaccount.com',
|
48
|
-
:google_key_location => '~/fake.p12',
|
49
|
-
:hp_access_key => 'hp_access_key',
|
50
|
-
:hp_secret_key => 'hp_secret_key',
|
51
|
-
:hp_tenant_id => 'hp_tenant_id',
|
52
|
-
:hp_avl_zone => 'hp_avl_zone',
|
53
|
-
:os_account_meta_temp_url_key => 'os_account_meta_temp_url_key',
|
54
|
-
:ibm_username => 'ibm_username',
|
55
|
-
:ibm_password => 'ibm_password',
|
56
|
-
:joyent_username => "joyentuser",
|
57
|
-
:joyent_password => "joyentpass",
|
58
|
-
:linode_api_key => 'linode_api_key',
|
59
|
-
:local_root => '~/.fog',
|
60
|
-
:bare_metal_cloud_password => 'bare_metal_cloud_password',
|
61
|
-
:bare_metal_cloud_username => 'bare_metal_cloud_username',
|
62
|
-
:ninefold_compute_key => 'ninefold_compute_key',
|
63
|
-
:ninefold_compute_secret => 'ninefold_compute_secret',
|
64
|
-
:ninefold_storage_secret => 'ninefold_storage_secret',
|
65
|
-
:ninefold_storage_token => 'ninefold_storage_token',
|
66
|
-
# :public_key_path => '~/.ssh/id_rsa.pub',
|
67
|
-
# :private_key_path => '~/.ssh/id_rsa',
|
68
|
-
:openstack_api_key => 'openstack_api_key',
|
69
|
-
:openstack_username => 'openstack_username',
|
70
|
-
:openstack_tenant => 'openstack_tenant',
|
71
|
-
:openstack_auth_url => 'http://openstack:35357/v2.0/tokens',
|
72
|
-
:ovirt_url => 'http://ovirt:8080/api',
|
73
|
-
:ovirt_username => 'admin@internal',
|
74
|
-
:ovirt_password => '123123',
|
75
|
-
:libvirt_uri => 'qemu://libvirt/system',
|
76
|
-
:rackspace_api_key => 'rackspace_api_key',
|
77
|
-
:rackspace_username => 'rackspace_username',
|
78
|
-
:riakcs_access_key_id => 'riakcs_access_key_id',
|
79
|
-
:riakcs_secret_access_key => 'riakcs_secret_access_key',
|
80
|
-
:sakuracloud_api_token => 'sakuracloud_api_token',
|
81
|
-
:sakuracloud_api_token_secret => 'sakuracloud_api_token_secret',
|
82
|
-
:storm_on_demand_username => 'storm_on_demand_username',
|
83
|
-
:storm_on_demand_password => 'storm_on_demand_password',
|
84
|
-
:vcloud_host => 'vcloud_host',
|
85
|
-
:vcloud_password => 'vcloud_password',
|
86
|
-
:vcloud_username => 'vcloud_username',
|
87
|
-
:vcloud_director_host => 'vcloud-director-host',
|
88
|
-
:vcloud_director_password => 'vcloud_director_password',
|
89
|
-
:vcloud_director_username => 'vcd_user@vcd_org_name',
|
90
|
-
:voxel_api_key => 'voxel_api_key',
|
91
|
-
:voxel_api_secret => 'voxel_api_secret',
|
92
|
-
:zerigo_email => 'zerigo_email',
|
93
|
-
:zerigo_token => 'zerigo_token',
|
94
|
-
:dynect_customer => 'dynect_customer',
|
95
|
-
:dynect_username => 'dynect_username',
|
96
|
-
:dynect_password => 'dynect_password',
|
97
|
-
:vsphere_server => 'virtualcenter.lan',
|
98
|
-
:vsphere_username => 'apiuser',
|
99
|
-
:vsphere_password => 'apipassword',
|
100
|
-
:vsphere_expected_pubkey_hash => 'abcdef1234567890',
|
101
|
-
:libvirt_uri => 'qemu:///system',
|
102
|
-
:libvirt_username => 'root',
|
103
|
-
:libvirt_password => 'password',
|
104
|
-
:cloudsigma_username => 'csuname',
|
105
|
-
:cloudsigma_password => 'cspass',
|
106
|
-
:docker_username => 'docker-fan',
|
107
|
-
:docker_password => 'i<3docker',
|
108
|
-
:docker_email => 'dockerfan@gmail.com',
|
109
|
-
:docker_url => 'unix://var/run/docker.sock'
|
12
|
+
:softlayer_username => 'sl-username',
|
13
|
+
:softlayer_api_key => 'abcdefghijklmnopqrstuvwxyz',
|
14
|
+
:softlayer_default_domain => 'example.com',
|
15
|
+
:softlayer_cluster => 'dal05'
|
110
16
|
}.merge(Fog.credentials)
|
111
17
|
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Matt Eldridge (<matt.eldridge@us.ibm.com>)
|
3
|
+
# © Copyright IBM Corporation 2014.
|
4
|
+
#
|
5
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
6
|
+
#
|
7
|
+
|
8
|
+
Shindo.tests("Fog::Storage[:softlayer] | Directory model", ["softlayer"]) do
|
9
|
+
pending unless Fog.mocking?
|
10
|
+
|
11
|
+
tests("success") do
|
12
|
+
|
13
|
+
@test_dir1 = 'test-dir-1'
|
14
|
+
@test_dir2 = 'test-dir-2'
|
15
|
+
@storage = Fog::Storage[:softlayer]
|
16
|
+
|
17
|
+
tests("#create") do
|
18
|
+
data_matches_schema(Fog::Storage::Softlayer::Directory) { @storage.directories.create(:key => @test_dir1) }
|
19
|
+
end
|
20
|
+
|
21
|
+
tests("#get") do
|
22
|
+
data_matches_schema(Fog::Storage::Softlayer::Directory) { @storage.directories.get(@test_dir1) }
|
23
|
+
end
|
24
|
+
|
25
|
+
tests("#all") do
|
26
|
+
@storage.directories.create(:key => @test_dir2)
|
27
|
+
schema = [
|
28
|
+
Fog::Storage::Softlayer::Directory,
|
29
|
+
Fog::Storage::Softlayer::Directory
|
30
|
+
]
|
31
|
+
data_matches_schema(schema) { @storage.directories.all }
|
32
|
+
end
|
33
|
+
|
34
|
+
tests("#destroy") do
|
35
|
+
data_matches_schema(true) { @storage.directories.get(@test_dir1).destroy }
|
36
|
+
data_matches_schema([Fog::Storage::Softlayer::Directory]) { @storage.directories.all }
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
tests ("failure") do
|
43
|
+
|
44
|
+
tests("#create").raises(ArgumentError) do
|
45
|
+
@storage.directories.create
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Matt Eldridge (<matt.eldridge@us.ibm.com>)
|
3
|
+
# © Copyright IBM Corporation 2014.
|
4
|
+
#
|
5
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
6
|
+
#
|
7
|
+
|
8
|
+
Shindo.tests("Fog::Storage[:softlayer] | File model", ["softlayer"]) do
|
9
|
+
pending unless Fog.mocking?
|
10
|
+
|
11
|
+
tests("success") do
|
12
|
+
|
13
|
+
@storage = Fog::Storage[:softlayer]
|
14
|
+
@test_dir1 = @storage.directories.create(:key => 'test-container-1')
|
15
|
+
@test_dir2 = @storage.directories.create(:key => 'test-container-2')
|
16
|
+
@test_file1 = 'test-object-1'
|
17
|
+
@test_file2 = 'test-object-2'
|
18
|
+
@test_file3 = 'test-object-3'
|
19
|
+
|
20
|
+
tests("#create") do
|
21
|
+
data_matches_schema(Fog::Storage::Softlayer::File) { @test_dir1.files.create(:key => @test_file1) }
|
22
|
+
data_matches_schema(Fog::Storage::Softlayer::File) { @test_dir1.files.create(:key => @test_file2) }
|
23
|
+
end
|
24
|
+
|
25
|
+
tests("#all") do
|
26
|
+
schema = [
|
27
|
+
Fog::Storage::Softlayer::File,
|
28
|
+
Fog::Storage::Softlayer::File
|
29
|
+
]
|
30
|
+
data_matches_schema(schema) { @test_dir1.files.all }
|
31
|
+
end
|
32
|
+
|
33
|
+
tests("#get") do
|
34
|
+
data_matches_schema(Fog::Storage::Softlayer::File) { @test_dir1.files.get(@test_file1) }
|
35
|
+
end
|
36
|
+
|
37
|
+
tests("#copy") do
|
38
|
+
data_matches_schema(Fog::Storage::Softlayer::File) { @test_dir1.files.get(@test_file1).copy(@test_dir2, @test_file1)}
|
39
|
+
data_matches_schema(Fog::Storage::Softlayer::File) { @test_dir2.files.get(@test_file1) }
|
40
|
+
end
|
41
|
+
|
42
|
+
tests("#destroy") do
|
43
|
+
data_matches_schema(true) { @test_dir1.files.get(@test_file1).destroy }
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
tests ("failure") do
|
50
|
+
|
51
|
+
tests("#create").raises(ArgumentError) do
|
52
|
+
@test_dir1.files.create
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Matt Eldridge (<matt.eldridge@us.ibm.com>)
|
3
|
+
# © Copyright IBM Corporation 2014.
|
4
|
+
#
|
5
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
6
|
+
#
|
7
|
+
|
8
|
+
Shindo.tests("Fog::Storage[:softlayer] | auth_tests", ["softlayer"]) do
|
9
|
+
|
10
|
+
tests('success') do
|
11
|
+
pending if Fog.mocking?
|
12
|
+
end
|
13
|
+
|
14
|
+
tests('failure') do
|
15
|
+
pending if Fog.mocking?
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Matt Eldridge (<matt.eldridge@us.ibm.com>)
|
3
|
+
# © Copyright IBM Corporation 2014.
|
4
|
+
#
|
5
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
6
|
+
#
|
7
|
+
|
8
|
+
Shindo.tests("Fog::Storage[:softlayer] | container_tests", ["softlayer"]) do
|
9
|
+
|
10
|
+
@storage = Fog::Storage[:softlayer]
|
11
|
+
@container = 'example-testing'
|
12
|
+
|
13
|
+
|
14
|
+
tests('success') do
|
15
|
+
# should be an empty array
|
16
|
+
tests("#get_containers") do
|
17
|
+
data_matches_schema(Array) { @storage.get_containers.body}
|
18
|
+
end
|
19
|
+
|
20
|
+
# should get an empty body w/ 201 status
|
21
|
+
tests("#put_container(#{@container})") do
|
22
|
+
response = @storage.put_container(@container)
|
23
|
+
data_matches_schema(201) { response.status }
|
24
|
+
data_matches_schema('') { response.body }
|
25
|
+
end
|
26
|
+
|
27
|
+
tests("#get_container(#{@container})") do
|
28
|
+
response = @storage.get_container(@container)
|
29
|
+
data_matches_schema(200) { response.status }
|
30
|
+
data_matches_schema(Array) { response.body }
|
31
|
+
end
|
32
|
+
|
33
|
+
tests("#delete_container") do
|
34
|
+
response = @storage.delete_container(@container)
|
35
|
+
data_matches_schema(204) { response.status}
|
36
|
+
data_matches_schema('') { response.body }
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
tests('failure') do
|
42
|
+
tests("#get_container('swing-and-a-miss')") do
|
43
|
+
data_matches_schema(404) { @storage.get_container('foo-bar-baz-bang').status }
|
44
|
+
end
|
45
|
+
|
46
|
+
tests("#delete_container") do
|
47
|
+
response = @storage.delete_container('sdfgsdgsdfgsdfg')
|
48
|
+
data_matches_schema(404) { response.status }
|
49
|
+
data_matches_schema('<html><h1>Not Found</h1><p>The resource could not be found.</p></html>') { response.body }
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Matt Eldridge (<matt.eldridge@us.ibm.com>)
|
3
|
+
# © Copyright IBM Corporation 2014.
|
4
|
+
#
|
5
|
+
# LICENSE: MIT (http://opensource.org/licenses/MIT)
|
6
|
+
#
|
7
|
+
|
8
|
+
Shindo.tests("Fog::Storage[:softlayer] | container_tests", ["softlayer"]) do
|
9
|
+
|
10
|
+
@storage = Fog::Storage[:softlayer]
|
11
|
+
@container = 'example-testing'
|
12
|
+
@object1 = 'test-object'
|
13
|
+
@object2 = 'test-object-2'
|
14
|
+
@object3 = 'test-object-3'
|
15
|
+
@storage.put_container(@container)
|
16
|
+
|
17
|
+
tests('success') do
|
18
|
+
|
19
|
+
tests("#put_object") do
|
20
|
+
response = @storage.put_object(@container, @object1, 'The quick brown fox jumps over the lazy dog.')
|
21
|
+
data_matches_schema(201) { response.status }
|
22
|
+
data_matches_schema('') { response.body }
|
23
|
+
@storage.put_object(@container, @object2, 'The quick brown fox jumps over the lazy dog, again.')
|
24
|
+
data_matches_schema(201) { response.status }
|
25
|
+
data_matches_schema('') { response.body }
|
26
|
+
end
|
27
|
+
|
28
|
+
tests("#get_object") do
|
29
|
+
response = @storage.get_object(@container, @object2)
|
30
|
+
data_matches_schema(200) { response.status }
|
31
|
+
data_matches_schema('The quick brown fox jumps over the lazy dog, again.') { response.body }
|
32
|
+
end
|
33
|
+
|
34
|
+
tests("#copy_object") do
|
35
|
+
@storage.copy_object(@container, @object2, @container, @object3)
|
36
|
+
response = @storage.get_object(@container, @object3)
|
37
|
+
data_matches_schema(200) { response.status }
|
38
|
+
end
|
39
|
+
|
40
|
+
tests("#get_object_https_url") do
|
41
|
+
url = @storage.get_object_https_url(@container, @object1, Time.now + 300)
|
42
|
+
data_matches_schema(String) { url }
|
43
|
+
end
|
44
|
+
|
45
|
+
tests("#delete_object") do
|
46
|
+
response = @storage.delete_object(@container, @object2)
|
47
|
+
data_matches_schema(204) { response.status}
|
48
|
+
data_matches_schema('') { response.body }
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
tests('failure') do
|
54
|
+
tests("#get_object('non-existent-container', 'non-existent-object')") do
|
55
|
+
data_matches_schema(404) { @storage.get_container('non-existent-container', 'non-existent-object').status }
|
56
|
+
end
|
57
|
+
|
58
|
+
tests("#get_object(#{@container}, 'non-existent-object')") do
|
59
|
+
data_matches_schema(404) { @storage.get_container('non-existent-container', 'non-existent-object').status }
|
60
|
+
end
|
61
|
+
|
62
|
+
tests('#delete_object') do
|
63
|
+
response = @storage.delete_object(@container, 'foobarbangbaz')
|
64
|
+
data_matches_schema(404) { response.status }
|
65
|
+
data_matches_schema('<html><h1>Not Found</h1><p>The resource could not be found.</p></html>') { response.body }
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog-softlayer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Eldridge
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fog
|
@@ -206,6 +206,20 @@ dependencies:
|
|
206
206
|
- - ! '>='
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: pry-debugger
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ! '>='
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :development
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ! '>='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
209
223
|
- !ruby/object:Gem::Dependency
|
210
224
|
name: google-api-client
|
211
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -234,12 +248,21 @@ extensions: []
|
|
234
248
|
extra_rdoc_files: []
|
235
249
|
files:
|
236
250
|
- .gitignore
|
251
|
+
- .travis.yml
|
237
252
|
- CHANGELOG.md
|
253
|
+
- CONTRIBUTING.md
|
238
254
|
- Gemfile
|
239
255
|
- LICENSE.txt
|
240
256
|
- README.md
|
241
257
|
- Rakefile
|
258
|
+
- docs/cla-corporate.md
|
259
|
+
- docs/cla-individual.md
|
260
|
+
- docs/fog-softlayer-CCLA.pdf
|
261
|
+
- docs/fog-softlayer-CLA.pdf
|
262
|
+
- examples/storage.md
|
242
263
|
- fog-softlayer.gemspec
|
264
|
+
- gemfiles/Gemfile-edge
|
265
|
+
- gemfiles/Gemfile-ruby-1.8.7
|
243
266
|
- lib/fog.rb
|
244
267
|
- lib/fog/softlayer.rb
|
245
268
|
- lib/fog/softlayer/compute.rb
|
@@ -251,6 +274,10 @@ files:
|
|
251
274
|
- lib/fog/softlayer/models/compute/images.rb
|
252
275
|
- lib/fog/softlayer/models/compute/server.rb
|
253
276
|
- lib/fog/softlayer/models/compute/servers.rb
|
277
|
+
- lib/fog/softlayer/models/storage/directories.rb
|
278
|
+
- lib/fog/softlayer/models/storage/directory.rb
|
279
|
+
- lib/fog/softlayer/models/storage/file.rb
|
280
|
+
- lib/fog/softlayer/models/storage/files.rb
|
254
281
|
- lib/fog/softlayer/requests/compute/create_bare_metal_server.rb
|
255
282
|
- lib/fog/softlayer/requests/compute/create_vm.rb
|
256
283
|
- lib/fog/softlayer/requests/compute/create_vms.rb
|
@@ -260,6 +287,25 @@ files:
|
|
260
287
|
- lib/fog/softlayer/requests/compute/get_bare_metal_servers.rb
|
261
288
|
- lib/fog/softlayer/requests/compute/get_vm.rb
|
262
289
|
- lib/fog/softlayer/requests/compute/get_vms.rb
|
290
|
+
- lib/fog/softlayer/requests/storage/copy_object.rb
|
291
|
+
- lib/fog/softlayer/requests/storage/delete_container.rb
|
292
|
+
- lib/fog/softlayer/requests/storage/delete_multiple_objects.rb
|
293
|
+
- lib/fog/softlayer/requests/storage/delete_object.rb
|
294
|
+
- lib/fog/softlayer/requests/storage/delete_static_large_object.rb
|
295
|
+
- lib/fog/softlayer/requests/storage/get_container.rb
|
296
|
+
- lib/fog/softlayer/requests/storage/get_containers.rb
|
297
|
+
- lib/fog/softlayer/requests/storage/get_object.rb
|
298
|
+
- lib/fog/softlayer/requests/storage/get_object_https_url.rb
|
299
|
+
- lib/fog/softlayer/requests/storage/head_container.rb
|
300
|
+
- lib/fog/softlayer/requests/storage/head_containers.rb
|
301
|
+
- lib/fog/softlayer/requests/storage/head_object.rb
|
302
|
+
- lib/fog/softlayer/requests/storage/post_set_meta_temp_url_key.rb
|
303
|
+
- lib/fog/softlayer/requests/storage/put_container.rb
|
304
|
+
- lib/fog/softlayer/requests/storage/put_dynamic_obj_manifest.rb
|
305
|
+
- lib/fog/softlayer/requests/storage/put_object.rb
|
306
|
+
- lib/fog/softlayer/requests/storage/put_object_manifest.rb
|
307
|
+
- lib/fog/softlayer/requests/storage/put_static_obj_manifest.rb
|
308
|
+
- lib/fog/softlayer/storage.rb
|
263
309
|
- lib/fog/softlayer/version.rb
|
264
310
|
- spec/fog/compute/softlayer_spec.rb
|
265
311
|
- tests/compute/flavors_helper.rb
|
@@ -285,8 +331,13 @@ files:
|
|
285
331
|
- tests/softlayer/models/compute/flavor_tests.rb
|
286
332
|
- tests/softlayer/models/compute/image_tests.rb
|
287
333
|
- tests/softlayer/models/compute/server_tests.rb
|
334
|
+
- tests/softlayer/models/storage/directory_tests.rb
|
335
|
+
- tests/softlayer/models/storage/file_tests.rb
|
288
336
|
- tests/softlayer/requests/compute/bmc_tests.rb
|
289
337
|
- tests/softlayer/requests/compute/vm_tests.rb
|
338
|
+
- tests/softlayer/requests/storage/auth_tests.rb
|
339
|
+
- tests/softlayer/requests/storage/container_tests.rb
|
340
|
+
- tests/softlayer/requests/storage/object_tests.rb
|
290
341
|
homepage: ''
|
291
342
|
licenses:
|
292
343
|
- MIT
|