fog-aliyun 0.3.3 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +2 -0
  3. data/.ruby-version +1 -1
  4. data/CHANGELOG.md +114 -0
  5. data/README.md +61 -3
  6. data/fog-aliyun.gemspec +9 -4
  7. data/lib/fog/aliyun/compute.rb +34 -10
  8. data/lib/fog/aliyun/models/compute/flavor.rb +28 -0
  9. data/lib/fog/aliyun/models/compute/flavors.rb +13 -0
  10. data/lib/fog/aliyun/models/compute/image.rb +3 -1
  11. data/lib/fog/aliyun/models/compute/server.rb +13 -1
  12. data/lib/fog/aliyun/models/compute/servers.rb +2 -1
  13. data/lib/fog/aliyun/models/compute/vpcs.rb +1 -1
  14. data/lib/fog/aliyun/models/storage/directories.rb +34 -17
  15. data/lib/fog/aliyun/models/storage/directory.rb +102 -14
  16. data/lib/fog/aliyun/models/storage/file.rb +130 -120
  17. data/lib/fog/aliyun/models/storage/files.rb +69 -128
  18. data/lib/fog/aliyun/requests/compute/allocate_eip_address.rb +1 -1
  19. data/lib/fog/aliyun/requests/compute/allocate_public_ip_address.rb +1 -1
  20. data/lib/fog/aliyun/requests/compute/associate_eip_address.rb +1 -1
  21. data/lib/fog/aliyun/requests/compute/attach_disk.rb +4 -2
  22. data/lib/fog/aliyun/requests/compute/create_disk.rb +2 -2
  23. data/lib/fog/aliyun/requests/compute/create_image.rb +1 -1
  24. data/lib/fog/aliyun/requests/compute/create_security_group.rb +1 -1
  25. data/lib/fog/aliyun/requests/compute/create_security_group_egress_ip_rule.rb +5 -3
  26. data/lib/fog/aliyun/requests/compute/create_security_group_egress_sg_rule.rb +4 -2
  27. data/lib/fog/aliyun/requests/compute/create_security_group_ip_rule.rb +5 -3
  28. data/lib/fog/aliyun/requests/compute/create_security_group_sg_rule.rb +4 -2
  29. data/lib/fog/aliyun/requests/compute/create_server.rb +23 -12
  30. data/lib/fog/aliyun/requests/compute/create_snapshot.rb +1 -1
  31. data/lib/fog/aliyun/requests/compute/create_vpc.rb +4 -2
  32. data/lib/fog/aliyun/requests/compute/create_vswitch.rb +4 -2
  33. data/lib/fog/aliyun/requests/compute/delete_disk.rb +1 -1
  34. data/lib/fog/aliyun/requests/compute/delete_image.rb +1 -1
  35. data/lib/fog/aliyun/requests/compute/delete_security_group.rb +1 -1
  36. data/lib/fog/aliyun/requests/compute/delete_security_group_egress_ip_rule.rb +5 -3
  37. data/lib/fog/aliyun/requests/compute/delete_security_group_egress_sg_rule.rb +4 -2
  38. data/lib/fog/aliyun/requests/compute/delete_security_group_ip_rule.rb +5 -3
  39. data/lib/fog/aliyun/requests/compute/delete_security_group_sg_rule.rb +4 -2
  40. data/lib/fog/aliyun/requests/compute/delete_server.rb +1 -1
  41. data/lib/fog/aliyun/requests/compute/delete_snapshot.rb +1 -1
  42. data/lib/fog/aliyun/requests/compute/delete_vpc.rb +1 -1
  43. data/lib/fog/aliyun/requests/compute/delete_vswitch.rb +1 -1
  44. data/lib/fog/aliyun/requests/compute/detach_disk.rb +4 -2
  45. data/lib/fog/aliyun/requests/compute/join_security_group.rb +1 -1
  46. data/lib/fog/aliyun/requests/compute/leave_security_group.rb +1 -1
  47. data/lib/fog/aliyun/requests/compute/list_disks.rb +1 -1
  48. data/lib/fog/aliyun/requests/compute/list_eip_addresses.rb +1 -1
  49. data/lib/fog/aliyun/requests/compute/list_images.rb +1 -1
  50. data/lib/fog/aliyun/requests/compute/list_route_tables.rb +1 -1
  51. data/lib/fog/aliyun/requests/compute/list_security_group_rules.rb +1 -1
  52. data/lib/fog/aliyun/requests/compute/list_security_groups.rb +1 -1
  53. data/lib/fog/aliyun/requests/compute/list_server_types.rb +3 -3
  54. data/lib/fog/aliyun/requests/compute/list_servers.rb +10 -10
  55. data/lib/fog/aliyun/requests/compute/list_snapshots.rb +1 -1
  56. data/lib/fog/aliyun/requests/compute/list_vpcs.rb +1 -1
  57. data/lib/fog/aliyun/requests/compute/list_vrouters.rb +1 -1
  58. data/lib/fog/aliyun/requests/compute/list_vswitchs.rb +1 -1
  59. data/lib/fog/aliyun/requests/compute/list_zones.rb +1 -1
  60. data/lib/fog/aliyun/requests/compute/modify_vpc.rb +4 -2
  61. data/lib/fog/aliyun/requests/compute/modify_vswitch.rb +4 -2
  62. data/lib/fog/aliyun/requests/compute/reboot_server.rb +1 -1
  63. data/lib/fog/aliyun/requests/compute/release_eip_address.rb +1 -1
  64. data/lib/fog/aliyun/requests/compute/start_server.rb +1 -1
  65. data/lib/fog/aliyun/requests/compute/stop_server.rb +1 -1
  66. data/lib/fog/aliyun/requests/compute/unassociate_eip_address.rb +1 -1
  67. data/lib/fog/aliyun/requests/storage/abort_multipart_upload.rb +22 -0
  68. data/lib/fog/aliyun/requests/storage/complete_multipart_upload.rb +21 -0
  69. data/lib/fog/aliyun/requests/storage/copy_object.rb +16 -23
  70. data/lib/fog/aliyun/requests/storage/delete_bucket.rb +5 -14
  71. data/lib/fog/aliyun/requests/storage/delete_multiple_objects.rb +20 -0
  72. data/lib/fog/aliyun/requests/storage/delete_object.rb +12 -35
  73. data/lib/fog/aliyun/requests/storage/get_bucket.rb +30 -110
  74. data/lib/fog/aliyun/requests/storage/get_bucket_location.rb +33 -0
  75. data/lib/fog/aliyun/requests/storage/get_object.rb +29 -24
  76. data/lib/fog/aliyun/requests/storage/get_object_acl.rb +30 -0
  77. data/lib/fog/aliyun/requests/storage/get_object_http_url.rb +14 -15
  78. data/lib/fog/aliyun/requests/storage/get_object_https_url.rb +14 -15
  79. data/lib/fog/aliyun/requests/storage/get_service.rb +13 -0
  80. data/lib/fog/aliyun/requests/storage/head_object.rb +27 -18
  81. data/lib/fog/aliyun/requests/storage/initiate_multipart_upload.rb +19 -0
  82. data/lib/fog/aliyun/requests/storage/list_buckets.rb +8 -26
  83. data/lib/fog/aliyun/requests/storage/list_objects.rb +14 -73
  84. data/lib/fog/aliyun/requests/storage/put_bucket.rb +4 -10
  85. data/lib/fog/aliyun/requests/storage/put_object.rb +18 -162
  86. data/lib/fog/aliyun/requests/storage/upload_part.rb +24 -0
  87. data/lib/fog/aliyun/storage.rb +57 -29
  88. data/lib/fog/aliyun/version.rb +1 -1
  89. data/lib/fog/aliyun.rb +6 -9
  90. data/lib/fog/bin/aliyun.rb +1 -1
  91. metadata +118 -47
  92. data/lib/fog/aliyun/requests/storage/delete_container.rb +0 -33
  93. data/lib/fog/aliyun/requests/storage/get_container.rb +0 -56
  94. data/lib/fog/aliyun/requests/storage/get_containers.rb +0 -60
  95. data/lib/fog/aliyun/requests/storage/put_container.rb +0 -32
metadata CHANGED
@@ -1,176 +1,242 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fog-aliyun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
- - Qinsi Deng, Jianxun Li, Jane Han
7
+ - Qinsi Deng, Jianxun Li, Jane Han, Guimin He
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-28 00:00:00.000000000 Z
11
+ date: 2022-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: mime-types
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '2.6'
34
- - - '>='
35
- - !ruby/object:Gem::Version
36
- version: 2.6.2
33
+ version: '3.4'
37
34
  type: :development
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
- - - ~>
42
- - !ruby/object:Gem::Version
43
- version: '2.6'
44
- - - '>='
38
+ - - "~>"
45
39
  - !ruby/object:Gem::Version
46
- version: 2.6.2
40
+ version: '3.4'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: pry-nav
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
- - - '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
51
  requirements:
58
- - - '>='
52
+ - - ">="
59
53
  - !ruby/object:Gem::Version
60
54
  version: '0'
61
55
  - !ruby/object:Gem::Dependency
62
56
  name: rake
63
57
  requirement: !ruby/object:Gem::Requirement
64
58
  requirements:
65
- - - '>='
59
+ - - ">="
66
60
  - !ruby/object:Gem::Version
67
61
  version: '0'
68
62
  type: :development
69
63
  prerelease: false
70
64
  version_requirements: !ruby/object:Gem::Requirement
71
65
  requirements:
72
- - - '>='
66
+ - - ">="
73
67
  - !ruby/object:Gem::Version
74
68
  version: '0'
75
69
  - !ruby/object:Gem::Dependency
76
70
  name: rspec
77
71
  requirement: !ruby/object:Gem::Requirement
78
72
  requirements:
79
- - - '>='
73
+ - - ">="
80
74
  - !ruby/object:Gem::Version
81
75
  version: '0'
82
76
  type: :development
83
77
  prerelease: false
84
78
  version_requirements: !ruby/object:Gem::Requirement
85
79
  requirements:
86
- - - '>='
80
+ - - ">="
87
81
  - !ruby/object:Gem::Version
88
82
  version: '0'
89
83
  - !ruby/object:Gem::Dependency
90
84
  name: rubocop
91
85
  requirement: !ruby/object:Gem::Requirement
92
86
  requirements:
93
- - - '>='
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: simplecov
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
94
102
  - !ruby/object:Gem::Version
95
103
  version: '0'
96
104
  type: :development
97
105
  prerelease: false
98
106
  version_requirements: !ruby/object:Gem::Requirement
99
107
  requirements:
100
- - - '>='
108
+ - - ">="
101
109
  - !ruby/object:Gem::Version
102
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: memory_profiler
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: aliyun-sdk
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 0.8.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 0.8.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: addressable
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 2.8.0
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 2.8.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: aliyun-sdk
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.8.0
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 0.8.0
103
167
  - !ruby/object:Gem::Dependency
104
168
  name: fog-core
105
169
  requirement: !ruby/object:Gem::Requirement
106
170
  requirements:
107
- - - '>='
171
+ - - ">="
108
172
  - !ruby/object:Gem::Version
109
173
  version: '0'
110
174
  type: :runtime
111
175
  prerelease: false
112
176
  version_requirements: !ruby/object:Gem::Requirement
113
177
  requirements:
114
- - - '>='
178
+ - - ">="
115
179
  - !ruby/object:Gem::Version
116
180
  version: '0'
117
181
  - !ruby/object:Gem::Dependency
118
182
  name: fog-json
119
183
  requirement: !ruby/object:Gem::Requirement
120
184
  requirements:
121
- - - '>='
185
+ - - ">="
122
186
  - !ruby/object:Gem::Version
123
187
  version: '0'
124
188
  type: :runtime
125
189
  prerelease: false
126
190
  version_requirements: !ruby/object:Gem::Requirement
127
191
  requirements:
128
- - - '>='
192
+ - - ">="
129
193
  - !ruby/object:Gem::Version
130
194
  version: '0'
131
195
  - !ruby/object:Gem::Dependency
132
196
  name: ipaddress
133
197
  requirement: !ruby/object:Gem::Requirement
134
198
  requirements:
135
- - - ~>
199
+ - - "~>"
136
200
  - !ruby/object:Gem::Version
137
201
  version: '0.8'
138
202
  type: :runtime
139
203
  prerelease: false
140
204
  version_requirements: !ruby/object:Gem::Requirement
141
205
  requirements:
142
- - - ~>
206
+ - - "~>"
143
207
  - !ruby/object:Gem::Version
144
208
  version: '0.8'
145
209
  - !ruby/object:Gem::Dependency
146
210
  name: xml-simple
147
211
  requirement: !ruby/object:Gem::Requirement
148
212
  requirements:
149
- - - ~>
213
+ - - "~>"
150
214
  - !ruby/object:Gem::Version
151
215
  version: '1.1'
152
216
  type: :runtime
153
217
  prerelease: false
154
218
  version_requirements: !ruby/object:Gem::Requirement
155
219
  requirements:
156
- - - ~>
220
+ - - "~>"
157
221
  - !ruby/object:Gem::Version
158
222
  version: '1.1'
159
223
  description: As a FOG provider, fog-aliyun support aliyun OSS/ECS. It will support
160
224
  more aliyun services later.
161
225
  email:
162
226
  - dengqinsi@sina.com
227
+ - guimin.hgm@alibaba-inc.com
163
228
  executables: []
164
229
  extensions: []
165
230
  extra_rdoc_files: []
166
231
  files:
167
- - .gitignore
168
- - .rspec
169
- - .rubocop.yml
170
- - .rubocop_todo.yml
171
- - .ruby-gemset
172
- - .ruby-version
173
- - .travis.yml
232
+ - ".gitignore"
233
+ - ".rspec"
234
+ - ".rubocop.yml"
235
+ - ".rubocop_todo.yml"
236
+ - ".ruby-gemset"
237
+ - ".ruby-version"
238
+ - ".travis.yml"
239
+ - CHANGELOG.md
174
240
  - CODE_OF_CONDUCT.md
175
241
  - Gemfile
176
242
  - LICENSE.txt
@@ -183,6 +249,8 @@ files:
183
249
  - lib/fog/aliyun/compute.rb
184
250
  - lib/fog/aliyun/models/compute/eip_address.rb
185
251
  - lib/fog/aliyun/models/compute/eip_addresses.rb
252
+ - lib/fog/aliyun/models/compute/flavor.rb
253
+ - lib/fog/aliyun/models/compute/flavors.rb
186
254
  - lib/fog/aliyun/models/compute/image.rb
187
255
  - lib/fog/aliyun/models/compute/images.rb
188
256
  - lib/fog/aliyun/models/compute/route_entry.rb
@@ -265,22 +333,26 @@ files:
265
333
  - lib/fog/aliyun/requests/compute/start_server.rb
266
334
  - lib/fog/aliyun/requests/compute/stop_server.rb
267
335
  - lib/fog/aliyun/requests/compute/unassociate_eip_address.rb
336
+ - lib/fog/aliyun/requests/storage/abort_multipart_upload.rb
337
+ - lib/fog/aliyun/requests/storage/complete_multipart_upload.rb
268
338
  - lib/fog/aliyun/requests/storage/copy_object.rb
269
339
  - lib/fog/aliyun/requests/storage/delete_bucket.rb
270
- - lib/fog/aliyun/requests/storage/delete_container.rb
340
+ - lib/fog/aliyun/requests/storage/delete_multiple_objects.rb
271
341
  - lib/fog/aliyun/requests/storage/delete_object.rb
272
342
  - lib/fog/aliyun/requests/storage/get_bucket.rb
273
- - lib/fog/aliyun/requests/storage/get_container.rb
274
- - lib/fog/aliyun/requests/storage/get_containers.rb
343
+ - lib/fog/aliyun/requests/storage/get_bucket_location.rb
275
344
  - lib/fog/aliyun/requests/storage/get_object.rb
345
+ - lib/fog/aliyun/requests/storage/get_object_acl.rb
276
346
  - lib/fog/aliyun/requests/storage/get_object_http_url.rb
277
347
  - lib/fog/aliyun/requests/storage/get_object_https_url.rb
348
+ - lib/fog/aliyun/requests/storage/get_service.rb
278
349
  - lib/fog/aliyun/requests/storage/head_object.rb
350
+ - lib/fog/aliyun/requests/storage/initiate_multipart_upload.rb
279
351
  - lib/fog/aliyun/requests/storage/list_buckets.rb
280
352
  - lib/fog/aliyun/requests/storage/list_objects.rb
281
353
  - lib/fog/aliyun/requests/storage/put_bucket.rb
282
- - lib/fog/aliyun/requests/storage/put_container.rb
283
354
  - lib/fog/aliyun/requests/storage/put_object.rb
355
+ - lib/fog/aliyun/requests/storage/upload_part.rb
284
356
  - lib/fog/aliyun/storage.rb
285
357
  - lib/fog/aliyun/version.rb
286
358
  - lib/fog/bin/aliyun.rb
@@ -294,18 +366,17 @@ require_paths:
294
366
  - lib
295
367
  required_ruby_version: !ruby/object:Gem::Requirement
296
368
  requirements:
297
- - - '>='
369
+ - - ">="
298
370
  - !ruby/object:Gem::Version
299
371
  version: '0'
300
372
  required_rubygems_version: !ruby/object:Gem::Requirement
301
373
  requirements:
302
- - - '>='
374
+ - - ">="
303
375
  - !ruby/object:Gem::Version
304
376
  version: '0'
305
377
  requirements: []
306
- rubyforge_project:
307
- rubygems_version: 2.0.14.1
378
+ rubygems_version: 3.0.3
308
379
  signing_key:
309
380
  specification_version: 4
310
- summary: Fog provider for Aliyun Web Services.
381
+ summary: Fog provider for Alibaba Cloud Web Services.
311
382
  test_files: []
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Fog
4
- module Storage
5
- class Aliyun
6
- class Real
7
- # Delete an existing container
8
- #
9
- # ==== Parameters
10
- # * container<~String> - Name of container to delete
11
- # * options
12
- #
13
- def delete_container(container, options = {})
14
- bucket = options[:bucket]
15
- bucket ||= @aliyun_oss_bucket
16
- location = get_bucket_location(bucket)
17
- endpoint = 'http://' + location + '.aliyuncs.com'
18
- object = container + '/'
19
- resource = bucket + '/' + object
20
-
21
- request(
22
- expects: 204,
23
- method: 'DELETE',
24
- path: object,
25
- bucket: bucket,
26
- resource: resource,
27
- endpoint: endpoint
28
- )
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,56 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Fog
4
- module Storage
5
- class Aliyun
6
- class Real
7
- def get_container(container, options = {})
8
- options = options.reject { |_key, value| value.nil? }
9
-
10
- bucket = options[:bucket]
11
- bucket ||= @aliyun_oss_bucket
12
-
13
- marker = options[:marker]
14
- maxKeys = options[:maxKeys]
15
- delimiter = '/'
16
-
17
- path = ''
18
-
19
- prefix = if container == '' || container == '.' || container.nil?
20
- nil
21
- else
22
- container + '/'
23
- end
24
-
25
- if prefix
26
- path += '?prefix=' + prefix
27
- path += '&marker=' + marker if marker
28
- path += '&max-keys=' + maxKeys if maxKeys
29
- path += '&delimiter=' + delimiter if delimiter
30
- elsif marker
31
- path += '?marker=' + marker
32
- path += '&max-keys=' + maxKeys if maxKeys
33
- path += '&delimiter=' + delimiter if delimiter
34
- elsif maxKeys
35
- path += '?max-keys=' + maxKeys
36
- path += '&delimiter=' + delimiter if delimiter
37
- elsif delimiter
38
- path += '?delimiter=' + delimiter
39
- end
40
-
41
- location = get_bucket_location(bucket)
42
- resource = bucket + '/'
43
- ret = request(
44
- expects: [200, 203, 400],
45
- method: 'GET',
46
- path: path,
47
- resource: resource,
48
- bucket: bucket
49
- )
50
- xml = ret.data[:body]
51
- XmlSimple.xml_in(xml)['CommonPrefixes']
52
- end
53
- end
54
- end
55
- end
56
- end
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Fog
4
- module Storage
5
- class Aliyun
6
- class Real
7
- # List existing storage containers
8
- #
9
- # ==== Parameters
10
- # * options<~Hash>:
11
- # * 'maxKeys'<~Integer> - Upper limit to number of results returned
12
- # * 'marker'<~String> - Only return objects with name greater than this value
13
- #
14
- # ==== Returns
15
- #
16
- def get_containers(options = {})
17
- options = options.reject { |_key, value| value.nil? }
18
- bucket = options[:bucket]
19
- bucket ||= @aliyun_oss_bucket
20
- prefix = options[:prefix]
21
- marker = options[:marker]
22
- maxKeys = options[:maxKeys]
23
- delimiter = '/'
24
-
25
- path = ''
26
- if prefix
27
- path += '?prefix=' + prefix
28
- path += '&marker=' + marker if marker
29
- path += '&max-keys=' + maxKeys if maxKeys
30
- path += '&delimiter=' + delimiter if delimiter
31
-
32
- elsif marker
33
- path += '?marker=' + marker
34
- path += '&max-keys=' + maxKeys if maxKeys
35
- path += '&delimiter=' + delimiter if delimiter
36
-
37
- elsif maxKeys
38
- path += '?max-keys=' + maxKeys
39
- path += '&delimiter=' + delimiter if delimiter
40
-
41
- elsif delimiter
42
- path += '?delimiter=' + delimiter
43
- end
44
-
45
- location = get_bucket_location(bucket)
46
- resource = bucket + '/'
47
- ret = request(
48
- expects: [200, 203, 400],
49
- method: 'GET',
50
- path: path,
51
- resource: resource,
52
- bucket: bucket
53
- )
54
- xml = ret.data[:body]
55
- XmlSimple.xml_in(xml)['CommonPrefixes']
56
- end
57
- end
58
- end
59
- end
60
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Fog
4
- module Storage
5
- class Aliyun
6
- class Real
7
- # Create a new container
8
- #
9
- # ==== Parameters
10
- # * name<~String> - Name for container
11
- #
12
- def put_container(name, options = {})
13
- bucket = options[:bucket]
14
- bucket ||= @aliyun_oss_bucket
15
- location = get_bucket_location(bucket)
16
- endpoint = 'http://' + location + '.aliyuncs.com'
17
-
18
- path = name + '/'
19
- resource = bucket + '/' + name + '/'
20
- request(
21
- expects: [200, 203],
22
- method: 'PUT',
23
- path: path,
24
- bucket: bucket,
25
- resource: resource,
26
- endpoint: endpoint
27
- )
28
- end
29
- end
30
- end
31
- end
32
- end