fog-aliyun 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +5 -0
  3. data/.rubocop_todo.yml +149 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/Rakefile +3 -3
  7. data/fog-aliyun.gemspec +16 -13
  8. data/lib/fog/aliyun.rb +8 -8
  9. data/lib/fog/aliyun/compute.rb +99 -113
  10. data/lib/fog/aliyun/models/compute/eip_address.rb +23 -29
  11. data/lib/fog/aliyun/models/compute/eip_addresses.rb +3 -5
  12. data/lib/fog/aliyun/models/compute/image.rb +26 -28
  13. data/lib/fog/aliyun/models/compute/images.rb +2 -6
  14. data/lib/fog/aliyun/models/compute/route_entry.rb +9 -11
  15. data/lib/fog/aliyun/models/compute/route_entrys.rb +7 -7
  16. data/lib/fog/aliyun/models/compute/route_table.rb +10 -11
  17. data/lib/fog/aliyun/models/compute/route_tables.rb +2 -2
  18. data/lib/fog/aliyun/models/compute/security_group.rb +24 -24
  19. data/lib/fog/aliyun/models/compute/security_group_rule.rb +20 -20
  20. data/lib/fog/aliyun/models/compute/security_group_rules.rb +4 -4
  21. data/lib/fog/aliyun/models/compute/security_groups.rb +6 -7
  22. data/lib/fog/aliyun/models/compute/server.rb +42 -43
  23. data/lib/fog/aliyun/models/compute/servers.rb +9 -11
  24. data/lib/fog/aliyun/models/compute/snapshot.rb +15 -15
  25. data/lib/fog/aliyun/models/compute/snapshots.rb +6 -10
  26. data/lib/fog/aliyun/models/compute/volume.rb +36 -40
  27. data/lib/fog/aliyun/models/compute/volumes.rb +7 -11
  28. data/lib/fog/aliyun/models/compute/vpc.rb +18 -19
  29. data/lib/fog/aliyun/models/compute/vpcs.rb +5 -6
  30. data/lib/fog/aliyun/models/compute/vrouter.rb +13 -13
  31. data/lib/fog/aliyun/models/compute/vrouters.rb +4 -5
  32. data/lib/fog/aliyun/models/compute/vswitch.rb +18 -20
  33. data/lib/fog/aliyun/models/compute/vswitches.rb +6 -6
  34. data/lib/fog/aliyun/models/storage/directories.rb +10 -16
  35. data/lib/fog/aliyun/models/storage/directory.rb +8 -8
  36. data/lib/fog/aliyun/models/storage/file.rb +58 -64
  37. data/lib/fog/aliyun/models/storage/files.rb +95 -115
  38. data/lib/fog/aliyun/requests/compute/allocate_eip_address.rb +18 -44
  39. data/lib/fog/aliyun/requests/compute/allocate_public_ip_address.rb +12 -36
  40. data/lib/fog/aliyun/requests/compute/associate_eip_address.rb +16 -40
  41. data/lib/fog/aliyun/requests/compute/attach_disk.rb +19 -22
  42. data/lib/fog/aliyun/requests/compute/create_disk.rb +33 -63
  43. data/lib/fog/aliyun/requests/compute/create_image.rb +21 -21
  44. data/lib/fog/aliyun/requests/compute/create_security_group.rb +16 -16
  45. data/lib/fog/aliyun/requests/compute/create_security_group_egress_ip_rule.rb +22 -63
  46. data/lib/fog/aliyun/requests/compute/create_security_group_egress_sg_rule.rb +23 -61
  47. data/lib/fog/aliyun/requests/compute/create_security_group_ip_rule.rb +22 -63
  48. data/lib/fog/aliyun/requests/compute/create_security_group_sg_rule.rb +23 -61
  49. data/lib/fog/aliyun/requests/compute/create_server.rb +76 -78
  50. data/lib/fog/aliyun/requests/compute/create_snapshot.rb +12 -26
  51. data/lib/fog/aliyun/requests/compute/create_vpc.rb +11 -38
  52. data/lib/fog/aliyun/requests/compute/create_vswitch.rb +13 -40
  53. data/lib/fog/aliyun/requests/compute/delete_disk.rb +8 -35
  54. data/lib/fog/aliyun/requests/compute/delete_image.rb +6 -33
  55. data/lib/fog/aliyun/requests/compute/delete_security_group.rb +13 -13
  56. data/lib/fog/aliyun/requests/compute/delete_security_group_egress_ip_rule.rb +22 -63
  57. data/lib/fog/aliyun/requests/compute/delete_security_group_egress_sg_rule.rb +23 -61
  58. data/lib/fog/aliyun/requests/compute/delete_security_group_ip_rule.rb +22 -62
  59. data/lib/fog/aliyun/requests/compute/delete_security_group_sg_rule.rb +23 -61
  60. data/lib/fog/aliyun/requests/compute/delete_server.rb +15 -15
  61. data/lib/fog/aliyun/requests/compute/delete_snapshot.rb +6 -20
  62. data/lib/fog/aliyun/requests/compute/delete_vpc.rb +9 -26
  63. data/lib/fog/aliyun/requests/compute/delete_vswitch.rb +9 -25
  64. data/lib/fog/aliyun/requests/compute/detach_disk.rb +11 -27
  65. data/lib/fog/aliyun/requests/compute/join_security_group.rb +15 -16
  66. data/lib/fog/aliyun/requests/compute/leave_security_group.rb +15 -16
  67. data/lib/fog/aliyun/requests/compute/list_disks.rb +24 -43
  68. data/lib/fog/aliyun/requests/compute/list_eip_addresses.rb +26 -52
  69. data/lib/fog/aliyun/requests/compute/list_images.rb +21 -24
  70. data/lib/fog/aliyun/requests/compute/list_route_tables.rb +16 -19
  71. data/lib/fog/aliyun/requests/compute/list_security_group_rules.rb +22 -23
  72. data/lib/fog/aliyun/requests/compute/list_security_groups.rb +21 -24
  73. data/lib/fog/aliyun/requests/compute/list_server_types.rb +50 -50
  74. data/lib/fog/aliyun/requests/compute/list_servers.rb +25 -28
  75. data/lib/fog/aliyun/requests/compute/list_snapshots.rb +20 -37
  76. data/lib/fog/aliyun/requests/compute/list_vpcs.rb +12 -29
  77. data/lib/fog/aliyun/requests/compute/list_vrouters.rb +13 -16
  78. data/lib/fog/aliyun/requests/compute/list_vswitchs.rb +14 -31
  79. data/lib/fog/aliyun/requests/compute/list_zones.rb +16 -16
  80. data/lib/fog/aliyun/requests/compute/modify_vpc.rb +17 -17
  81. data/lib/fog/aliyun/requests/compute/modify_vswitch.rb +11 -39
  82. data/lib/fog/aliyun/requests/compute/reboot_server.rb +15 -16
  83. data/lib/fog/aliyun/requests/compute/release_eip_address.rb +12 -36
  84. data/lib/fog/aliyun/requests/compute/start_server.rb +14 -15
  85. data/lib/fog/aliyun/requests/compute/stop_server.rb +13 -14
  86. data/lib/fog/aliyun/requests/compute/unassociate_eip_address.rb +16 -41
  87. data/lib/fog/aliyun/requests/storage/copy_object.rb +11 -14
  88. data/lib/fog/aliyun/requests/storage/delete_bucket.rb +30 -30
  89. data/lib/fog/aliyun/requests/storage/delete_container.rb +11 -14
  90. data/lib/fog/aliyun/requests/storage/delete_object.rb +20 -22
  91. data/lib/fog/aliyun/requests/storage/get_bucket.rb +141 -148
  92. data/lib/fog/aliyun/requests/storage/get_container.rb +26 -38
  93. data/lib/fog/aliyun/requests/storage/get_containers.rb +20 -32
  94. data/lib/fog/aliyun/requests/storage/get_object.rb +12 -12
  95. data/lib/fog/aliyun/requests/storage/get_object_http_url.rb +11 -11
  96. data/lib/fog/aliyun/requests/storage/get_object_https_url.rb +11 -11
  97. data/lib/fog/aliyun/requests/storage/head_object.rb +11 -11
  98. data/lib/fog/aliyun/requests/storage/list_buckets.rb +40 -47
  99. data/lib/fog/aliyun/requests/storage/list_objects.rb +91 -104
  100. data/lib/fog/aliyun/requests/storage/put_bucket.rb +22 -23
  101. data/lib/fog/aliyun/requests/storage/put_container.rb +12 -12
  102. data/lib/fog/aliyun/requests/storage/put_object.rb +100 -110
  103. data/lib/fog/aliyun/storage.rb +209 -214
  104. data/lib/fog/aliyun/version.rb +1 -1
  105. data/lib/fog/bin/aliyun.rb +5 -5
  106. metadata +55 -4
@@ -11,30 +11,27 @@ module Fog
11
11
  # * target_object<~String> - Name for new copy of object
12
12
  # * options<~Hash> - Additional headers options={}
13
13
  def copy_object(source_bucket, source_object, target_bucket, target_object, options = {})
14
- options = options.reject {|key, value| value.nil?}
14
+ options = options.reject { |_key, value| value.nil? }
15
15
  bucket = options[:bucket]
16
16
  bucket ||= @aliyun_oss_bucket
17
17
  source_bucket ||= bucket
18
18
  target_bucket ||= bucket
19
19
  headers = { 'x-oss-copy-source' => "/#{source_bucket}/#{source_object}" }
20
20
  location = get_bucket_location(target_bucket)
21
- endpoint = "http://"+location+".aliyuncs.com"
22
- resource = target_bucket+'/'+target_object
23
- request({
24
- :expects => [200, 203],
25
- :headers => headers,
26
- :method => 'PUT',
27
- :path => target_object,
28
- :bucket => target_bucket,
29
- :resource => resource,
30
- :endpoint => endpoint
31
- })
21
+ endpoint = 'http://' + location + '.aliyuncs.com'
22
+ resource = target_bucket + '/' + target_object
23
+ request(expects: [200, 203],
24
+ headers: headers,
25
+ method: 'PUT',
26
+ path: target_object,
27
+ bucket: target_bucket,
28
+ resource: resource,
29
+ endpoint: endpoint)
32
30
  end
33
31
  end
34
-
32
+
35
33
  class Mock
36
34
  def copy_object(source_bucket, source_object, target_bucket, target_object)
37
-
38
35
  end
39
36
  end
40
37
  end
@@ -1,30 +1,30 @@
1
- module Fog
2
- module Storage
3
- class Aliyun
4
- class Real
5
- # Delete an existing bucket
6
- #
7
- # ==== Parameters
8
- # * bucket<~String> - Name of bucket to delete
9
- #
10
- def delete_bucket(bucket)
11
- location = get_bucket_location(bucket)
12
- endpoint = "http://"+location+".aliyuncs.com"
13
- resource = bucket+'/'
14
- request(
15
- :expects => 204,
16
- :method => 'DELETE',
17
- :bucket => bucket,
18
- :resource => resource,
19
- :endpoint => endpoint
20
- )
21
- end
22
- end
23
-
24
- class Mock
25
- def delete_bucket(bucket)
26
- end
27
- end
28
- end
29
- end
30
- end
1
+ module Fog
2
+ module Storage
3
+ class Aliyun
4
+ class Real
5
+ # Delete an existing bucket
6
+ #
7
+ # ==== Parameters
8
+ # * bucket<~String> - Name of bucket to delete
9
+ #
10
+ def delete_bucket(bucket)
11
+ location = get_bucket_location(bucket)
12
+ endpoint = 'http://' + location + '.aliyuncs.com'
13
+ resource = bucket + '/'
14
+ request(
15
+ expects: 204,
16
+ method: 'DELETE',
17
+ bucket: bucket,
18
+ resource: resource,
19
+ endpoint: endpoint
20
+ )
21
+ end
22
+ end
23
+
24
+ class Mock
25
+ def delete_bucket(bucket)
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -8,29 +8,26 @@ module Fog
8
8
  # * container<~String> - Name of container to delete
9
9
  # * options
10
10
  #
11
- def delete_container(container, options={})
12
-
11
+ def delete_container(container, options = {})
13
12
  bucket = options[:bucket]
14
13
  bucket ||= @aliyun_oss_bucket
15
14
  location = get_bucket_location(bucket)
16
- endpoint = "http://"+location+".aliyuncs.com"
17
- object = container+'/'
18
- resource = bucket+'/'+object
15
+ endpoint = 'http://' + location + '.aliyuncs.com'
16
+ object = container + '/'
17
+ resource = bucket + '/' + object
19
18
 
20
19
  request(
21
- :expects => 204,
22
- :method => 'DELETE',
23
- :path => object,
24
- :bucket => bucket,
25
- :resource => resource,
26
- :endpoint => endpoint
20
+ expects: 204,
21
+ method: 'DELETE',
22
+ path: object,
23
+ bucket: bucket,
24
+ resource: resource,
25
+ endpoint: endpoint
27
26
  )
28
27
  end
29
28
  end
30
29
  class Mock
31
-
32
- def delete_container(container, options={})
33
-
30
+ def delete_container(container, options = {})
34
31
  end
35
32
  end
36
33
  end
@@ -7,45 +7,43 @@ module Fog
7
7
  # ==== Parameters
8
8
  # * object<~String> - Name of object to delete
9
9
  #
10
- def delete_object(object, options={})
10
+ def delete_object(object, options = {})
11
11
  bucket = options[:bucket]
12
12
  bucket ||= @aliyun_oss_bucket
13
13
  location = get_bucket_location(bucket)
14
- endpoint = "http://"+location+".aliyuncs.com"
15
- resource = bucket+'/'+object
14
+ endpoint = 'http://' + location + '.aliyuncs.com'
15
+ resource = bucket + '/' + object
16
16
  request(
17
- :expects => 204,
18
- :method => 'DELETE',
19
- :path => object,
20
- :bucket => bucket,
21
- :resource => resource,
22
- :endpoint => endpoint
17
+ expects: 204,
18
+ method: 'DELETE',
19
+ path: object,
20
+ bucket: bucket,
21
+ resource: resource,
22
+ endpoint: endpoint
23
23
  )
24
24
  end
25
-
26
25
 
27
26
  def abort_multipart_upload(bucket, object, endpoint, uploadid)
28
- if (nil == endpoint)
27
+ if nil == endpoint
29
28
  location = get_bucket_location(bucket)
30
- endpoint = "http://"+location+".aliyuncs.com"
29
+ endpoint = 'http://' + location + '.aliyuncs.com'
31
30
  end
32
- path = object+"?uploadId="+uploadid
33
- resource = bucket+'/'+path
31
+ path = object + '?uploadId=' + uploadid
32
+ resource = bucket + '/' + path
34
33
 
35
34
  ret = request(
36
- :expects => 204,
37
- :method => 'DELETE',
38
- :path => path,
39
- :bucket => bucket,
40
- :resource => resource,
41
- :endpoint => endpoint
35
+ expects: 204,
36
+ method: 'DELETE',
37
+ path: path,
38
+ bucket: bucket,
39
+ resource: resource,
40
+ endpoint: endpoint
42
41
  )
43
-
44
42
  end
45
43
  end
46
44
 
47
45
  class Mock
48
- def delete_object(object, options={})
46
+ def delete_object(object, options = {})
49
47
  end
50
48
  end
51
49
  end
@@ -1,148 +1,141 @@
1
- module Fog
2
- module Storage
3
- class Aliyun
4
- class Real
5
- def get_bucket(bucket)
6
- location = get_bucket_location(bucket)
7
- endpoint = "http://"+location+".aliyuncs.com"
8
- resource = bucket+'/'
9
- ret = request(
10
- :expects => [200, 203],
11
- :method => 'GET',
12
- :bucket => bucket,
13
- :resource => resource,
14
- :endpoint => endpoint
15
- )
16
- xml = ret.data[:body]
17
- result = XmlSimple.xml_in(xml)
18
- end
19
-
20
- def get_bucket_location(bucket)
21
- attribute = '?location'
22
- resource = bucket+'/'+attribute
23
- ret = request(
24
- :expects => [200, 203],
25
- :method => 'GET',
26
- :path => attribute,
27
- :bucket => bucket,
28
- :resource => resource
29
- )
30
- location = XmlSimple.xml_in(ret.data[:body])
31
- end
32
-
33
- def get_bucket_acl(bucket)
34
- location = get_bucket_location(bucket)
35
- endpoint = "http://"+location+".aliyuncs.com"
36
- attribute = '?acl'
37
- resource = bucket+'/'+attribute
38
- ret = request(
39
- :expects => [200, 203],
40
- :method => 'GET',
41
- :path => attribute,
42
- :bucket => bucket,
43
- :resource => resource,
44
- :endpoint => endpoint
45
- )
46
- acl = XmlSimple.xml_in(ret.data[:body])["AccessControlList"][0]["Grant"][0]
47
- end
48
-
49
- def get_bucket_CORSRules(bucket)
50
- location = get_bucket_location(bucket)
51
- endpoint = "http://"+location+".aliyuncs.com"
52
- attribute = '?cors'
53
- resource = bucket+'/'+attribute
54
- ret = request(
55
- :expects => [200, 203, 404],
56
- :method => 'GET',
57
- :path => attribute,
58
- :bucket => bucket,
59
- :resource => resource,
60
- :endpoint => endpoint
61
- )
62
- if 404 != ret.data[:status]
63
- cors = XmlSimple.xml_in(ret.data[:body])["CORSRule"][0]
64
- else
65
- nil
66
- end
67
- end
68
-
69
- def get_bucket_lifecycle(bucket)
70
- location = get_bucket_location(bucket)
71
- endpoint = "http://"+location+".aliyuncs.com"
72
- attribute = '?lifecycle'
73
- resource = bucket+'/'+attribute
74
- ret = request(
75
- :expects => [200, 203, 404],
76
- :method => 'GET',
77
- :path => attribute,
78
- :bucket => bucket,
79
- :resource => resource,
80
- :endpoint => endpoint
81
- )
82
- if 404 != ret.data[:status]
83
- lifecycle = XmlSimple.xml_in(ret.data[:body])["Rule"][0]
84
- else
85
- nil
86
- end
87
- end
88
-
89
- def get_bucket_logging(bucket)
90
- location = get_bucket_location(bucket)
91
- endpoint = "http://"+location+".aliyuncs.com"
92
- attribute = '?logging'
93
- resource = bucket+'/'+attribute
94
- ret = request(
95
- :expects => [200, 203],
96
- :method => 'GET',
97
- :path => attribute,
98
- :bucket => bucket,
99
- :resource => resource,
100
- :endpoint => endpoint
101
- )
102
- logging = XmlSimple.xml_in(ret.data[:body])["LoggingEnabled"][0]["TargetPrefix"]
103
- end
104
-
105
- def get_bucket_referer(bucket)
106
- location = get_bucket_location(bucket)
107
- endpoint = "http://"+location+".aliyuncs.com"
108
- attribute = '?referer'
109
- resource = bucket+'/'+attribute
110
- ret = request(
111
- :expects => [200, 203],
112
- :method => 'GET',
113
- :path => attribute,
114
- :bucket => bucket,
115
- :resource => resource,
116
- :endpoint => endpoint
117
- )
118
- referer = XmlSimple.xml_in(ret.data[:body])
119
- end
120
-
121
- def get_bucket_website(bucket)
122
- location = get_bucket_location(bucket)
123
- endpoint = "http://"+location+".aliyuncs.com"
124
- attribute = '?website'
125
- resource = bucket+'/'+attribute
126
- ret = request(
127
- :expects => [200, 203, 404],
128
- :method => 'GET',
129
- :path => attribute,
130
- :bucket => bucket,
131
- :resource => resource,
132
- :endpoint => endpoint
133
- )
134
- if 404 != ret.data[:status]
135
- website = XmlSimple.xml_in(ret.data[:body])
136
- else
137
- nil
138
- end
139
- end
140
-
141
- end
142
- class Mock
143
- def get_bucket(bucket)
144
- end
145
- end
146
- end
147
- end
148
- end
1
+ module Fog
2
+ module Storage
3
+ class Aliyun
4
+ class Real
5
+ def get_bucket(bucket)
6
+ location = get_bucket_location(bucket)
7
+ endpoint = 'http://' + location + '.aliyuncs.com'
8
+ resource = bucket + '/'
9
+ ret = request(
10
+ expects: [200, 203],
11
+ method: 'GET',
12
+ bucket: bucket,
13
+ resource: resource,
14
+ endpoint: endpoint
15
+ )
16
+ xml = ret.data[:body]
17
+ result = XmlSimple.xml_in(xml)
18
+ end
19
+
20
+ def get_bucket_location(bucket)
21
+ attribute = '?location'
22
+ resource = bucket + '/' + attribute
23
+ ret = request(
24
+ expects: [200, 203],
25
+ method: 'GET',
26
+ path: attribute,
27
+ bucket: bucket,
28
+ resource: resource
29
+ )
30
+ location = XmlSimple.xml_in(ret.data[:body])
31
+ end
32
+
33
+ def get_bucket_acl(bucket)
34
+ location = get_bucket_location(bucket)
35
+ endpoint = 'http://' + location + '.aliyuncs.com'
36
+ attribute = '?acl'
37
+ resource = bucket + '/' + attribute
38
+ ret = request(
39
+ expects: [200, 203],
40
+ method: 'GET',
41
+ path: attribute,
42
+ bucket: bucket,
43
+ resource: resource,
44
+ endpoint: endpoint
45
+ )
46
+ acl = XmlSimple.xml_in(ret.data[:body])['AccessControlList'][0]['Grant'][0]
47
+ end
48
+
49
+ def get_bucket_CORSRules(bucket)
50
+ location = get_bucket_location(bucket)
51
+ endpoint = 'http://' + location + '.aliyuncs.com'
52
+ attribute = '?cors'
53
+ resource = bucket + '/' + attribute
54
+ ret = request(
55
+ expects: [200, 203, 404],
56
+ method: 'GET',
57
+ path: attribute,
58
+ bucket: bucket,
59
+ resource: resource,
60
+ endpoint: endpoint
61
+ )
62
+ if 404 != ret.data[:status]
63
+ cors = XmlSimple.xml_in(ret.data[:body])['CORSRule'][0]
64
+ end
65
+ end
66
+
67
+ def get_bucket_lifecycle(bucket)
68
+ location = get_bucket_location(bucket)
69
+ endpoint = 'http://' + location + '.aliyuncs.com'
70
+ attribute = '?lifecycle'
71
+ resource = bucket + '/' + attribute
72
+ ret = request(
73
+ expects: [200, 203, 404],
74
+ method: 'GET',
75
+ path: attribute,
76
+ bucket: bucket,
77
+ resource: resource,
78
+ endpoint: endpoint
79
+ )
80
+ if 404 != ret.data[:status]
81
+ lifecycle = XmlSimple.xml_in(ret.data[:body])['Rule'][0]
82
+ end
83
+ end
84
+
85
+ def get_bucket_logging(bucket)
86
+ location = get_bucket_location(bucket)
87
+ endpoint = 'http://' + location + '.aliyuncs.com'
88
+ attribute = '?logging'
89
+ resource = bucket + '/' + attribute
90
+ ret = request(
91
+ expects: [200, 203],
92
+ method: 'GET',
93
+ path: attribute,
94
+ bucket: bucket,
95
+ resource: resource,
96
+ endpoint: endpoint
97
+ )
98
+ logging = XmlSimple.xml_in(ret.data[:body])['LoggingEnabled'][0]['TargetPrefix']
99
+ end
100
+
101
+ def get_bucket_referer(bucket)
102
+ location = get_bucket_location(bucket)
103
+ endpoint = 'http://' + location + '.aliyuncs.com'
104
+ attribute = '?referer'
105
+ resource = bucket + '/' + attribute
106
+ ret = request(
107
+ expects: [200, 203],
108
+ method: 'GET',
109
+ path: attribute,
110
+ bucket: bucket,
111
+ resource: resource,
112
+ endpoint: endpoint
113
+ )
114
+ referer = XmlSimple.xml_in(ret.data[:body])
115
+ end
116
+
117
+ def get_bucket_website(bucket)
118
+ location = get_bucket_location(bucket)
119
+ endpoint = 'http://' + location + '.aliyuncs.com'
120
+ attribute = '?website'
121
+ resource = bucket + '/' + attribute
122
+ ret = request(
123
+ expects: [200, 203, 404],
124
+ method: 'GET',
125
+ path: attribute,
126
+ bucket: bucket,
127
+ resource: resource,
128
+ endpoint: endpoint
129
+ )
130
+ if 404 != ret.data[:status]
131
+ website = XmlSimple.xml_in(ret.data[:body])
132
+ end
133
+ end
134
+ end
135
+ class Mock
136
+ def get_bucket(bucket)
137
+ end
138
+ end
139
+ end
140
+ end
141
+ end