fog-aliyun 0.3.17 → 0.4.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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/CHANGELOG.md +35 -2
  4. data/fog-aliyun.gemspec +4 -3
  5. data/lib/fog/aliyun/compute.rb +7 -5
  6. data/lib/fog/aliyun/models/storage/directories.rb +30 -53
  7. data/lib/fog/aliyun/models/storage/directory.rb +96 -17
  8. data/lib/fog/aliyun/models/storage/file.rb +127 -126
  9. data/lib/fog/aliyun/models/storage/files.rb +43 -124
  10. data/lib/fog/aliyun/requests/compute/attach_disk.rb +3 -1
  11. data/lib/fog/aliyun/requests/compute/create_security_group_egress_ip_rule.rb +4 -2
  12. data/lib/fog/aliyun/requests/compute/create_security_group_egress_sg_rule.rb +3 -1
  13. data/lib/fog/aliyun/requests/compute/create_security_group_ip_rule.rb +4 -2
  14. data/lib/fog/aliyun/requests/compute/create_security_group_sg_rule.rb +3 -1
  15. data/lib/fog/aliyun/requests/compute/create_vpc.rb +3 -1
  16. data/lib/fog/aliyun/requests/compute/create_vswitch.rb +3 -1
  17. data/lib/fog/aliyun/requests/compute/delete_security_group_egress_ip_rule.rb +4 -2
  18. data/lib/fog/aliyun/requests/compute/delete_security_group_egress_sg_rule.rb +3 -1
  19. data/lib/fog/aliyun/requests/compute/delete_security_group_ip_rule.rb +4 -2
  20. data/lib/fog/aliyun/requests/compute/delete_security_group_sg_rule.rb +3 -1
  21. data/lib/fog/aliyun/requests/compute/detach_disk.rb +3 -1
  22. data/lib/fog/aliyun/requests/compute/modify_vpc.rb +3 -1
  23. data/lib/fog/aliyun/requests/compute/modify_vswitch.rb +3 -1
  24. data/lib/fog/aliyun/requests/storage/abort_multipart_upload.rb +22 -0
  25. data/lib/fog/aliyun/requests/storage/complete_multipart_upload.rb +21 -0
  26. data/lib/fog/aliyun/requests/storage/copy_object.rb +14 -18
  27. data/lib/fog/aliyun/requests/storage/delete_bucket.rb +3 -9
  28. data/lib/fog/aliyun/requests/storage/delete_multiple_objects.rb +20 -0
  29. data/lib/fog/aliyun/requests/storage/delete_object.rb +10 -11
  30. data/lib/fog/aliyun/requests/storage/get_bucket.rb +22 -99
  31. data/lib/fog/aliyun/requests/storage/get_bucket_location.rb +33 -0
  32. data/lib/fog/aliyun/requests/storage/get_object.rb +20 -12
  33. data/lib/fog/aliyun/requests/storage/get_object_acl.rb +30 -0
  34. data/lib/fog/aliyun/requests/storage/get_object_http_url.rb +9 -10
  35. data/lib/fog/aliyun/requests/storage/get_object_https_url.rb +9 -10
  36. data/lib/fog/aliyun/requests/storage/get_service.rb +13 -0
  37. data/lib/fog/aliyun/requests/storage/head_object.rb +25 -13
  38. data/lib/fog/aliyun/requests/storage/initiate_multipart_upload.rb +19 -0
  39. data/lib/fog/aliyun/requests/storage/list_buckets.rb +5 -25
  40. data/lib/fog/aliyun/requests/storage/list_objects.rb +10 -62
  41. data/lib/fog/aliyun/requests/storage/put_bucket.rb +2 -8
  42. data/lib/fog/aliyun/requests/storage/put_object.rb +16 -122
  43. data/lib/fog/aliyun/requests/storage/upload_part.rb +24 -0
  44. data/lib/fog/aliyun/storage.rb +20 -4
  45. data/lib/fog/aliyun/version.rb +1 -1
  46. metadata +31 -19
  47. data/lib/fog/aliyun/requests/storage/delete_container.rb +0 -30
  48. data/lib/fog/aliyun/requests/storage/get_container.rb +0 -57
  49. data/lib/fog/aliyun/requests/storage/get_containers.rb +0 -61
  50. data/lib/fog/aliyun/requests/storage/put_container.rb +0 -29
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Fog
4
- module Aliyun
5
- class Storage
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]||1000
15
- maxKeys = maxKeys.to_i
16
- maxKeys = [maxKeys,1000].min.to_s
17
- delimiter = '/'
18
-
19
- path = ''
20
-
21
- prefix = if container == '' || container == '.' || container.nil?
22
- nil
23
- else
24
- container + '/'
25
- end
26
-
27
- if prefix
28
- path += '?prefix=' + prefix
29
- path += '&marker=' + marker if marker
30
- path += '&max-keys=' + maxKeys if maxKeys
31
- path += '&delimiter=' + delimiter if delimiter
32
- elsif marker
33
- path += '?marker=' + marker
34
- path += '&max-keys=' + maxKeys if maxKeys
35
- path += '&delimiter=' + delimiter if delimiter
36
- elsif maxKeys
37
- path += '?max-keys=' + maxKeys
38
- path += '&delimiter=' + delimiter if delimiter
39
- elsif delimiter
40
- path += '?delimiter=' + delimiter
41
- end
42
-
43
- resource = bucket + '/'
44
- ret = request(
45
- expects: [200, 203, 400],
46
- method: 'GET',
47
- path: path,
48
- resource: resource,
49
- bucket: bucket
50
- )
51
- xml = ret.data[:body]
52
- XmlSimple.xml_in(xml)['CommonPrefixes']
53
- end
54
- end
55
- end
56
- end
57
- end
@@ -1,61 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Fog
4
- module Aliyun
5
- class Storage
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]||1000
23
- maxKeys = maxKeys.to_i
24
- maxKeys = [maxKeys,1000].min.to_s
25
- delimiter = '/'
26
-
27
- path = ''
28
- if prefix
29
- path += '?prefix=' + prefix
30
- path += '&marker=' + marker if marker
31
- path += '&max-keys=' + maxKeys if maxKeys
32
- path += '&delimiter=' + delimiter if delimiter
33
-
34
- elsif marker
35
- path += '?marker=' + marker
36
- path += '&max-keys=' + maxKeys if maxKeys
37
- path += '&delimiter=' + delimiter if delimiter
38
-
39
- elsif maxKeys
40
- path += '?max-keys=' + maxKeys
41
- path += '&delimiter=' + delimiter if delimiter
42
-
43
- elsif delimiter
44
- path += '?delimiter=' + delimiter
45
- end
46
-
47
- resource = bucket + '/'
48
- ret = request(
49
- expects: [200, 203, 400],
50
- method: 'GET',
51
- path: path,
52
- resource: resource,
53
- bucket: bucket
54
- )
55
- xml = ret.data[:body]
56
- XmlSimple.xml_in(xml)['CommonPrefixes']
57
- end
58
- end
59
- end
60
- end
61
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Fog
4
- module Aliyun
5
- class Storage
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
-
16
- path = name + '/'
17
- resource = bucket + '/' + name + '/'
18
- request(
19
- expects: [200, 203],
20
- method: 'PUT',
21
- path: path,
22
- bucket: bucket,
23
- resource: resource
24
- )
25
- end
26
- end
27
- end
28
- end
29
- end