aws-sdk-s3 1.147.0 → 1.156.0

Sign up to get free protection for your applications and to get access to all the features.
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