aws-sdk-s3 1.13.0 → 1.23.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 76fdd52e31b770c550908db83818c5842b0e704c
4
- data.tar.gz: 596f4b30103399a4bfe7b8cf2cad093cfd8ac6e1
3
+ metadata.gz: d0ed9e7a99495dccd31ba122af637ccd2bb2b0f3
4
+ data.tar.gz: '0169601078bef3eb0ce0cd0c04cfcaa17af2327f'
5
5
  SHA512:
6
- metadata.gz: 4a3f32fa2257bb3dd5bdfd94b329a54a047e1fa6b6ccb1425e21b7e86c9664dd1d62165d400a65dbc6c814fa0935c08f2f3e9d7535cf7576094e4b332c745405
7
- data.tar.gz: 7e3729ceec9fe3cd819926dd14ba0fdf675af8610773f5a0daf5766fbd5bcfb6242bd4b91e1910dbb04c17732004bb46d8bd1976f22181d4625a95a3d1bf5381
6
+ metadata.gz: c8f6dbb6902fd893e40c1c6189f4e20fd4317392b994aaa8fe54517270b5ec83d78e977a9175a07dee21341e6914f6b06b126d5303c518879311293eb35473f0
7
+ data.tar.gz: c516ce65f15d6d9824c683723be5c9ba49507ac95dedf581ed664b097a2fa1c4073ef8203663d846bad2030bcad39794055a4f18670949e4413bc6123a0b820e
@@ -19,6 +19,8 @@ require 'aws-sdk-core/plugins/response_paging.rb'
19
19
  require 'aws-sdk-core/plugins/stub_responses.rb'
20
20
  require 'aws-sdk-core/plugins/idempotency_token.rb'
21
21
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
22
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
23
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
22
24
  require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
23
25
  require 'aws-sdk-s3/plugins/accelerate.rb'
24
26
  require 'aws-sdk-s3/plugins/dualstack.rb'
@@ -61,6 +63,8 @@ module Aws::S3
61
63
  add_plugin(Aws::Plugins::StubResponses)
62
64
  add_plugin(Aws::Plugins::IdempotencyToken)
63
65
  add_plugin(Aws::Plugins::JsonvalueConverter)
66
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
67
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
64
68
  add_plugin(Aws::Plugins::Protocols::RestXml)
65
69
  add_plugin(Aws::S3::Plugins::Accelerate)
66
70
  add_plugin(Aws::S3::Plugins::Dualstack)
@@ -78,125 +82,154 @@ module Aws::S3
78
82
  add_plugin(Aws::S3::Plugins::BucketNameRestrictions)
79
83
  add_plugin(Aws::Plugins::EventStreamConfiguration)
80
84
 
81
- # @option options [required, Aws::CredentialProvider] :credentials
82
- # Your AWS credentials. This can be an instance of any one of the
83
- # following classes:
84
- #
85
- # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
- # credentials.
85
+ # @overload initialize(options)
86
+ # @param [Hash] options
87
+ # @option options [required, Aws::CredentialProvider] :credentials
88
+ # Your AWS credentials. This can be an instance of any one of the
89
+ # following classes:
90
+ #
91
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
92
+ # credentials.
93
+ #
94
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
95
+ # from an EC2 IMDS on an EC2 instance.
96
+ #
97
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
98
+ # shared file, such as `~/.aws/config`.
87
99
  #
88
- # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
- # from an EC2 IMDS on an EC2 instance.
90
- #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
93
- #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
95
- #
96
- # When `:credentials` are not configured directly, the following
97
- # locations will be searched for credentials:
98
- #
99
- # * `Aws.config[:credentials]`
100
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
101
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
- # * `~/.aws/credentials`
103
- # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
108
- #
109
- # @option options [required, String] :region
110
- # The AWS region to connect to. The configured `:region` is
111
- # used to determine the service `:endpoint`. When not passed,
112
- # a default `:region` is search for in the following locations:
113
- #
114
- # * `Aws.config[:region]`
115
- # * `ENV['AWS_REGION']`
116
- # * `ENV['AMAZON_REGION']`
117
- # * `ENV['AWS_DEFAULT_REGION']`
118
- # * `~/.aws/credentials`
119
- # * `~/.aws/config`
120
- #
121
- # @option options [String] :access_key_id
122
- #
123
- # @option options [Boolean] :compute_checksums (true)
124
- # When `true` a MD5 checksum will be computed for every request that
125
- # sends a body. When `false`, MD5 checksums will only be computed
126
- # for operations that require them. Checksum errors returned by Amazon
127
- # S3 are automatically retried up to `:retry_limit` times.
128
- #
129
- # @option options [Boolean] :convert_params (true)
130
- # When `true`, an attempt is made to coerce request parameters into
131
- # the required types.
132
- #
133
- # @option options [String] :endpoint
134
- # The client endpoint is normally constructed from the `:region`
135
- # option. You should only configure an `:endpoint` when connecting
136
- # to test endpoints. This should be avalid HTTP(S) URI.
137
- #
138
- # @option options [Proc] :event_stream_handler
139
- # When an EventStream or Proc object is provided, it will be used as callback for each chunk of event stream response received along the way.
140
- #
141
- # @option options [Boolean] :follow_redirects (true)
142
- # When `true`, this client will follow 307 redirects returned
143
- # by Amazon S3.
144
- #
145
- # @option options [Boolean] :force_path_style (false)
146
- # When set to `true`, the bucket name is always left in the
147
- # request URI and never moved to the host as a sub-domain.
148
- #
149
- # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
150
- # The log formatter.
151
- #
152
- # @option options [Symbol] :log_level (:info)
153
- # The log level to send messages to the `:logger` at.
154
- #
155
- # @option options [Logger] :logger
156
- # The Logger instance to send log messages to. If this option
157
- # is not set, logging will be disabled.
158
- #
159
- # @option options [String] :profile ("default")
160
- # Used when loading credentials from the shared credentials file
161
- # at HOME/.aws/credentials. When not specified, 'default' is used.
162
- #
163
- # @option options [Boolean] :require_https_for_sse_cpk (true)
164
- # When `true`, the endpoint **must** be HTTPS for all operations
165
- # where server-side-encryption is used with customer-provided keys.
166
- # This should only be disabled for local testing.
167
- #
168
- # @option options [Integer] :retry_limit (3)
169
- # The maximum number of times to retry failed requests. Only
170
- # ~ 500 level server errors and certain ~ 400 level client errors
171
- # are retried. Generally, these are throttling errors, data
172
- # checksum errors, networking errors, timeout errors and auth
173
- # errors from expired credentials.
174
- #
175
- # @option options [String] :secret_access_key
176
- #
177
- # @option options [String] :session_token
178
- #
179
- # @option options [Boolean] :stub_responses (false)
180
- # Causes the client to return stubbed responses. By default
181
- # fake responses are generated and returned. You can specify
182
- # the response data to return or errors to raise by calling
183
- # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
100
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
101
+ #
102
+ # When `:credentials` are not configured directly, the following
103
+ # locations will be searched for credentials:
104
+ #
105
+ # * `Aws.config[:credentials]`
106
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
107
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
108
+ # * `~/.aws/credentials`
109
+ # * `~/.aws/config`
110
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
111
+ # very aggressive. Construct and pass an instance of
112
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
113
+ # timeouts.
184
114
  #
185
- # ** Please note ** When response stubbing is enabled, no HTTP
186
- # requests are made, and retries are disabled.
115
+ # @option options [required, String] :region
116
+ # The AWS region to connect to. The configured `:region` is
117
+ # used to determine the service `:endpoint`. When not passed,
118
+ # a default `:region` is search for in the following locations:
187
119
  #
188
- # @option options [Boolean] :use_accelerate_endpoint (false)
189
- # When set to `true`, accelerated bucket endpoints will be used
190
- # for all object operations. You must first enable accelerate for
191
- # each bucket. [Go here for more information](http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html).
192
- #
193
- # @option options [Boolean] :use_dualstack_endpoint (false)
194
- # When set to `true`, IPv6-compatible bucket endpoints will be used
195
- # for all operations.
196
- #
197
- # @option options [Boolean] :validate_params (true)
198
- # When `true`, request parameters are validated before
199
- # sending the request.
120
+ # * `Aws.config[:region]`
121
+ # * `ENV['AWS_REGION']`
122
+ # * `ENV['AMAZON_REGION']`
123
+ # * `ENV['AWS_DEFAULT_REGION']`
124
+ # * `~/.aws/credentials`
125
+ # * `~/.aws/config`
126
+ #
127
+ # @option options [String] :access_key_id
128
+ #
129
+ # @option options [Boolean] :client_side_monitoring (false)
130
+ # When `true`, client-side metrics will be collected for all API requests from
131
+ # this client.
132
+ #
133
+ # @option options [String] :client_side_monitoring_client_id ("")
134
+ # Allows you to provide an identifier for this client which will be attached to
135
+ # all generated client side metrics. Defaults to an empty string.
136
+ #
137
+ # @option options [Integer] :client_side_monitoring_port (31000)
138
+ # Required for publishing client metrics. The port that the client side monitoring
139
+ # agent is running on, where client metrics will be published via UDP.
140
+ #
141
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
142
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
143
+ # will use the Client Side Monitoring Agent Publisher.
144
+ #
145
+ # @option options [Boolean] :compute_checksums (true)
146
+ # When `true` a MD5 checksum will be computed for every request that
147
+ # sends a body. When `false`, MD5 checksums will only be computed
148
+ # for operations that require them. Checksum errors returned by Amazon
149
+ # S3 are automatically retried up to `:retry_limit` times.
150
+ #
151
+ # @option options [Boolean] :convert_params (true)
152
+ # When `true`, an attempt is made to coerce request parameters into
153
+ # the required types.
154
+ #
155
+ # @option options [String] :endpoint
156
+ # The client endpoint is normally constructed from the `:region`
157
+ # option. You should only configure an `:endpoint` when connecting
158
+ # to test endpoints. This should be avalid HTTP(S) URI.
159
+ #
160
+ # @option options [Proc] :event_stream_handler
161
+ # When an EventStream or Proc object is provided, it will be used as callback for each chunk of event stream response received along the way.
162
+ #
163
+ # @option options [Boolean] :follow_redirects (true)
164
+ # When `true`, this client will follow 307 redirects returned
165
+ # by Amazon S3.
166
+ #
167
+ # @option options [Boolean] :force_path_style (false)
168
+ # When set to `true`, the bucket name is always left in the
169
+ # request URI and never moved to the host as a sub-domain.
170
+ #
171
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
172
+ # The log formatter.
173
+ #
174
+ # @option options [Symbol] :log_level (:info)
175
+ # The log level to send messages to the `:logger` at.
176
+ #
177
+ # @option options [Logger] :logger
178
+ # The Logger instance to send log messages to. If this option
179
+ # is not set, logging will be disabled.
180
+ #
181
+ # @option options [String] :profile ("default")
182
+ # Used when loading credentials from the shared credentials file
183
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
184
+ #
185
+ # @option options [Boolean] :require_https_for_sse_cpk (true)
186
+ # When `true`, the endpoint **must** be HTTPS for all operations
187
+ # where server-side-encryption is used with customer-provided keys.
188
+ # This should only be disabled for local testing.
189
+ #
190
+ # @option options [Float] :retry_base_delay (0.3)
191
+ # The base delay in seconds used by the default backoff function.
192
+ #
193
+ # @option options [Symbol] :retry_jitter (:none)
194
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
195
+ #
196
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
197
+ #
198
+ # @option options [Integer] :retry_limit (3)
199
+ # The maximum number of times to retry failed requests. Only
200
+ # ~ 500 level server errors and certain ~ 400 level client errors
201
+ # are retried. Generally, these are throttling errors, data
202
+ # checksum errors, networking errors, timeout errors and auth
203
+ # errors from expired credentials.
204
+ #
205
+ # @option options [Integer] :retry_max_delay (0)
206
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
207
+ #
208
+ # @option options [String] :secret_access_key
209
+ #
210
+ # @option options [String] :session_token
211
+ #
212
+ # @option options [Boolean] :stub_responses (false)
213
+ # Causes the client to return stubbed responses. By default
214
+ # fake responses are generated and returned. You can specify
215
+ # the response data to return or errors to raise by calling
216
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
217
+ #
218
+ # ** Please note ** When response stubbing is enabled, no HTTP
219
+ # requests are made, and retries are disabled.
220
+ #
221
+ # @option options [Boolean] :use_accelerate_endpoint (false)
222
+ # When set to `true`, accelerated bucket endpoints will be used
223
+ # for all object operations. You must first enable accelerate for
224
+ # each bucket. [Go here for more information](http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html).
225
+ #
226
+ # @option options [Boolean] :use_dualstack_endpoint (false)
227
+ # When set to `true`, IPv6-compatible bucket endpoints will be used
228
+ # for all operations.
229
+ #
230
+ # @option options [Boolean] :validate_params (true)
231
+ # When `true`, request parameters are validated before
232
+ # sending the request.
200
233
  #
201
234
  def initialize(*args)
202
235
  super
@@ -1085,6 +1118,17 @@ module Aws::S3
1085
1118
  # Deletes the replication configuration from the bucket.
1086
1119
  #
1087
1120
  # @option params [required, String] :bucket
1121
+ # Deletes the replication subresource associated with the specified
1122
+ # bucket.
1123
+ #
1124
+ # <note markdown="1"> There is usually some time lag before replication configuration
1125
+ # deletion is fully propagated to all the Amazon S3 systems.
1126
+ #
1127
+ # </note>
1128
+ #
1129
+ # For more information, see [Cross-Region Replication (CRR)](
1130
+ # https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) in the
1131
+ # Amazon S3 Developer Guide.
1088
1132
  #
1089
1133
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1090
1134
  #
@@ -1201,15 +1245,6 @@ module Aws::S3
1201
1245
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
1202
1246
  #
1203
1247
  #
1204
- # @example Example: To delete an object (from a non-versioned bucket)
1205
- #
1206
- # # The following example deletes an object from a non-versioned bucket.
1207
- #
1208
- # resp = client.delete_object({
1209
- # bucket: "ExampleBucket",
1210
- # key: "HappyFace.jpg",
1211
- # })
1212
- #
1213
1248
  # @example Example: To delete an object
1214
1249
  #
1215
1250
  # # The following example deletes an object from an S3 bucket.
@@ -1223,6 +1258,15 @@ module Aws::S3
1223
1258
  # {
1224
1259
  # }
1225
1260
  #
1261
+ # @example Example: To delete an object (from a non-versioned bucket)
1262
+ #
1263
+ # # The following example deletes an object from a non-versioned bucket.
1264
+ #
1265
+ # resp = client.delete_object({
1266
+ # bucket: "ExampleBucket",
1267
+ # key: "HappyFace.jpg",
1268
+ # })
1269
+ #
1226
1270
  # @example Request syntax with placeholder values
1227
1271
  #
1228
1272
  # resp = client.delete_object({
@@ -2199,7 +2243,15 @@ module Aws::S3
2199
2243
  # resp.replication_configuration.role #=> String
2200
2244
  # resp.replication_configuration.rules #=> Array
2201
2245
  # resp.replication_configuration.rules[0].id #=> String
2246
+ # resp.replication_configuration.rules[0].priority #=> Integer
2202
2247
  # resp.replication_configuration.rules[0].prefix #=> String
2248
+ # resp.replication_configuration.rules[0].filter.prefix #=> String
2249
+ # resp.replication_configuration.rules[0].filter.tag.key #=> String
2250
+ # resp.replication_configuration.rules[0].filter.tag.value #=> String
2251
+ # resp.replication_configuration.rules[0].filter.and.prefix #=> String
2252
+ # resp.replication_configuration.rules[0].filter.and.tags #=> Array
2253
+ # resp.replication_configuration.rules[0].filter.and.tags[0].key #=> String
2254
+ # resp.replication_configuration.rules[0].filter.and.tags[0].value #=> String
2203
2255
  # resp.replication_configuration.rules[0].status #=> String, one of "Enabled", "Disabled"
2204
2256
  # resp.replication_configuration.rules[0].source_selection_criteria.sse_kms_encrypted_objects.status #=> String, one of "Enabled", "Disabled"
2205
2257
  # resp.replication_configuration.rules[0].destination.bucket #=> String
@@ -2207,6 +2259,7 @@ module Aws::S3
2207
2259
  # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA"
2208
2260
  # resp.replication_configuration.rules[0].destination.access_control_translation.owner #=> String, one of "Destination"
2209
2261
  # resp.replication_configuration.rules[0].destination.encryption_configuration.replica_kms_key_id #=> String
2262
+ # resp.replication_configuration.rules[0].delete_marker_replication.status #=> String, one of "Enabled", "Disabled"
2210
2263
  #
2211
2264
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplication AWS API Documentation
2212
2265
  #
@@ -4866,7 +4919,9 @@ module Aws::S3
4866
4919
  end
4867
4920
 
4868
4921
  # Creates a new replication configuration (or replaces an existing one,
4869
- # if present).
4922
+ # if present). For more information, see [Cross-Region Replication
4923
+ # (CRR)]( https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) in
4924
+ # the Amazon S3 Developer Guide.
4870
4925
  #
4871
4926
  # @option params [required, String] :bucket
4872
4927
  #
@@ -4910,7 +4965,24 @@ module Aws::S3
4910
4965
  # rules: [ # required
4911
4966
  # {
4912
4967
  # id: "ID",
4913
- # prefix: "Prefix", # required
4968
+ # priority: 1,
4969
+ # prefix: "Prefix",
4970
+ # filter: {
4971
+ # prefix: "Prefix",
4972
+ # tag: {
4973
+ # key: "ObjectKey", # required
4974
+ # value: "Value", # required
4975
+ # },
4976
+ # and: {
4977
+ # prefix: "Prefix",
4978
+ # tags: [
4979
+ # {
4980
+ # key: "ObjectKey", # required
4981
+ # value: "Value", # required
4982
+ # },
4983
+ # ],
4984
+ # },
4985
+ # },
4914
4986
  # status: "Enabled", # required, accepts Enabled, Disabled
4915
4987
  # source_selection_criteria: {
4916
4988
  # sse_kms_encrypted_objects: {
@@ -4928,6 +5000,9 @@ module Aws::S3
4928
5000
  # replica_kms_key_id: "ReplicaKmsKeyID",
4929
5001
  # },
4930
5002
  # },
5003
+ # delete_marker_replication: {
5004
+ # status: "Enabled", # accepts Enabled, Disabled
5005
+ # },
4931
5006
  # },
4932
5007
  # ],
4933
5008
  # },
@@ -5278,24 +5353,40 @@ module Aws::S3
5278
5353
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
5279
5354
  #
5280
5355
  #
5281
- # @example Example: To upload an object and specify server-side encryption and object tags
5356
+ # @example Example: To create an object.
5282
5357
  #
5283
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
5284
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
5358
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
5285
5359
  #
5286
5360
  # resp = client.put_object({
5287
5361
  # body: "filetoupload",
5288
5362
  # bucket: "examplebucket",
5289
- # key: "exampleobject",
5363
+ # key: "objectkey",
5364
+ # })
5365
+ #
5366
+ # resp.to_h outputs the following:
5367
+ # {
5368
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5369
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
5370
+ # }
5371
+ #
5372
+ # @example Example: To upload an object (specify optional headers)
5373
+ #
5374
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
5375
+ # # storage class and use server-side encryption.
5376
+ #
5377
+ # resp = client.put_object({
5378
+ # body: "HappyFace.jpg",
5379
+ # bucket: "examplebucket",
5380
+ # key: "HappyFace.jpg",
5290
5381
  # server_side_encryption: "AES256",
5291
- # tagging: "key1=value1&key2=value2",
5382
+ # storage_class: "STANDARD_IA",
5292
5383
  # })
5293
5384
  #
5294
5385
  # resp.to_h outputs the following:
5295
5386
  # {
5296
5387
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5297
5388
  # server_side_encryption: "AES256",
5298
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
5389
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
5299
5390
  # }
5300
5391
  #
5301
5392
  # @example Example: To upload an object and specify canned ACL.
@@ -5333,20 +5424,25 @@ module Aws::S3
5333
5424
  # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
5334
5425
  # }
5335
5426
  #
5336
- # @example Example: To create an object.
5427
+ # @example Example: To upload object and specify user-defined metadata
5337
5428
  #
5338
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
5429
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
5430
+ # # enabled, S3 returns version ID in response.
5339
5431
  #
5340
5432
  # resp = client.put_object({
5341
5433
  # body: "filetoupload",
5342
5434
  # bucket: "examplebucket",
5343
- # key: "objectkey",
5435
+ # key: "exampleobject",
5436
+ # metadata: {
5437
+ # "metadata1" => "value1",
5438
+ # "metadata2" => "value2",
5439
+ # },
5344
5440
  # })
5345
5441
  #
5346
5442
  # resp.to_h outputs the following:
5347
5443
  # {
5348
5444
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5349
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
5445
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
5350
5446
  # }
5351
5447
  #
5352
5448
  # @example Example: To upload an object and specify optional tags
@@ -5367,45 +5463,24 @@ module Aws::S3
5367
5463
  # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
5368
5464
  # }
5369
5465
  #
5370
- # @example Example: To upload object and specify user-defined metadata
5466
+ # @example Example: To upload an object and specify server-side encryption and object tags
5371
5467
  #
5372
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
5373
- # # enabled, S3 returns version ID in response.
5468
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
5469
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
5374
5470
  #
5375
5471
  # resp = client.put_object({
5376
5472
  # body: "filetoupload",
5377
5473
  # bucket: "examplebucket",
5378
5474
  # key: "exampleobject",
5379
- # metadata: {
5380
- # "metadata1" => "value1",
5381
- # "metadata2" => "value2",
5382
- # },
5383
- # })
5384
- #
5385
- # resp.to_h outputs the following:
5386
- # {
5387
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5388
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
5389
- # }
5390
- #
5391
- # @example Example: To upload an object (specify optional headers)
5392
- #
5393
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
5394
- # # storage class and use server-side encryption.
5395
- #
5396
- # resp = client.put_object({
5397
- # body: "HappyFace.jpg",
5398
- # bucket: "examplebucket",
5399
- # key: "HappyFace.jpg",
5400
5475
  # server_side_encryption: "AES256",
5401
- # storage_class: "STANDARD_IA",
5476
+ # tagging: "key1=value1&key2=value2",
5402
5477
  # })
5403
5478
  #
5404
5479
  # resp.to_h outputs the following:
5405
5480
  # {
5406
5481
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5407
5482
  # server_side_encryption: "AES256",
5408
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
5483
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
5409
5484
  # }
5410
5485
  #
5411
5486
  # @example Streaming a file from disk
@@ -5717,11 +5792,14 @@ module Aws::S3
5717
5792
  # record_delimiter: "RecordDelimiter",
5718
5793
  # field_delimiter: "FieldDelimiter",
5719
5794
  # quote_character: "QuoteCharacter",
5795
+ # allow_quoted_record_delimiter: false,
5720
5796
  # },
5721
- # compression_type: "NONE", # accepts NONE, GZIP
5797
+ # compression_type: "NONE", # accepts NONE, GZIP, BZIP2
5722
5798
  # json: {
5723
5799
  # type: "DOCUMENT", # accepts DOCUMENT, LINES
5724
5800
  # },
5801
+ # parquet: {
5802
+ # },
5725
5803
  # },
5726
5804
  # expression_type: "SQL", # required, accepts SQL
5727
5805
  # expression: "Expression", # required
@@ -5816,7 +5894,7 @@ module Aws::S3
5816
5894
  #
5817
5895
  #
5818
5896
  #
5819
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
5897
+ # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
5820
5898
  #
5821
5899
  # @option params [String] :sse_customer_key
5822
5900
  # The SSE Customer Key. For more information, go to [ Server-Side
@@ -5824,7 +5902,7 @@ module Aws::S3
5824
5902
  #
5825
5903
  #
5826
5904
  #
5827
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
5905
+ # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
5828
5906
  #
5829
5907
  # @option params [String] :sse_customer_key_md5
5830
5908
  # The SSE Customer Key MD5. For more information, go to [ Server-Side
@@ -5832,7 +5910,7 @@ module Aws::S3
5832
5910
  #
5833
5911
  #
5834
5912
  #
5835
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
5913
+ # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
5836
5914
  #
5837
5915
  # @option params [required, String] :expression
5838
5916
  # The expression that is used to query the object.
@@ -5996,11 +6074,14 @@ module Aws::S3
5996
6074
  # record_delimiter: "RecordDelimiter",
5997
6075
  # field_delimiter: "FieldDelimiter",
5998
6076
  # quote_character: "QuoteCharacter",
6077
+ # allow_quoted_record_delimiter: false,
5999
6078
  # },
6000
- # compression_type: "NONE", # accepts NONE, GZIP
6079
+ # compression_type: "NONE", # accepts NONE, GZIP, BZIP2
6001
6080
  # json: {
6002
6081
  # type: "DOCUMENT", # accepts DOCUMENT, LINES
6003
6082
  # },
6083
+ # parquet: {
6084
+ # },
6004
6085
  # },
6005
6086
  # output_serialization: { # required
6006
6087
  # csv: {
@@ -6274,45 +6355,45 @@ module Aws::S3
6274
6355
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
6275
6356
  #
6276
6357
  #
6277
- # @example Example: To upload a part by copying byte range from an existing object as data source
6358
+ # @example Example: To upload a part by copying data from an existing object as data source
6278
6359
  #
6279
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
6280
- # # data source.
6360
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
6281
6361
  #
6282
6362
  # resp = client.upload_part_copy({
6283
6363
  # bucket: "examplebucket",
6284
6364
  # copy_source: "/bucketname/sourceobjectkey",
6285
- # copy_source_range: "bytes=1-100000",
6286
6365
  # key: "examplelargeobject",
6287
- # part_number: 2,
6366
+ # part_number: 1,
6288
6367
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
6289
6368
  # })
6290
6369
  #
6291
6370
  # resp.to_h outputs the following:
6292
6371
  # {
6293
6372
  # copy_part_result: {
6294
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
6295
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
6373
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
6374
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
6296
6375
  # },
6297
6376
  # }
6298
6377
  #
6299
- # @example Example: To upload a part by copying data from an existing object as data source
6378
+ # @example Example: To upload a part by copying byte range from an existing object as data source
6300
6379
  #
6301
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
6380
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
6381
+ # # data source.
6302
6382
  #
6303
6383
  # resp = client.upload_part_copy({
6304
6384
  # bucket: "examplebucket",
6305
6385
  # copy_source: "/bucketname/sourceobjectkey",
6386
+ # copy_source_range: "bytes=1-100000",
6306
6387
  # key: "examplelargeobject",
6307
- # part_number: 1,
6388
+ # part_number: 2,
6308
6389
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
6309
6390
  # })
6310
6391
  #
6311
6392
  # resp.to_h outputs the following:
6312
6393
  # {
6313
6394
  # copy_part_result: {
6314
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
6315
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
6395
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
6396
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
6316
6397
  # },
6317
6398
  # }
6318
6399
  #
@@ -6371,7 +6452,7 @@ module Aws::S3
6371
6452
  params: params,
6372
6453
  config: config)
6373
6454
  context[:gem_name] = 'aws-sdk-s3'
6374
- context[:gem_version] = '1.13.0'
6455
+ context[:gem_version] = '1.23.0'
6375
6456
  Seahorse::Client::Request.new(handlers, context)
6376
6457
  end
6377
6458