aws-sdk-s3 1.147.0 → 1.156.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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +68 -2
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
  5. data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +241 -0
  6. data/lib/aws-sdk-s3/bucket.rb +12 -12
  7. data/lib/aws-sdk-s3/bucket_acl.rb +3 -3
  8. data/lib/aws-sdk-s3/bucket_cors.rb +4 -4
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +4 -4
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +4 -4
  11. data/lib/aws-sdk-s3/bucket_logging.rb +3 -3
  12. data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
  13. data/lib/aws-sdk-s3/bucket_policy.rb +4 -4
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +3 -3
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +4 -4
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +5 -5
  18. data/lib/aws-sdk-s3/bucket_website.rb +4 -4
  19. data/lib/aws-sdk-s3/client.rb +214 -143
  20. data/lib/aws-sdk-s3/client_api.rb +11 -2
  21. data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
  22. data/lib/aws-sdk-s3/customizations/errors.rb +15 -2
  23. data/lib/aws-sdk-s3/customizations/object.rb +5 -5
  24. data/lib/aws-sdk-s3/customizations.rb +4 -1
  25. data/lib/aws-sdk-s3/encryption/client.rb +2 -2
  26. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -2
  27. data/lib/aws-sdk-s3/encryptionV2/client.rb +2 -2
  28. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +2 -2
  29. data/lib/aws-sdk-s3/endpoint_parameters.rb +8 -0
  30. data/lib/aws-sdk-s3/endpoint_provider.rb +1 -0
  31. data/lib/aws-sdk-s3/endpoints.rb +100 -1
  32. data/lib/aws-sdk-s3/express_credentials_provider.rb +27 -4
  33. data/lib/aws-sdk-s3/file_downloader.rb +1 -1
  34. data/lib/aws-sdk-s3/file_uploader.rb +1 -1
  35. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +1 -1
  36. data/lib/aws-sdk-s3/multipart_upload.rb +4 -4
  37. data/lib/aws-sdk-s3/multipart_upload_part.rb +3 -3
  38. data/lib/aws-sdk-s3/object.rb +30 -12
  39. data/lib/aws-sdk-s3/object_acl.rb +3 -3
  40. data/lib/aws-sdk-s3/object_copier.rb +1 -1
  41. data/lib/aws-sdk-s3/object_multipart_copier.rb +10 -8
  42. data/lib/aws-sdk-s3/object_summary.rb +10 -10
  43. data/lib/aws-sdk-s3/object_version.rb +23 -5
  44. data/lib/aws-sdk-s3/plugins/access_grants.rb +114 -0
  45. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +8 -2
  46. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
  47. data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
  48. data/lib/aws-sdk-s3/presigner.rb +1 -0
  49. data/lib/aws-sdk-s3/resource.rb +2 -2
  50. data/lib/aws-sdk-s3/types.rb +48 -17
  51. data/lib/aws-sdk-s3.rb +1 -1
  52. data/sig/client.rbs +21 -0
  53. data/sig/customizations/bucket.rbs +19 -0
  54. data/sig/customizations/object.rbs +38 -0
  55. data/sig/customizations/object_summary.rbs +35 -0
  56. data/sig/object.rbs +6 -0
  57. data/sig/object_version.rbs +6 -0
  58. data/sig/resource.rbs +3 -0
  59. data/sig/types.rbs +6 -0
  60. data/sig/waiters.rbs +12 -0
  61. metadata +12 -7
  62. data/lib/aws-sdk-s3/express_credentials_cache.rb +0 -30
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -34,6 +35,7 @@ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
35
  require 'aws-sdk-core/plugins/sign.rb'
35
36
  require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
36
37
  require 'aws-sdk-s3/plugins/accelerate.rb'
38
+ require 'aws-sdk-s3/plugins/access_grants.rb'
37
39
  require 'aws-sdk-s3/plugins/arn.rb'
38
40
  require 'aws-sdk-s3/plugins/bucket_dns.rb'
39
41
  require 'aws-sdk-s3/plugins/bucket_name_restrictions.rb'
@@ -92,6 +94,7 @@ module Aws::S3
92
94
  add_plugin(Aws::Plugins::ResponsePaging)
93
95
  add_plugin(Aws::Plugins::StubResponses)
94
96
  add_plugin(Aws::Plugins::IdempotencyToken)
97
+ add_plugin(Aws::Plugins::InvocationId)
95
98
  add_plugin(Aws::Plugins::JsonvalueConverter)
96
99
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
97
100
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -104,6 +107,7 @@ module Aws::S3
104
107
  add_plugin(Aws::Plugins::Sign)
105
108
  add_plugin(Aws::Plugins::Protocols::RestXml)
106
109
  add_plugin(Aws::S3::Plugins::Accelerate)
110
+ add_plugin(Aws::S3::Plugins::AccessGrants)
107
111
  add_plugin(Aws::S3::Plugins::ARN)
108
112
  add_plugin(Aws::S3::Plugins::BucketDns)
109
113
  add_plugin(Aws::S3::Plugins::BucketNameRestrictions)
@@ -127,6 +131,11 @@ module Aws::S3
127
131
 
128
132
  # @overload initialize(options)
129
133
  # @param [Hash] options
134
+ #
135
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
136
+ # A list of plugins to apply to the client. Each plugin is either a
137
+ # class name or an instance of a plugin class.
138
+ #
130
139
  # @option options [required, Aws::CredentialProvider] :credentials
131
140
  # Your AWS credentials. This can be an instance of any one of the
132
141
  # following classes:
@@ -184,6 +193,16 @@ module Aws::S3
184
193
  # * `~/.aws/credentials`
185
194
  # * `~/.aws/config`
186
195
  #
196
+ # @option options [Boolean] :access_grants (false)
197
+ # When `true`, the S3 client will use the S3 Access Grants feature to
198
+ # authenticate requests. Bucket credentials will be fetched from S3
199
+ # Control using the `get_data_access` API.
200
+ #
201
+ # @option options [Aws::S3::AccessGrantsCredentialsProvider] :access_grants_credentials_provider
202
+ # When `access_grants` is `true`, this option can be used to provide
203
+ # additional options to the credentials provider, including a privilege
204
+ # setting, caching, and fallback behavior.
205
+ #
187
206
  # @option options [String] :access_key_id
188
207
  #
189
208
  # @option options [Boolean] :active_endpoint_cache (false)
@@ -246,10 +265,16 @@ module Aws::S3
246
265
  # @option options [Boolean] :disable_s3_express_session_auth
247
266
  # Parameter to indicate whether S3Express session auth should be disabled
248
267
  #
249
- # @option options [String] :endpoint
250
- # The client endpoint is normally constructed from the `:region`
251
- # option. You should only configure an `:endpoint` when connecting
252
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
268
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
269
+ # Normally you should not configure the `:endpoint` option
270
+ # directly. This is normally constructed from the `:region`
271
+ # option. Configuring `:endpoint` is normally reserved for
272
+ # connecting to test or custom endpoints. The endpoint should
273
+ # be a URI formatted like:
274
+ #
275
+ # 'http://example.com'
276
+ # 'https://example.com'
277
+ # 'http://example.com:123'
253
278
  #
254
279
  # @option options [Integer] :endpoint_cache_max_entries (1000)
255
280
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -365,7 +390,6 @@ module Aws::S3
365
390
  # throttling. This is a provisional mode that may change behavior
366
391
  # in the future.
367
392
  #
368
- #
369
393
  # @option options [Boolean] :s3_disable_multiregion_access_points (false)
370
394
  # When set to `false` this will option will raise errors when multi-region
371
395
  # access point ARNs are used. Multi-region access points can potentially
@@ -382,13 +406,23 @@ module Aws::S3
382
406
  #
383
407
  # @option options [String] :sdk_ua_app_id
384
408
  # A unique and opaque application ID that is appended to the
385
- # User-Agent header as app/<sdk_ua_app_id>. It should have a
386
- # maximum length of 50.
409
+ # User-Agent header as app/sdk_ua_app_id. It should have a
410
+ # maximum length of 50. This variable is sourced from environment
411
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
387
412
  #
388
413
  # @option options [String] :secret_access_key
389
414
  #
390
415
  # @option options [String] :session_token
391
416
  #
417
+ # @option options [Array] :sigv4a_signing_region_set
418
+ # A list of regions that should be signed with SigV4a signing. When
419
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
420
+ # in the following locations:
421
+ #
422
+ # * `Aws.config[:sigv4a_signing_region_set]`
423
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
424
+ # * `~/.aws/config`
425
+ #
392
426
  # @option options [Boolean] :stub_responses (false)
393
427
  # Causes the client to return stubbed responses. By default
394
428
  # fake responses are generated and returned. You can specify
@@ -432,50 +466,65 @@ module Aws::S3
432
466
  # @option options [Aws::S3::EndpointProvider] :endpoint_provider
433
467
  # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::S3::EndpointParameters`
434
468
  #
435
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
436
- # requests through. Formatted like 'http://proxy.com:123'.
437
- #
438
- # @option options [Float] :http_open_timeout (15) The number of
439
- # seconds to wait when opening a HTTP session before raising a
440
- # `Timeout::Error`.
441
- #
442
- # @option options [Float] :http_read_timeout (60) The default
443
- # number of seconds to wait for response data. This value can
444
- # safely be set per-request on the session.
445
- #
446
- # @option options [Float] :http_idle_timeout (5) The number of
447
- # seconds a connection is allowed to sit idle before it is
448
- # considered stale. Stale connections are closed and removed
449
- # from the pool before making a request.
450
- #
451
- # @option options [Float] :http_continue_timeout (1) The number of
452
- # seconds to wait for a 100-continue response before sending the
453
- # request body. This option has no effect unless the request has
454
- # "Expect" header set to "100-continue". Defaults to `nil` which
455
- # disables this behaviour. This value can safely be set per
456
- # request on the session.
457
- #
458
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
459
- # in seconds.
460
- #
461
- # @option options [Boolean] :http_wire_trace (false) When `true`,
462
- # HTTP debug output will be sent to the `:logger`.
469
+ # @option options [Float] :http_continue_timeout (1)
470
+ # The number of seconds to wait for a 100-continue response before sending the
471
+ # request body. This option has no effect unless the request has "Expect"
472
+ # header set to "100-continue". Defaults to `nil` which disables this
473
+ # behaviour. This value can safely be set per request on the session.
474
+ #
475
+ # @option options [Float] :http_idle_timeout (5)
476
+ # The number of seconds a connection is allowed to sit idle before it
477
+ # is considered stale. Stale connections are closed and removed from the
478
+ # pool before making a request.
479
+ #
480
+ # @option options [Float] :http_open_timeout (15)
481
+ # The default number of seconds to wait for response data.
482
+ # This value can safely be set per-request on the session.
483
+ #
484
+ # @option options [URI::HTTP,String] :http_proxy
485
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
486
+ #
487
+ # @option options [Float] :http_read_timeout (60)
488
+ # The default number of seconds to wait for response data.
489
+ # This value can safely be set per-request on the session.
490
+ #
491
+ # @option options [Boolean] :http_wire_trace (false)
492
+ # When `true`, HTTP debug output will be sent to the `:logger`.
493
+ #
494
+ # @option options [Proc] :on_chunk_received
495
+ # When a Proc object is provided, it will be used as callback when each chunk
496
+ # of the response body is received. It provides three arguments: the chunk,
497
+ # the number of bytes received, and the total number of
498
+ # bytes in the response (or nil if the server did not send a `content-length`).
499
+ #
500
+ # @option options [Proc] :on_chunk_sent
501
+ # When a Proc object is provided, it will be used as callback when each chunk
502
+ # of the request body is sent. It provides three arguments: the chunk,
503
+ # the number of bytes read from the body, and the total number of
504
+ # bytes in the body.
505
+ #
506
+ # @option options [Boolean] :raise_response_errors (true)
507
+ # When `true`, response errors are raised.
508
+ #
509
+ # @option options [String] :ssl_ca_bundle
510
+ # Full path to the SSL certificate authority bundle file that should be used when
511
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
512
+ # `:ssl_ca_directory` the the system default will be used if available.
513
+ #
514
+ # @option options [String] :ssl_ca_directory
515
+ # Full path of the directory that contains the unbundled SSL certificate
516
+ # authority files for verifying peer certificates. If you do
517
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
518
+ # default will be used if available.
463
519
  #
464
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
465
- # SSL peer certificates are verified when establishing a
466
- # connection.
520
+ # @option options [String] :ssl_ca_store
521
+ # Sets the X509::Store to verify peer certificate.
467
522
  #
468
- # @option options [String] :ssl_ca_bundle Full path to the SSL
469
- # certificate authority bundle file that should be used when
470
- # verifying peer certificates. If you do not pass
471
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
472
- # will be used if available.
523
+ # @option options [Float] :ssl_timeout
524
+ # Sets the SSL timeout in seconds
473
525
  #
474
- # @option options [String] :ssl_ca_directory Full path of the
475
- # directory that contains the unbundled SSL certificate
476
- # authority files for verifying peer certificates. If you do
477
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
478
- # system default will be used if available.
526
+ # @option options [Boolean] :ssl_verify_peer (true)
527
+ # When `true`, SSL peer certificates are verified when establishing a connection.
479
528
  #
480
529
  def initialize(*args)
481
530
  super
@@ -1164,8 +1213,7 @@ module Aws::S3
1164
1213
  # : When the request is an HTTP 1.1 request, the response is chunk
1165
1214
  # encoded. When the request is not an HTTP 1.1 request, the response
1166
1215
  # would not contain the `Content-Length`. You always need to read the
1167
- # entire response body to check if the copy succeeds. to keep the
1168
- # connection alive while we copy the data.
1216
+ # entire response body to check if the copy succeeds.
1169
1217
  #
1170
1218
  # * If the copy is successful, you receive a response with information
1171
1219
  # about the copied object.
@@ -2291,33 +2339,33 @@ module Aws::S3
2291
2339
  # * {Types::CreateBucketOutput#location #location} => String
2292
2340
  #
2293
2341
  #
2294
- # @example Example: To create a bucket
2342
+ # @example Example: To create a bucket in a specific region
2295
2343
  #
2296
- # # The following example creates a bucket.
2344
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2297
2345
  #
2298
2346
  # resp = client.create_bucket({
2299
2347
  # bucket: "examplebucket",
2348
+ # create_bucket_configuration: {
2349
+ # location_constraint: "eu-west-1",
2350
+ # },
2300
2351
  # })
2301
2352
  #
2302
2353
  # resp.to_h outputs the following:
2303
2354
  # {
2304
- # location: "/examplebucket",
2355
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2305
2356
  # }
2306
2357
  #
2307
- # @example Example: To create a bucket in a specific region
2358
+ # @example Example: To create a bucket
2308
2359
  #
2309
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
2360
+ # # The following example creates a bucket.
2310
2361
  #
2311
2362
  # resp = client.create_bucket({
2312
2363
  # bucket: "examplebucket",
2313
- # create_bucket_configuration: {
2314
- # location_constraint: "eu-west-1",
2315
- # },
2316
2364
  # })
2317
2365
  #
2318
2366
  # resp.to_h outputs the following:
2319
2367
  # {
2320
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
2368
+ # location: "/examplebucket",
2321
2369
  # }
2322
2370
  #
2323
2371
  # @example Request syntax with placeholder values
@@ -4680,7 +4728,7 @@ module Aws::S3
4680
4728
  # permission.
4681
4729
  #
4682
4730
  # * <b> <code>s3:DeleteObjectVersion</code> </b> - To delete a
4683
- # specific version of an object from a versiong-enabled bucket,
4731
+ # specific version of an object from a versioning-enabled bucket,
4684
4732
  # you must specify the `s3:DeleteObjectVersion` permission.
4685
4733
  #
4686
4734
  # * **Directory bucket permissions** - To grant access to this API
@@ -4881,22 +4929,20 @@ module Aws::S3
4881
4929
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
4882
4930
  #
4883
4931
  #
4884
- # @example Example: To delete multiple object versions from a versioned bucket
4932
+ # @example Example: To delete multiple objects from a versioned bucket
4885
4933
  #
4886
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
4887
- # # versions and returns the key and versions of deleted objects in the response.
4934
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
4935
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
4888
4936
  #
4889
4937
  # resp = client.delete_objects({
4890
4938
  # bucket: "examplebucket",
4891
4939
  # delete: {
4892
4940
  # objects: [
4893
4941
  # {
4894
- # key: "HappyFace.jpg",
4895
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
4942
+ # key: "objectkey1",
4896
4943
  # },
4897
4944
  # {
4898
- # key: "HappyFace.jpg",
4899
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
4945
+ # key: "objectkey2",
4900
4946
  # },
4901
4947
  # ],
4902
4948
  # quiet: false,
@@ -4907,30 +4953,34 @@ module Aws::S3
4907
4953
  # {
4908
4954
  # deleted: [
4909
4955
  # {
4910
- # key: "HappyFace.jpg",
4911
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
4956
+ # delete_marker: true,
4957
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
4958
+ # key: "objectkey1",
4912
4959
  # },
4913
4960
  # {
4914
- # key: "HappyFace.jpg",
4915
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
4961
+ # delete_marker: true,
4962
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
4963
+ # key: "objectkey2",
4916
4964
  # },
4917
4965
  # ],
4918
4966
  # }
4919
4967
  #
4920
- # @example Example: To delete multiple objects from a versioned bucket
4968
+ # @example Example: To delete multiple object versions from a versioned bucket
4921
4969
  #
4922
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
4923
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
4970
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
4971
+ # # versions and returns the key and versions of deleted objects in the response.
4924
4972
  #
4925
4973
  # resp = client.delete_objects({
4926
4974
  # bucket: "examplebucket",
4927
4975
  # delete: {
4928
4976
  # objects: [
4929
4977
  # {
4930
- # key: "objectkey1",
4978
+ # key: "HappyFace.jpg",
4979
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
4931
4980
  # },
4932
4981
  # {
4933
- # key: "objectkey2",
4982
+ # key: "HappyFace.jpg",
4983
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
4934
4984
  # },
4935
4985
  # ],
4936
4986
  # quiet: false,
@@ -4941,14 +4991,12 @@ module Aws::S3
4941
4991
  # {
4942
4992
  # deleted: [
4943
4993
  # {
4944
- # delete_marker: true,
4945
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
4946
- # key: "objectkey1",
4994
+ # key: "HappyFace.jpg",
4995
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
4947
4996
  # },
4948
4997
  # {
4949
- # delete_marker: true,
4950
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
4951
- # key: "objectkey2",
4998
+ # key: "HappyFace.jpg",
4999
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
4952
5000
  # },
4953
5001
  # ],
4954
5002
  # }
@@ -9386,6 +9434,24 @@ module Aws::S3
9386
9434
  # the Range is not satisfiable, S3 returns a `416 - Requested Range Not
9387
9435
  # Satisfiable` error.
9388
9436
  #
9437
+ # @option params [String] :response_cache_control
9438
+ # Sets the `Cache-Control` header of the response.
9439
+ #
9440
+ # @option params [String] :response_content_disposition
9441
+ # Sets the `Content-Disposition` header of the response.
9442
+ #
9443
+ # @option params [String] :response_content_encoding
9444
+ # Sets the `Content-Encoding` header of the response.
9445
+ #
9446
+ # @option params [String] :response_content_language
9447
+ # Sets the `Content-Language` header of the response.
9448
+ #
9449
+ # @option params [String] :response_content_type
9450
+ # Sets the `Content-Type` header of the response.
9451
+ #
9452
+ # @option params [Time,DateTime,Date,Integer,String] :response_expires
9453
+ # Sets the `Expires` header of the response.
9454
+ #
9389
9455
  # @option params [String] :version_id
9390
9456
  # Version ID used to reference a specific version of the object.
9391
9457
  #
@@ -9528,6 +9594,12 @@ module Aws::S3
9528
9594
  # if_unmodified_since: Time.now,
9529
9595
  # key: "ObjectKey", # required
9530
9596
  # range: "Range",
9597
+ # response_cache_control: "ResponseCacheControl",
9598
+ # response_content_disposition: "ResponseContentDisposition",
9599
+ # response_content_encoding: "ResponseContentEncoding",
9600
+ # response_content_language: "ResponseContentLanguage",
9601
+ # response_content_type: "ResponseContentType",
9602
+ # response_expires: Time.now,
9531
9603
  # version_id: "ObjectVersionId",
9532
9604
  # sse_customer_algorithm: "SSECustomerAlgorithm",
9533
9605
  # sse_customer_key: "SSECustomerKey",
@@ -11145,8 +11217,8 @@ module Aws::S3
11145
11217
  # @option params [String] :encoding_type
11146
11218
  # Encoding type used by Amazon S3 to encode object keys in the response.
11147
11219
  # If using `url`, non-ASCII characters used in an object's key name
11148
- # will be URL encoded. For example, the object test\_file(3).png will
11149
- # appear as test\_file%283%29.png.
11220
+ # will be URL encoded. For example, the object `test_file(3).png` will
11221
+ # appear as `test_file%283%29.png`.
11150
11222
  #
11151
11223
  # @option params [Integer] :max_keys
11152
11224
  # Sets the maximum number of keys returned in the response. By default,
@@ -15390,6 +15462,26 @@ module Aws::S3
15390
15462
  # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
15391
15463
  # }
15392
15464
  #
15465
+ # @example Example: To upload an object and specify server-side encryption and object tags
15466
+ #
15467
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
15468
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
15469
+ #
15470
+ # resp = client.put_object({
15471
+ # body: "filetoupload",
15472
+ # bucket: "examplebucket",
15473
+ # key: "exampleobject",
15474
+ # server_side_encryption: "AES256",
15475
+ # tagging: "key1=value1&key2=value2",
15476
+ # })
15477
+ #
15478
+ # resp.to_h outputs the following:
15479
+ # {
15480
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
15481
+ # server_side_encryption: "AES256",
15482
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
15483
+ # }
15484
+ #
15393
15485
  # @example Example: To upload an object (specify optional headers)
15394
15486
  #
15395
15487
  # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
@@ -15431,76 +15523,56 @@ module Aws::S3
15431
15523
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
15432
15524
  # }
15433
15525
  #
15434
- # @example Example: To upload an object and specify canned ACL.
15435
- #
15436
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
15437
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
15438
- #
15439
- # resp = client.put_object({
15440
- # acl: "authenticated-read",
15441
- # body: "filetoupload",
15442
- # bucket: "examplebucket",
15443
- # key: "exampleobject",
15444
- # })
15445
- #
15446
- # resp.to_h outputs the following:
15447
- # {
15448
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
15449
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
15450
- # }
15451
- #
15452
- # @example Example: To create an object.
15526
+ # @example Example: To upload an object and specify optional tags
15453
15527
  #
15454
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
15528
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
15529
+ # # S3 returns version ID of the newly created object.
15455
15530
  #
15456
15531
  # resp = client.put_object({
15457
- # body: "filetoupload",
15532
+ # body: "c:\\HappyFace.jpg",
15458
15533
  # bucket: "examplebucket",
15459
- # key: "objectkey",
15534
+ # key: "HappyFace.jpg",
15535
+ # tagging: "key1=value1&key2=value2",
15460
15536
  # })
15461
15537
  #
15462
15538
  # resp.to_h outputs the following:
15463
15539
  # {
15464
15540
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
15465
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
15541
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
15466
15542
  # }
15467
15543
  #
15468
- # @example Example: To upload an object and specify server-side encryption and object tags
15544
+ # @example Example: To upload an object and specify canned ACL.
15469
15545
  #
15470
- # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
15471
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
15546
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
15547
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
15472
15548
  #
15473
15549
  # resp = client.put_object({
15550
+ # acl: "authenticated-read",
15474
15551
  # body: "filetoupload",
15475
15552
  # bucket: "examplebucket",
15476
15553
  # key: "exampleobject",
15477
- # server_side_encryption: "AES256",
15478
- # tagging: "key1=value1&key2=value2",
15479
15554
  # })
15480
15555
  #
15481
15556
  # resp.to_h outputs the following:
15482
15557
  # {
15483
15558
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
15484
- # server_side_encryption: "AES256",
15485
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
15559
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
15486
15560
  # }
15487
15561
  #
15488
- # @example Example: To upload an object and specify optional tags
15562
+ # @example Example: To create an object.
15489
15563
  #
15490
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
15491
- # # S3 returns version ID of the newly created object.
15564
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
15492
15565
  #
15493
15566
  # resp = client.put_object({
15494
- # body: "c:\\HappyFace.jpg",
15567
+ # body: "filetoupload",
15495
15568
  # bucket: "examplebucket",
15496
- # key: "HappyFace.jpg",
15497
- # tagging: "key1=value1&key2=value2",
15569
+ # key: "objectkey",
15498
15570
  # })
15499
15571
  #
15500
15572
  # resp.to_h outputs the following:
15501
15573
  # {
15502
15574
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
15503
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
15575
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
15504
15576
  # }
15505
15577
  #
15506
15578
  # @example Streaming a file from disk
@@ -17206,22 +17278,22 @@ module Aws::S3
17206
17278
  #
17207
17279
  # @example EventStream Operation Example
17208
17280
  #
17209
- # You can process event once it arrives immediately, or wait until
17210
- # full response complete and iterate through eventstream enumerator.
17281
+ # You can process the event once it arrives immediately, or wait until the
17282
+ # full response is complete and iterate through the eventstream enumerator.
17211
17283
  #
17212
17284
  # To interact with event immediately, you need to register #select_object_content
17213
- # with callbacks, callbacks can be register for specifc events or for all events,
17214
- # callback for errors in the event stream is also available for register.
17285
+ # with callbacks. Callbacks can be registered for specific events or for all
17286
+ # events, including error events.
17215
17287
  #
17216
- # Callbacks can be passed in by `:event_stream_handler` option or within block
17217
- # statement attached to #select_object_content call directly. Hybrid pattern of both
17218
- # is also supported.
17288
+ # Callbacks can be passed into the `:event_stream_handler` option or within a
17289
+ # block statement attached to the #select_object_content call directly. Hybrid
17290
+ # pattern of both is also supported.
17219
17291
  #
17220
- # `:event_stream_handler` option takes in either Proc object or
17292
+ # `:event_stream_handler` option takes in either a Proc object or
17221
17293
  # Aws::S3::EventStreams::SelectObjectContentEventStream object.
17222
17294
  #
17223
- # Usage pattern a): callbacks with a block attached to #select_object_content
17224
- # Example for registering callbacks for all event types and error event
17295
+ # Usage pattern a): Callbacks with a block attached to #select_object_content
17296
+ # Example for registering callbacks for all event types and an error event
17225
17297
  #
17226
17298
  # client.select_object_content( # params input# ) do |stream|
17227
17299
  # stream.on_error_event do |event|
@@ -17241,9 +17313,9 @@ module Aws::S3
17241
17313
  #
17242
17314
  # end
17243
17315
  #
17244
- # Usage pattern b): pass in `:event_stream_handler` for #select_object_content
17316
+ # Usage pattern b): Pass in `:event_stream_handler` for #select_object_content
17245
17317
  #
17246
- # 1) create a Aws::S3::EventStreams::SelectObjectContentEventStream object
17318
+ # 1) Create a Aws::S3::EventStreams::SelectObjectContentEventStream object
17247
17319
  # Example for registering callbacks with specific events
17248
17320
  #
17249
17321
  # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new
@@ -17265,7 +17337,7 @@ module Aws::S3
17265
17337
  #
17266
17338
  # client.select_object_content( # params input #, event_stream_handler: handler)
17267
17339
  #
17268
- # 2) use a Ruby Proc object
17340
+ # 2) Use a Ruby Proc object
17269
17341
  # Example for registering callbacks with specific events
17270
17342
  #
17271
17343
  # handler = Proc.new do |stream|
@@ -17288,7 +17360,7 @@ module Aws::S3
17288
17360
  #
17289
17361
  # client.select_object_content( # params input #, event_stream_handler: handler)
17290
17362
  #
17291
- # Usage pattern c): hybird pattern of a) and b)
17363
+ # Usage pattern c): Hybrid pattern of a) and b)
17292
17364
  #
17293
17365
  # handler = Aws::S3::EventStreams::SelectObjectContentEventStream.new
17294
17366
  # handler.on_records_event do |event|
@@ -17318,8 +17390,7 @@ module Aws::S3
17318
17390
  # end
17319
17391
  # end
17320
17392
  #
17321
- # Besides above usage patterns for process events when they arrive immediately, you can also
17322
- # iterate through events after response complete.
17393
+ # You can also iterate through events after the response complete.
17323
17394
  #
17324
17395
  # Events are available at resp.payload # => Enumerator
17325
17396
  # For parameter input example, please refer to following request syntax
@@ -17924,7 +17995,7 @@ module Aws::S3
17924
17995
  # the object copy to the destination bucket.
17925
17996
  #
17926
17997
  # For information about permissions required to use the multipart
17927
- # upload API, see [Multipart Upload and Permissions][7] in the
17998
+ # upload API, see [Multipart upload API and permissions][7] in the
17928
17999
  # *Amazon S3 User Guide*.
17929
18000
  #
17930
18001
  # * **Directory bucket permissions** - You must have permissions in a
@@ -17934,9 +18005,9 @@ module Aws::S3
17934
18005
  # * If the source object that you want to copy is in a directory
17935
18006
  # bucket, you must have the <b>
17936
18007
  # <code>s3express:CreateSession</code> </b> permission in the
17937
- # `Action` element of a policy to read the object . By default,
17938
- # the session is in the `ReadWrite` mode. If you want to restrict
17939
- # the access, you can explicitly set the `s3express:SessionMode`
18008
+ # `Action` element of a policy to read the object. By default, the
18009
+ # session is in the `ReadWrite` mode. If you want to restrict the
18010
+ # access, you can explicitly set the `s3express:SessionMode`
17940
18011
  # condition key to `ReadOnly` on the copy source bucket.
17941
18012
  #
17942
18013
  # * If the copy destination is a directory bucket, you must have the
@@ -18003,7 +18074,7 @@ module Aws::S3
18003
18074
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html
18004
18075
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
18005
18076
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
18006
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
18077
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
18007
18078
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
18008
18079
  # [9]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
18009
18080
  # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
@@ -18792,7 +18863,7 @@ module Aws::S3
18792
18863
  params: params,
18793
18864
  config: config)
18794
18865
  context[:gem_name] = 'aws-sdk-s3'
18795
- context[:gem_version] = '1.147.0'
18866
+ context[:gem_version] = '1.156.0'
18796
18867
  Seahorse::Client::Request.new(handlers, context)
18797
18868
  end
18798
18869