aws-sdk-s3 1.0.0.rc1

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 (69) hide show
  1. checksums.yaml +7 -0
  2. data/lib/aws-sdk-s3.rb +66 -0
  3. data/lib/aws-sdk-s3/bucket.rb +595 -0
  4. data/lib/aws-sdk-s3/bucket_acl.rb +168 -0
  5. data/lib/aws-sdk-s3/bucket_cors.rb +146 -0
  6. data/lib/aws-sdk-s3/bucket_lifecycle.rb +164 -0
  7. data/lib/aws-sdk-s3/bucket_logging.rb +142 -0
  8. data/lib/aws-sdk-s3/bucket_notification.rb +187 -0
  9. data/lib/aws-sdk-s3/bucket_policy.rb +138 -0
  10. data/lib/aws-sdk-s3/bucket_region_cache.rb +79 -0
  11. data/lib/aws-sdk-s3/bucket_request_payment.rb +128 -0
  12. data/lib/aws-sdk-s3/bucket_tagging.rb +143 -0
  13. data/lib/aws-sdk-s3/bucket_versioning.rb +188 -0
  14. data/lib/aws-sdk-s3/bucket_website.rb +177 -0
  15. data/lib/aws-sdk-s3/client.rb +3171 -0
  16. data/lib/aws-sdk-s3/client_api.rb +1991 -0
  17. data/lib/aws-sdk-s3/customizations.rb +29 -0
  18. data/lib/aws-sdk-s3/customizations/bucket.rb +127 -0
  19. data/lib/aws-sdk-s3/customizations/multipart_upload.rb +42 -0
  20. data/lib/aws-sdk-s3/customizations/object.rb +257 -0
  21. data/lib/aws-sdk-s3/customizations/object_summary.rb +65 -0
  22. data/lib/aws-sdk-s3/customizations/types/list_object_versions_output.rb +11 -0
  23. data/lib/aws-sdk-s3/encryption.rb +19 -0
  24. data/lib/aws-sdk-s3/encryption/client.rb +369 -0
  25. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +178 -0
  26. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +63 -0
  27. data/lib/aws-sdk-s3/encryption/default_key_provider.rb +38 -0
  28. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +50 -0
  29. data/lib/aws-sdk-s3/encryption/errors.rb +13 -0
  30. data/lib/aws-sdk-s3/encryption/io_auth_decrypter.rb +50 -0
  31. data/lib/aws-sdk-s3/encryption/io_decrypter.rb +29 -0
  32. data/lib/aws-sdk-s3/encryption/io_encrypter.rb +69 -0
  33. data/lib/aws-sdk-s3/encryption/key_provider.rb +29 -0
  34. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +71 -0
  35. data/lib/aws-sdk-s3/encryption/materials.rb +58 -0
  36. data/lib/aws-sdk-s3/encryption/utils.rb +79 -0
  37. data/lib/aws-sdk-s3/errors.rb +23 -0
  38. data/lib/aws-sdk-s3/file_part.rb +75 -0
  39. data/lib/aws-sdk-s3/file_uploader.rb +58 -0
  40. data/lib/aws-sdk-s3/legacy_signer.rb +186 -0
  41. data/lib/aws-sdk-s3/multipart_file_uploader.rb +187 -0
  42. data/lib/aws-sdk-s3/multipart_upload.rb +287 -0
  43. data/lib/aws-sdk-s3/multipart_upload_error.rb +16 -0
  44. data/lib/aws-sdk-s3/multipart_upload_part.rb +314 -0
  45. data/lib/aws-sdk-s3/object.rb +942 -0
  46. data/lib/aws-sdk-s3/object_acl.rb +214 -0
  47. data/lib/aws-sdk-s3/object_copier.rb +99 -0
  48. data/lib/aws-sdk-s3/object_multipart_copier.rb +179 -0
  49. data/lib/aws-sdk-s3/object_summary.rb +794 -0
  50. data/lib/aws-sdk-s3/object_version.rb +406 -0
  51. data/lib/aws-sdk-s3/plugins/accelerate.rb +92 -0
  52. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +89 -0
  53. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +23 -0
  54. data/lib/aws-sdk-s3/plugins/dualstack.rb +70 -0
  55. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +29 -0
  56. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +23 -0
  57. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +47 -0
  58. data/lib/aws-sdk-s3/plugins/location_constraint.rb +33 -0
  59. data/lib/aws-sdk-s3/plugins/md5s.rb +79 -0
  60. data/lib/aws-sdk-s3/plugins/redirects.rb +41 -0
  61. data/lib/aws-sdk-s3/plugins/s3_signer.rb +208 -0
  62. data/lib/aws-sdk-s3/plugins/sse_cpk.rb +68 -0
  63. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +94 -0
  64. data/lib/aws-sdk-s3/presigned_post.rb +647 -0
  65. data/lib/aws-sdk-s3/presigner.rb +160 -0
  66. data/lib/aws-sdk-s3/resource.rb +96 -0
  67. data/lib/aws-sdk-s3/types.rb +5750 -0
  68. data/lib/aws-sdk-s3/waiters.rb +178 -0
  69. metadata +154 -0
@@ -0,0 +1,168 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ class BucketAcl
11
+
12
+ extend Aws::Deprecations
13
+
14
+ # @overload def initialize(bucket_name, options = {})
15
+ # @param [String] bucket_name
16
+ # @option options [Client] :client
17
+ # @overload def initialize(options = {})
18
+ # @option options [required, String] :bucket_name
19
+ # @option options [Client] :client
20
+ def initialize(*args)
21
+ options = Hash === args.last ? args.pop.dup : {}
22
+ @bucket_name = extract_bucket_name(args, options)
23
+ @data = options.delete(:data)
24
+ @client = options.delete(:client) || Client.new(options)
25
+ end
26
+
27
+ # @!group Read-Only Attributes
28
+
29
+ # @return [String]
30
+ def bucket_name
31
+ @bucket_name
32
+ end
33
+
34
+ # @return [Types::Owner]
35
+ def owner
36
+ data.owner
37
+ end
38
+
39
+ # A list of grants.
40
+ # @return [Array<Types::Grant>]
41
+ def grants
42
+ data.grants
43
+ end
44
+
45
+ # @!endgroup
46
+
47
+ # @return [Client]
48
+ def client
49
+ @client
50
+ end
51
+
52
+ # Loads, or reloads {#data} for the current {BucketAcl}.
53
+ # Returns `self` making it possible to chain methods.
54
+ #
55
+ # bucket_acl.reload.data
56
+ #
57
+ # @return [self]
58
+ def load
59
+ resp = @client.get_bucket_acl(bucket: @bucket_name)
60
+ @data = resp.data
61
+ self
62
+ end
63
+ alias :reload :load
64
+
65
+ # @return [Types::GetBucketAclOutput]
66
+ # Returns the data for this {BucketAcl}. Calls
67
+ # {Client#get_bucket_acl} if {#data_loaded?} is `false`.
68
+ def data
69
+ load unless @data
70
+ @data
71
+ end
72
+
73
+ # @return [Boolean]
74
+ # Returns `true` if this resource is loaded. Accessing attributes or
75
+ # {#data} on an unloaded resource will trigger a call to {#load}.
76
+ def data_loaded?
77
+ !!@data
78
+ end
79
+
80
+ # @!group Actions
81
+
82
+ # @example Request syntax with placeholder values
83
+ #
84
+ # bucket_acl.put({
85
+ # acl: "private", # accepts private, public-read, public-read-write, authenticated-read
86
+ # access_control_policy: {
87
+ # grants: [
88
+ # {
89
+ # grantee: {
90
+ # display_name: "DisplayName",
91
+ # email_address: "EmailAddress",
92
+ # id: "ID",
93
+ # type: "CanonicalUser", # required, accepts CanonicalUser, AmazonCustomerByEmail, Group
94
+ # uri: "URI",
95
+ # },
96
+ # permission: "FULL_CONTROL", # accepts FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP
97
+ # },
98
+ # ],
99
+ # owner: {
100
+ # display_name: "DisplayName",
101
+ # id: "ID",
102
+ # },
103
+ # },
104
+ # content_md5: "ContentMD5",
105
+ # grant_full_control: "GrantFullControl",
106
+ # grant_read: "GrantRead",
107
+ # grant_read_acp: "GrantReadACP",
108
+ # grant_write: "GrantWrite",
109
+ # grant_write_acp: "GrantWriteACP",
110
+ # })
111
+ # @param [Hash] options ({})
112
+ # @option options [String] :acl
113
+ # The canned ACL to apply to the bucket.
114
+ # @option options [Types::AccessControlPolicy] :access_control_policy
115
+ # @option options [String] :content_md5
116
+ # @option options [String] :grant_full_control
117
+ # Allows grantee the read, write, read ACP, and write ACP permissions on
118
+ # the bucket.
119
+ # @option options [String] :grant_read
120
+ # Allows grantee to list the objects in the bucket.
121
+ # @option options [String] :grant_read_acp
122
+ # Allows grantee to read the bucket ACL.
123
+ # @option options [String] :grant_write
124
+ # Allows grantee to create, overwrite, and delete any object in the
125
+ # bucket.
126
+ # @option options [String] :grant_write_acp
127
+ # Allows grantee to write the ACL for the applicable bucket.
128
+ # @return [EmptyStructure]
129
+ def put(options = {})
130
+ options = options.merge(bucket: @bucket_name)
131
+ resp = @client.put_bucket_acl(options)
132
+ resp.data
133
+ end
134
+
135
+ # @!group Associations
136
+
137
+ # @return [Bucket]
138
+ def bucket
139
+ Bucket.new(
140
+ name: @bucket_name,
141
+ client: @client
142
+ )
143
+ end
144
+
145
+ # @deprecated
146
+ # @api private
147
+ def identifiers
148
+ { bucket_name: @bucket_name }
149
+ end
150
+ deprecated(:identifiers)
151
+
152
+ private
153
+
154
+ def extract_bucket_name(args, options)
155
+ value = args[0] || options.delete(:bucket_name)
156
+ case value
157
+ when String then value
158
+ when nil then raise ArgumentError, "missing required option :bucket_name"
159
+ else
160
+ msg = "expected :bucket_name to be a String, got #{value.class}"
161
+ raise ArgumentError, msg
162
+ end
163
+ end
164
+
165
+ class Collection < Aws::Resources::Collection; end
166
+ end
167
+ end
168
+ end
@@ -0,0 +1,146 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ class BucketCors
11
+
12
+ extend Aws::Deprecations
13
+
14
+ # @overload def initialize(bucket_name, options = {})
15
+ # @param [String] bucket_name
16
+ # @option options [Client] :client
17
+ # @overload def initialize(options = {})
18
+ # @option options [required, String] :bucket_name
19
+ # @option options [Client] :client
20
+ def initialize(*args)
21
+ options = Hash === args.last ? args.pop.dup : {}
22
+ @bucket_name = extract_bucket_name(args, options)
23
+ @data = options.delete(:data)
24
+ @client = options.delete(:client) || Client.new(options)
25
+ end
26
+
27
+ # @!group Read-Only Attributes
28
+
29
+ # @return [String]
30
+ def bucket_name
31
+ @bucket_name
32
+ end
33
+
34
+ # @return [Array<Types::CORSRule>]
35
+ def cors_rules
36
+ data.cors_rules
37
+ end
38
+
39
+ # @!endgroup
40
+
41
+ # @return [Client]
42
+ def client
43
+ @client
44
+ end
45
+
46
+ # Loads, or reloads {#data} for the current {BucketCors}.
47
+ # Returns `self` making it possible to chain methods.
48
+ #
49
+ # bucket_cors.reload.data
50
+ #
51
+ # @return [self]
52
+ def load
53
+ resp = @client.get_bucket_cors(bucket: @bucket_name)
54
+ @data = resp.data
55
+ self
56
+ end
57
+ alias :reload :load
58
+
59
+ # @return [Types::GetBucketCorsOutput]
60
+ # Returns the data for this {BucketCors}. Calls
61
+ # {Client#get_bucket_cors} if {#data_loaded?} is `false`.
62
+ def data
63
+ load unless @data
64
+ @data
65
+ end
66
+
67
+ # @return [Boolean]
68
+ # Returns `true` if this resource is loaded. Accessing attributes or
69
+ # {#data} on an unloaded resource will trigger a call to {#load}.
70
+ def data_loaded?
71
+ !!@data
72
+ end
73
+
74
+ # @!group Actions
75
+
76
+ # @example Request syntax with placeholder values
77
+ #
78
+ # bucket_cors.delete()
79
+ # @param [Hash] options ({})
80
+ # @return [EmptyStructure]
81
+ def delete(options = {})
82
+ options = options.merge(bucket: @bucket_name)
83
+ resp = @client.delete_bucket_cors(options)
84
+ resp.data
85
+ end
86
+
87
+ # @example Request syntax with placeholder values
88
+ #
89
+ # bucket_cors.put({
90
+ # cors_configuration: { # required
91
+ # cors_rules: [ # required
92
+ # {
93
+ # allowed_headers: ["AllowedHeader"],
94
+ # allowed_methods: ["AllowedMethod"], # required
95
+ # allowed_origins: ["AllowedOrigin"], # required
96
+ # expose_headers: ["ExposeHeader"],
97
+ # max_age_seconds: 1,
98
+ # },
99
+ # ],
100
+ # },
101
+ # content_md5: "ContentMD5",
102
+ # })
103
+ # @param [Hash] options ({})
104
+ # @option options [required, Types::CORSConfiguration] :cors_configuration
105
+ # @option options [String] :content_md5
106
+ # @return [EmptyStructure]
107
+ def put(options = {})
108
+ options = options.merge(bucket: @bucket_name)
109
+ resp = @client.put_bucket_cors(options)
110
+ resp.data
111
+ end
112
+
113
+ # @!group Associations
114
+
115
+ # @return [Bucket]
116
+ def bucket
117
+ Bucket.new(
118
+ name: @bucket_name,
119
+ client: @client
120
+ )
121
+ end
122
+
123
+ # @deprecated
124
+ # @api private
125
+ def identifiers
126
+ { bucket_name: @bucket_name }
127
+ end
128
+ deprecated(:identifiers)
129
+
130
+ private
131
+
132
+ def extract_bucket_name(args, options)
133
+ value = args[0] || options.delete(:bucket_name)
134
+ case value
135
+ when String then value
136
+ when nil then raise ArgumentError, "missing required option :bucket_name"
137
+ else
138
+ msg = "expected :bucket_name to be a String, got #{value.class}"
139
+ raise ArgumentError, msg
140
+ end
141
+ end
142
+
143
+ class Collection < Aws::Resources::Collection; end
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,164 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module S3
10
+ class BucketLifecycle
11
+
12
+ extend Aws::Deprecations
13
+
14
+ # @overload def initialize(bucket_name, options = {})
15
+ # @param [String] bucket_name
16
+ # @option options [Client] :client
17
+ # @overload def initialize(options = {})
18
+ # @option options [required, String] :bucket_name
19
+ # @option options [Client] :client
20
+ def initialize(*args)
21
+ options = Hash === args.last ? args.pop.dup : {}
22
+ @bucket_name = extract_bucket_name(args, options)
23
+ @data = options.delete(:data)
24
+ @client = options.delete(:client) || Client.new(options)
25
+ end
26
+
27
+ # @!group Read-Only Attributes
28
+
29
+ # @return [String]
30
+ def bucket_name
31
+ @bucket_name
32
+ end
33
+
34
+ # @return [Array<Types::Rule>]
35
+ def rules
36
+ data.rules
37
+ end
38
+
39
+ # @!endgroup
40
+
41
+ # @return [Client]
42
+ def client
43
+ @client
44
+ end
45
+
46
+ # Loads, or reloads {#data} for the current {BucketLifecycle}.
47
+ # Returns `self` making it possible to chain methods.
48
+ #
49
+ # bucket_lifecycle.reload.data
50
+ #
51
+ # @return [self]
52
+ def load
53
+ resp = @client.get_bucket_lifecycle(bucket: @bucket_name)
54
+ @data = resp.data
55
+ self
56
+ end
57
+ alias :reload :load
58
+
59
+ # @return [Types::GetBucketLifecycleOutput]
60
+ # Returns the data for this {BucketLifecycle}. Calls
61
+ # {Client#get_bucket_lifecycle} if {#data_loaded?} is `false`.
62
+ def data
63
+ load unless @data
64
+ @data
65
+ end
66
+
67
+ # @return [Boolean]
68
+ # Returns `true` if this resource is loaded. Accessing attributes or
69
+ # {#data} on an unloaded resource will trigger a call to {#load}.
70
+ def data_loaded?
71
+ !!@data
72
+ end
73
+
74
+ # @!group Actions
75
+
76
+ # @example Request syntax with placeholder values
77
+ #
78
+ # bucket_lifecycle.delete()
79
+ # @param [Hash] options ({})
80
+ # @return [EmptyStructure]
81
+ def delete(options = {})
82
+ options = options.merge(bucket: @bucket_name)
83
+ resp = @client.delete_bucket_lifecycle(options)
84
+ resp.data
85
+ end
86
+
87
+ # @example Request syntax with placeholder values
88
+ #
89
+ # bucket_lifecycle.put({
90
+ # content_md5: "ContentMD5",
91
+ # lifecycle_configuration: {
92
+ # rules: [ # required
93
+ # {
94
+ # expiration: {
95
+ # date: Time.now,
96
+ # days: 1,
97
+ # expired_object_delete_marker: false,
98
+ # },
99
+ # id: "ID",
100
+ # prefix: "Prefix", # required
101
+ # status: "Enabled", # required, accepts Enabled, Disabled
102
+ # transition: {
103
+ # date: Time.now,
104
+ # days: 1,
105
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA
106
+ # },
107
+ # noncurrent_version_transition: {
108
+ # noncurrent_days: 1,
109
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA
110
+ # },
111
+ # noncurrent_version_expiration: {
112
+ # noncurrent_days: 1,
113
+ # },
114
+ # abort_incomplete_multipart_upload: {
115
+ # days_after_initiation: 1,
116
+ # },
117
+ # },
118
+ # ],
119
+ # },
120
+ # })
121
+ # @param [Hash] options ({})
122
+ # @option options [String] :content_md5
123
+ # @option options [Types::LifecycleConfiguration] :lifecycle_configuration
124
+ # @return [EmptyStructure]
125
+ def put(options = {})
126
+ options = options.merge(bucket: @bucket_name)
127
+ resp = @client.put_bucket_lifecycle(options)
128
+ resp.data
129
+ end
130
+
131
+ # @!group Associations
132
+
133
+ # @return [Bucket]
134
+ def bucket
135
+ Bucket.new(
136
+ name: @bucket_name,
137
+ client: @client
138
+ )
139
+ end
140
+
141
+ # @deprecated
142
+ # @api private
143
+ def identifiers
144
+ { bucket_name: @bucket_name }
145
+ end
146
+ deprecated(:identifiers)
147
+
148
+ private
149
+
150
+ def extract_bucket_name(args, options)
151
+ value = args[0] || options.delete(:bucket_name)
152
+ case value
153
+ when String then value
154
+ when nil then raise ArgumentError, "missing required option :bucket_name"
155
+ else
156
+ msg = "expected :bucket_name to be a String, got #{value.class}"
157
+ raise ArgumentError, msg
158
+ end
159
+ end
160
+
161
+ class Collection < Aws::Resources::Collection; end
162
+ end
163
+ end
164
+ end