aws-sdk-s3 1.13.0 → 1.23.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.
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