aws-sdk-s3 1.0.0.rc1 → 1.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
@@ -329,6 +329,7 @@ module Aws
329
329
  # "MetadataKey" => "MetadataValue",
330
330
  # },
331
331
  # metadata_directive: "COPY", # accepts COPY, REPLACE
332
+ # tagging_directive: "COPY", # accepts COPY, REPLACE
332
333
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
333
334
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
334
335
  # website_redirect_location: "WebsiteRedirectLocation",
@@ -340,6 +341,7 @@ module Aws
340
341
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
341
342
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
342
343
  # request_payer: "requester", # accepts requester
344
+ # tagging: "TaggingHeader",
343
345
  # })
344
346
  # @param [Hash] options ({})
345
347
  # @option options [String] :acl
@@ -385,6 +387,9 @@ module Aws
385
387
  # @option options [String] :metadata_directive
386
388
  # Specifies whether the metadata is copied from the source object or
387
389
  # replaced with metadata provided in the request.
390
+ # @option options [String] :tagging_directive
391
+ # Specifies whether the object tag-set are copied from the source object
392
+ # or replaced with tag-set provided in the request.
388
393
  # @option options [String] :server_side_encryption
389
394
  # The Server-side encryption algorithm used when storing this object in
390
395
  # S3 (e.g., AES256, aws:kms).
@@ -430,6 +435,10 @@ module Aws
430
435
  # requests. Documentation on downloading objects from requester pays
431
436
  # buckets can be found at
432
437
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
438
+ # @option options [String] :tagging
439
+ # The tag-set for the object destination object this value must be used
440
+ # in conjunction with the TaggingDirective. The tag-set must be encoded
441
+ # as URL Query parameters
433
442
  # @return [Types::CopyObjectOutput]
434
443
  def copy_from(options = {})
435
444
  options = options.merge(
@@ -686,6 +695,7 @@ module Aws
686
695
  # sse_customer_key_md5: "SSECustomerKeyMD5",
687
696
  # ssekms_key_id: "SSEKMSKeyId",
688
697
  # request_payer: "requester", # accepts requester
698
+ # tagging: "TaggingHeader",
689
699
  # })
690
700
  # @param [Hash] options ({})
691
701
  # @option options [String] :acl
@@ -756,6 +766,9 @@ module Aws
756
766
  # requests. Documentation on downloading objects from requester pays
757
767
  # buckets can be found at
758
768
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
769
+ # @option options [String] :tagging
770
+ # The tag-set for the object. The tag-set must be encoded as URL Query
771
+ # parameters
759
772
  # @return [Types::PutObjectOutput]
760
773
  def put(options = {})
761
774
  options = options.merge(
@@ -172,6 +172,7 @@ module Aws
172
172
  # "MetadataKey" => "MetadataValue",
173
173
  # },
174
174
  # metadata_directive: "COPY", # accepts COPY, REPLACE
175
+ # tagging_directive: "COPY", # accepts COPY, REPLACE
175
176
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
176
177
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
177
178
  # website_redirect_location: "WebsiteRedirectLocation",
@@ -183,6 +184,7 @@ module Aws
183
184
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
184
185
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
185
186
  # request_payer: "requester", # accepts requester
187
+ # tagging: "TaggingHeader",
186
188
  # })
187
189
  # @param [Hash] options ({})
188
190
  # @option options [String] :acl
@@ -228,6 +230,9 @@ module Aws
228
230
  # @option options [String] :metadata_directive
229
231
  # Specifies whether the metadata is copied from the source object or
230
232
  # replaced with metadata provided in the request.
233
+ # @option options [String] :tagging_directive
234
+ # Specifies whether the object tag-set are copied from the source object
235
+ # or replaced with tag-set provided in the request.
231
236
  # @option options [String] :server_side_encryption
232
237
  # The Server-side encryption algorithm used when storing this object in
233
238
  # S3 (e.g., AES256, aws:kms).
@@ -273,6 +278,10 @@ module Aws
273
278
  # requests. Documentation on downloading objects from requester pays
274
279
  # buckets can be found at
275
280
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
281
+ # @option options [String] :tagging
282
+ # The tag-set for the object destination object this value must be used
283
+ # in conjunction with the TaggingDirective. The tag-set must be encoded
284
+ # as URL Query parameters
276
285
  # @return [Types::CopyObjectOutput]
277
286
  def copy_from(options = {})
278
287
  options = options.merge(
@@ -529,6 +538,7 @@ module Aws
529
538
  # sse_customer_key_md5: "SSECustomerKeyMD5",
530
539
  # ssekms_key_id: "SSEKMSKeyId",
531
540
  # request_payer: "requester", # accepts requester
541
+ # tagging: "TaggingHeader",
532
542
  # })
533
543
  # @param [Hash] options ({})
534
544
  # @option options [String] :acl
@@ -599,6 +609,9 @@ module Aws
599
609
  # requests. Documentation on downloading objects from requester pays
600
610
  # buckets can be found at
601
611
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
612
+ # @option options [String] :tagging
613
+ # The tag-set for the object. The tag-set must be encoded as URL Query
614
+ # parameters
602
615
  # @return [Types::PutObjectOutput]
603
616
  def put(options = {})
604
617
  options = options.merge(
@@ -116,6 +116,182 @@ module Aws
116
116
  include Aws::Structure
117
117
  end
118
118
 
119
+ # @note When making an API call, pass AnalyticsAndOperator
120
+ # data as a hash:
121
+ #
122
+ # {
123
+ # prefix: "Prefix",
124
+ # tags: [
125
+ # {
126
+ # key: "ObjectKey", # required
127
+ # value: "Value", # required
128
+ # },
129
+ # ],
130
+ # }
131
+ # @!attribute [rw] prefix
132
+ # The prefix to use when evaluating an AND predicate.
133
+ # @return [String]
134
+ #
135
+ # @!attribute [rw] tags
136
+ # The list of tags to use when evaluating an AND predicate.
137
+ # @return [Array<Types::Tag>]
138
+ class AnalyticsAndOperator < Struct.new(
139
+ :prefix,
140
+ :tags)
141
+ include Aws::Structure
142
+ end
143
+
144
+ # @note When making an API call, pass AnalyticsConfiguration
145
+ # data as a hash:
146
+ #
147
+ # {
148
+ # id: "AnalyticsId", # required
149
+ # filter: {
150
+ # prefix: "Prefix",
151
+ # tag: {
152
+ # key: "ObjectKey", # required
153
+ # value: "Value", # required
154
+ # },
155
+ # and: {
156
+ # prefix: "Prefix",
157
+ # tags: [
158
+ # {
159
+ # key: "ObjectKey", # required
160
+ # value: "Value", # required
161
+ # },
162
+ # ],
163
+ # },
164
+ # },
165
+ # storage_class_analysis: { # required
166
+ # data_export: {
167
+ # output_schema_version: "V_1", # required, accepts V_1
168
+ # destination: { # required
169
+ # s3_bucket_destination: { # required
170
+ # format: "CSV", # required, accepts CSV
171
+ # bucket_account_id: "AccountId",
172
+ # bucket: "BucketName", # required
173
+ # prefix: "Prefix",
174
+ # },
175
+ # },
176
+ # },
177
+ # },
178
+ # }
179
+ # @!attribute [rw] id
180
+ # The identifier used to represent an analytics configuration.
181
+ # @return [String]
182
+ #
183
+ # @!attribute [rw] filter
184
+ # The filter used to describe a set of objects for analyses. A filter
185
+ # must have exactly one prefix, one tag, or one conjunction
186
+ # (AnalyticsAndOperator). If no filter is provided, all objects will
187
+ # be considered in any analysis.
188
+ # @return [Types::AnalyticsFilter]
189
+ #
190
+ # @!attribute [rw] storage_class_analysis
191
+ # If present, it indicates that data related to access patterns will
192
+ # be collected and made available to analyze the tradeoffs between
193
+ # different storage classes.
194
+ # @return [Types::StorageClassAnalysis]
195
+ class AnalyticsConfiguration < Struct.new(
196
+ :id,
197
+ :filter,
198
+ :storage_class_analysis)
199
+ include Aws::Structure
200
+ end
201
+
202
+ # @note When making an API call, pass AnalyticsExportDestination
203
+ # data as a hash:
204
+ #
205
+ # {
206
+ # s3_bucket_destination: { # required
207
+ # format: "CSV", # required, accepts CSV
208
+ # bucket_account_id: "AccountId",
209
+ # bucket: "BucketName", # required
210
+ # prefix: "Prefix",
211
+ # },
212
+ # }
213
+ # @!attribute [rw] s3_bucket_destination
214
+ # A destination signifying output to an S3 bucket.
215
+ # @return [Types::AnalyticsS3BucketDestination]
216
+ class AnalyticsExportDestination < Struct.new(
217
+ :s3_bucket_destination)
218
+ include Aws::Structure
219
+ end
220
+
221
+ # @note When making an API call, pass AnalyticsFilter
222
+ # data as a hash:
223
+ #
224
+ # {
225
+ # prefix: "Prefix",
226
+ # tag: {
227
+ # key: "ObjectKey", # required
228
+ # value: "Value", # required
229
+ # },
230
+ # and: {
231
+ # prefix: "Prefix",
232
+ # tags: [
233
+ # {
234
+ # key: "ObjectKey", # required
235
+ # value: "Value", # required
236
+ # },
237
+ # ],
238
+ # },
239
+ # }
240
+ # @!attribute [rw] prefix
241
+ # The prefix to use when evaluating an analytics filter.
242
+ # @return [String]
243
+ #
244
+ # @!attribute [rw] tag
245
+ # The tag to use when evaluating an analytics filter.
246
+ # @return [Types::Tag]
247
+ #
248
+ # @!attribute [rw] and
249
+ # A conjunction (logical AND) of predicates, which is used in
250
+ # evaluating an analytics filter. The operator must have at least two
251
+ # predicates.
252
+ # @return [Types::AnalyticsAndOperator]
253
+ class AnalyticsFilter < Struct.new(
254
+ :prefix,
255
+ :tag,
256
+ :and)
257
+ include Aws::Structure
258
+ end
259
+
260
+ # @note When making an API call, pass AnalyticsS3BucketDestination
261
+ # data as a hash:
262
+ #
263
+ # {
264
+ # format: "CSV", # required, accepts CSV
265
+ # bucket_account_id: "AccountId",
266
+ # bucket: "BucketName", # required
267
+ # prefix: "Prefix",
268
+ # }
269
+ # @!attribute [rw] format
270
+ # The file format used when exporting data to Amazon S3.
271
+ # @return [String]
272
+ #
273
+ # @!attribute [rw] bucket_account_id
274
+ # The account ID that owns the destination bucket. If no account ID is
275
+ # provided, the owner will not be validated prior to exporting data.
276
+ # @return [String]
277
+ #
278
+ # @!attribute [rw] bucket
279
+ # The Amazon resource name (ARN) of the bucket to which data is
280
+ # exported.
281
+ # @return [String]
282
+ #
283
+ # @!attribute [rw] prefix
284
+ # The prefix to use when exporting data. The exported data begins with
285
+ # this prefix.
286
+ # @return [String]
287
+ class AnalyticsS3BucketDestination < Struct.new(
288
+ :format,
289
+ :bucket_account_id,
290
+ :bucket,
291
+ :prefix)
292
+ include Aws::Structure
293
+ end
294
+
119
295
  # @!attribute [rw] name
120
296
  # The name of the bucket.
121
297
  # @return [String]
@@ -141,7 +317,23 @@ module Aws
141
317
  # expired_object_delete_marker: false,
142
318
  # },
143
319
  # id: "ID",
144
- # prefix: "Prefix", # required
320
+ # prefix: "Prefix",
321
+ # filter: {
322
+ # prefix: "Prefix",
323
+ # tag: {
324
+ # key: "ObjectKey", # required
325
+ # value: "Value", # required
326
+ # },
327
+ # and: {
328
+ # prefix: "Prefix",
329
+ # tags: [
330
+ # {
331
+ # key: "ObjectKey", # required
332
+ # value: "Value", # required
333
+ # },
334
+ # ],
335
+ # },
336
+ # },
145
337
  # status: "Enabled", # required, accepts Enabled, Disabled
146
338
  # transitions: [
147
339
  # {
@@ -554,6 +746,7 @@ module Aws
554
746
  # "MetadataKey" => "MetadataValue",
555
747
  # },
556
748
  # metadata_directive: "COPY", # accepts COPY, REPLACE
749
+ # tagging_directive: "COPY", # accepts COPY, REPLACE
557
750
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
558
751
  # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
559
752
  # website_redirect_location: "WebsiteRedirectLocation",
@@ -565,6 +758,7 @@ module Aws
565
758
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
566
759
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
567
760
  # request_payer: "requester", # accepts requester
761
+ # tagging: "TaggingHeader",
568
762
  # }
569
763
  # @!attribute [rw] acl
570
764
  # The canned ACL to apply to the object.
@@ -652,6 +846,11 @@ module Aws
652
846
  # replaced with metadata provided in the request.
653
847
  # @return [String]
654
848
  #
849
+ # @!attribute [rw] tagging_directive
850
+ # Specifies whether the object tag-set are copied from the source
851
+ # object or replaced with tag-set provided in the request.
852
+ # @return [String]
853
+ #
655
854
  # @!attribute [rw] server_side_encryption
656
855
  # The Server-side encryption algorithm used when storing this object
657
856
  # in S3 (e.g., AES256, aws:kms).
@@ -719,6 +918,12 @@ module Aws
719
918
  # buckets can be found at
720
919
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
721
920
  # @return [String]
921
+ #
922
+ # @!attribute [rw] tagging
923
+ # The tag-set for the object destination object this value must be
924
+ # used in conjunction with the TaggingDirective. The tag-set must be
925
+ # encoded as URL Query parameters
926
+ # @return [String]
722
927
  class CopyObjectRequest < Struct.new(
723
928
  :acl,
724
929
  :bucket,
@@ -740,6 +945,7 @@ module Aws
740
945
  :key,
741
946
  :metadata,
742
947
  :metadata_directive,
948
+ :tagging_directive,
743
949
  :server_side_encryption,
744
950
  :storage_class,
745
951
  :website_redirect_location,
@@ -750,7 +956,8 @@ module Aws
750
956
  :copy_source_sse_customer_algorithm,
751
957
  :copy_source_sse_customer_key,
752
958
  :copy_source_sse_customer_key_md5,
753
- :request_payer)
959
+ :request_payer,
960
+ :tagging)
754
961
  include Aws::Structure
755
962
  end
756
963
 
@@ -1108,6 +1315,27 @@ module Aws
1108
1315
  include Aws::Structure
1109
1316
  end
1110
1317
 
1318
+ # @note When making an API call, pass DeleteBucketAnalyticsConfigurationRequest
1319
+ # data as a hash:
1320
+ #
1321
+ # {
1322
+ # bucket: "BucketName", # required
1323
+ # id: "AnalyticsId", # required
1324
+ # }
1325
+ # @!attribute [rw] bucket
1326
+ # The name of the bucket from which an analytics configuration is
1327
+ # deleted.
1328
+ # @return [String]
1329
+ #
1330
+ # @!attribute [rw] id
1331
+ # The identifier used to represent an analytics configuration.
1332
+ # @return [String]
1333
+ class DeleteBucketAnalyticsConfigurationRequest < Struct.new(
1334
+ :bucket,
1335
+ :id)
1336
+ include Aws::Structure
1337
+ end
1338
+
1111
1339
  # @note When making an API call, pass DeleteBucketCorsRequest
1112
1340
  # data as a hash:
1113
1341
  #
@@ -1121,6 +1349,27 @@ module Aws
1121
1349
  include Aws::Structure
1122
1350
  end
1123
1351
 
1352
+ # @note When making an API call, pass DeleteBucketInventoryConfigurationRequest
1353
+ # data as a hash:
1354
+ #
1355
+ # {
1356
+ # bucket: "BucketName", # required
1357
+ # id: "InventoryId", # required
1358
+ # }
1359
+ # @!attribute [rw] bucket
1360
+ # The name of the bucket containing the inventory configuration to
1361
+ # delete.
1362
+ # @return [String]
1363
+ #
1364
+ # @!attribute [rw] id
1365
+ # The ID used to identify the inventory configuration.
1366
+ # @return [String]
1367
+ class DeleteBucketInventoryConfigurationRequest < Struct.new(
1368
+ :bucket,
1369
+ :id)
1370
+ include Aws::Structure
1371
+ end
1372
+
1124
1373
  # @note When making an API call, pass DeleteBucketLifecycleRequest
1125
1374
  # data as a hash:
1126
1375
  #
@@ -1134,6 +1383,27 @@ module Aws
1134
1383
  include Aws::Structure
1135
1384
  end
1136
1385
 
1386
+ # @note When making an API call, pass DeleteBucketMetricsConfigurationRequest
1387
+ # data as a hash:
1388
+ #
1389
+ # {
1390
+ # bucket: "BucketName", # required
1391
+ # id: "MetricsId", # required
1392
+ # }
1393
+ # @!attribute [rw] bucket
1394
+ # The name of the bucket containing the metrics configuration to
1395
+ # delete.
1396
+ # @return [String]
1397
+ #
1398
+ # @!attribute [rw] id
1399
+ # The ID used to identify the metrics configuration.
1400
+ # @return [String]
1401
+ class DeleteBucketMetricsConfigurationRequest < Struct.new(
1402
+ :bucket,
1403
+ :id)
1404
+ include Aws::Structure
1405
+ end
1406
+
1137
1407
  # @note When making an API call, pass DeleteBucketPolicyRequest
1138
1408
  # data as a hash:
1139
1409
  #
@@ -1290,6 +1560,38 @@ module Aws
1290
1560
  include Aws::Structure
1291
1561
  end
1292
1562
 
1563
+ # @!attribute [rw] version_id
1564
+ # The versionId of the object the tag-set was removed from.
1565
+ # @return [String]
1566
+ class DeleteObjectTaggingOutput < Struct.new(
1567
+ :version_id)
1568
+ include Aws::Structure
1569
+ end
1570
+
1571
+ # @note When making an API call, pass DeleteObjectTaggingRequest
1572
+ # data as a hash:
1573
+ #
1574
+ # {
1575
+ # bucket: "BucketName", # required
1576
+ # key: "ObjectKey", # required
1577
+ # version_id: "ObjectVersionId",
1578
+ # }
1579
+ # @!attribute [rw] bucket
1580
+ # @return [String]
1581
+ #
1582
+ # @!attribute [rw] key
1583
+ # @return [String]
1584
+ #
1585
+ # @!attribute [rw] version_id
1586
+ # The versionId of the object that the tag-set will be removed from.
1587
+ # @return [String]
1588
+ class DeleteObjectTaggingRequest < Struct.new(
1589
+ :bucket,
1590
+ :key,
1591
+ :version_id)
1592
+ include Aws::Structure
1593
+ end
1594
+
1293
1595
  # @!attribute [rw] deleted
1294
1596
  # @return [Array<Types::DeletedObject>]
1295
1597
  #
@@ -1502,6 +1804,35 @@ module Aws
1502
1804
  include Aws::Structure
1503
1805
  end
1504
1806
 
1807
+ # @!attribute [rw] analytics_configuration
1808
+ # The configuration and any analyses for the analytics filter.
1809
+ # @return [Types::AnalyticsConfiguration]
1810
+ class GetBucketAnalyticsConfigurationOutput < Struct.new(
1811
+ :analytics_configuration)
1812
+ include Aws::Structure
1813
+ end
1814
+
1815
+ # @note When making an API call, pass GetBucketAnalyticsConfigurationRequest
1816
+ # data as a hash:
1817
+ #
1818
+ # {
1819
+ # bucket: "BucketName", # required
1820
+ # id: "AnalyticsId", # required
1821
+ # }
1822
+ # @!attribute [rw] bucket
1823
+ # The name of the bucket from which an analytics configuration is
1824
+ # retrieved.
1825
+ # @return [String]
1826
+ #
1827
+ # @!attribute [rw] id
1828
+ # The identifier used to represent an analytics configuration.
1829
+ # @return [String]
1830
+ class GetBucketAnalyticsConfigurationRequest < Struct.new(
1831
+ :bucket,
1832
+ :id)
1833
+ include Aws::Structure
1834
+ end
1835
+
1505
1836
  # @!attribute [rw] cors_rules
1506
1837
  # @return [Array<Types::CORSRule>]
1507
1838
  class GetBucketCorsOutput < Struct.new(
@@ -1522,6 +1853,35 @@ module Aws
1522
1853
  include Aws::Structure
1523
1854
  end
1524
1855
 
1856
+ # @!attribute [rw] inventory_configuration
1857
+ # Specifies the inventory configuration.
1858
+ # @return [Types::InventoryConfiguration]
1859
+ class GetBucketInventoryConfigurationOutput < Struct.new(
1860
+ :inventory_configuration)
1861
+ include Aws::Structure
1862
+ end
1863
+
1864
+ # @note When making an API call, pass GetBucketInventoryConfigurationRequest
1865
+ # data as a hash:
1866
+ #
1867
+ # {
1868
+ # bucket: "BucketName", # required
1869
+ # id: "InventoryId", # required
1870
+ # }
1871
+ # @!attribute [rw] bucket
1872
+ # The name of the bucket containing the inventory configuration to
1873
+ # retrieve.
1874
+ # @return [String]
1875
+ #
1876
+ # @!attribute [rw] id
1877
+ # The ID used to identify the inventory configuration.
1878
+ # @return [String]
1879
+ class GetBucketInventoryConfigurationRequest < Struct.new(
1880
+ :bucket,
1881
+ :id)
1882
+ include Aws::Structure
1883
+ end
1884
+
1525
1885
  # @!attribute [rw] rules
1526
1886
  # @return [Array<Types::LifecycleRule>]
1527
1887
  class GetBucketLifecycleConfigurationOutput < Struct.new(
@@ -1602,6 +1962,35 @@ module Aws
1602
1962
  include Aws::Structure
1603
1963
  end
1604
1964
 
1965
+ # @!attribute [rw] metrics_configuration
1966
+ # Specifies the metrics configuration.
1967
+ # @return [Types::MetricsConfiguration]
1968
+ class GetBucketMetricsConfigurationOutput < Struct.new(
1969
+ :metrics_configuration)
1970
+ include Aws::Structure
1971
+ end
1972
+
1973
+ # @note When making an API call, pass GetBucketMetricsConfigurationRequest
1974
+ # data as a hash:
1975
+ #
1976
+ # {
1977
+ # bucket: "BucketName", # required
1978
+ # id: "MetricsId", # required
1979
+ # }
1980
+ # @!attribute [rw] bucket
1981
+ # The name of the bucket containing the metrics configuration to
1982
+ # retrieve.
1983
+ # @return [String]
1984
+ #
1985
+ # @!attribute [rw] id
1986
+ # The ID used to identify the metrics configuration.
1987
+ # @return [String]
1988
+ class GetBucketMetricsConfigurationRequest < Struct.new(
1989
+ :bucket,
1990
+ :id)
1991
+ include Aws::Structure
1992
+ end
1993
+
1605
1994
  # @note When making an API call, pass GetBucketNotificationConfigurationRequest
1606
1995
  # data as a hash:
1607
1996
  #
@@ -1944,6 +2333,10 @@ module Aws
1944
2333
  # @!attribute [rw] parts_count
1945
2334
  # The count of parts this object has.
1946
2335
  # @return [Integer]
2336
+ #
2337
+ # @!attribute [rw] tag_count
2338
+ # The number of tags, if any, on the object.
2339
+ # @return [Integer]
1947
2340
  class GetObjectOutput < Struct.new(
1948
2341
  :body,
1949
2342
  :delete_marker,
@@ -1972,7 +2365,8 @@ module Aws
1972
2365
  :storage_class,
1973
2366
  :request_charged,
1974
2367
  :replication_status,
1975
- :parts_count)
2368
+ :parts_count,
2369
+ :tag_count)
1976
2370
  include Aws::Structure
1977
2371
  end
1978
2372
 
@@ -2116,6 +2510,40 @@ module Aws
2116
2510
  include Aws::Structure
2117
2511
  end
2118
2512
 
2513
+ # @!attribute [rw] version_id
2514
+ # @return [String]
2515
+ #
2516
+ # @!attribute [rw] tag_set
2517
+ # @return [Array<Types::Tag>]
2518
+ class GetObjectTaggingOutput < Struct.new(
2519
+ :version_id,
2520
+ :tag_set)
2521
+ include Aws::Structure
2522
+ end
2523
+
2524
+ # @note When making an API call, pass GetObjectTaggingRequest
2525
+ # data as a hash:
2526
+ #
2527
+ # {
2528
+ # bucket: "BucketName", # required
2529
+ # key: "ObjectKey", # required
2530
+ # version_id: "ObjectVersionId",
2531
+ # }
2532
+ # @!attribute [rw] bucket
2533
+ # @return [String]
2534
+ #
2535
+ # @!attribute [rw] key
2536
+ # @return [String]
2537
+ #
2538
+ # @!attribute [rw] version_id
2539
+ # @return [String]
2540
+ class GetObjectTaggingRequest < Struct.new(
2541
+ :bucket,
2542
+ :key,
2543
+ :version_id)
2544
+ include Aws::Structure
2545
+ end
2546
+
2119
2547
  # @!attribute [rw] body
2120
2548
  # @return [IO]
2121
2549
  #
@@ -2536,6 +2964,152 @@ module Aws
2536
2964
  include Aws::Structure
2537
2965
  end
2538
2966
 
2967
+ # @note When making an API call, pass InventoryConfiguration
2968
+ # data as a hash:
2969
+ #
2970
+ # {
2971
+ # destination: { # required
2972
+ # s3_bucket_destination: { # required
2973
+ # account_id: "AccountId",
2974
+ # bucket: "BucketName", # required
2975
+ # format: "CSV", # required, accepts CSV
2976
+ # prefix: "Prefix",
2977
+ # },
2978
+ # },
2979
+ # is_enabled: false, # required
2980
+ # filter: {
2981
+ # prefix: "Prefix", # required
2982
+ # },
2983
+ # id: "InventoryId", # required
2984
+ # included_object_versions: "All", # required, accepts All, Current
2985
+ # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus
2986
+ # schedule: { # required
2987
+ # frequency: "Daily", # required, accepts Daily, Weekly
2988
+ # },
2989
+ # }
2990
+ # @!attribute [rw] destination
2991
+ # Contains information about where to publish the inventory results.
2992
+ # @return [Types::InventoryDestination]
2993
+ #
2994
+ # @!attribute [rw] is_enabled
2995
+ # Specifies whether the inventory is enabled or disabled.
2996
+ # @return [Boolean]
2997
+ #
2998
+ # @!attribute [rw] filter
2999
+ # Specifies an inventory filter. The inventory only includes objects
3000
+ # that meet the filter's criteria.
3001
+ # @return [Types::InventoryFilter]
3002
+ #
3003
+ # @!attribute [rw] id
3004
+ # The ID used to identify the inventory configuration.
3005
+ # @return [String]
3006
+ #
3007
+ # @!attribute [rw] included_object_versions
3008
+ # Specifies which object version(s) to included in the inventory
3009
+ # results.
3010
+ # @return [String]
3011
+ #
3012
+ # @!attribute [rw] optional_fields
3013
+ # Contains the optional fields that are included in the inventory
3014
+ # results.
3015
+ # @return [Array<String>]
3016
+ #
3017
+ # @!attribute [rw] schedule
3018
+ # Specifies the schedule for generating inventory results.
3019
+ # @return [Types::InventorySchedule]
3020
+ class InventoryConfiguration < Struct.new(
3021
+ :destination,
3022
+ :is_enabled,
3023
+ :filter,
3024
+ :id,
3025
+ :included_object_versions,
3026
+ :optional_fields,
3027
+ :schedule)
3028
+ include Aws::Structure
3029
+ end
3030
+
3031
+ # @note When making an API call, pass InventoryDestination
3032
+ # data as a hash:
3033
+ #
3034
+ # {
3035
+ # s3_bucket_destination: { # required
3036
+ # account_id: "AccountId",
3037
+ # bucket: "BucketName", # required
3038
+ # format: "CSV", # required, accepts CSV
3039
+ # prefix: "Prefix",
3040
+ # },
3041
+ # }
3042
+ # @!attribute [rw] s3_bucket_destination
3043
+ # Contains the bucket name, file format, bucket owner (optional), and
3044
+ # prefix (optional) where inventory results are published.
3045
+ # @return [Types::InventoryS3BucketDestination]
3046
+ class InventoryDestination < Struct.new(
3047
+ :s3_bucket_destination)
3048
+ include Aws::Structure
3049
+ end
3050
+
3051
+ # @note When making an API call, pass InventoryFilter
3052
+ # data as a hash:
3053
+ #
3054
+ # {
3055
+ # prefix: "Prefix", # required
3056
+ # }
3057
+ # @!attribute [rw] prefix
3058
+ # The prefix that an object must have to be included in the inventory
3059
+ # results.
3060
+ # @return [String]
3061
+ class InventoryFilter < Struct.new(
3062
+ :prefix)
3063
+ include Aws::Structure
3064
+ end
3065
+
3066
+ # @note When making an API call, pass InventoryS3BucketDestination
3067
+ # data as a hash:
3068
+ #
3069
+ # {
3070
+ # account_id: "AccountId",
3071
+ # bucket: "BucketName", # required
3072
+ # format: "CSV", # required, accepts CSV
3073
+ # prefix: "Prefix",
3074
+ # }
3075
+ # @!attribute [rw] account_id
3076
+ # The ID of the account that owns the destination bucket.
3077
+ # @return [String]
3078
+ #
3079
+ # @!attribute [rw] bucket
3080
+ # The Amazon resource name (ARN) of the bucket where inventory results
3081
+ # will be published.
3082
+ # @return [String]
3083
+ #
3084
+ # @!attribute [rw] format
3085
+ # Specifies the output format of the inventory results.
3086
+ # @return [String]
3087
+ #
3088
+ # @!attribute [rw] prefix
3089
+ # The prefix that is prepended to all inventory results.
3090
+ # @return [String]
3091
+ class InventoryS3BucketDestination < Struct.new(
3092
+ :account_id,
3093
+ :bucket,
3094
+ :format,
3095
+ :prefix)
3096
+ include Aws::Structure
3097
+ end
3098
+
3099
+ # @note When making an API call, pass InventorySchedule
3100
+ # data as a hash:
3101
+ #
3102
+ # {
3103
+ # frequency: "Daily", # required, accepts Daily, Weekly
3104
+ # }
3105
+ # @!attribute [rw] frequency
3106
+ # Specifies how frequently inventory results are produced.
3107
+ # @return [String]
3108
+ class InventorySchedule < Struct.new(
3109
+ :frequency)
3110
+ include Aws::Structure
3111
+ end
3112
+
2539
3113
  # Container for specifying the AWS Lambda notification configuration.
2540
3114
  # @note When making an API call, pass LambdaFunctionConfiguration
2541
3115
  # data as a hash:
@@ -2666,7 +3240,23 @@ module Aws
2666
3240
  # expired_object_delete_marker: false,
2667
3241
  # },
2668
3242
  # id: "ID",
2669
- # prefix: "Prefix", # required
3243
+ # prefix: "Prefix",
3244
+ # filter: {
3245
+ # prefix: "Prefix",
3246
+ # tag: {
3247
+ # key: "ObjectKey", # required
3248
+ # value: "Value", # required
3249
+ # },
3250
+ # and: {
3251
+ # prefix: "Prefix",
3252
+ # tags: [
3253
+ # {
3254
+ # key: "ObjectKey", # required
3255
+ # value: "Value", # required
3256
+ # },
3257
+ # ],
3258
+ # },
3259
+ # },
2670
3260
  # status: "Enabled", # required, accepts Enabled, Disabled
2671
3261
  # transitions: [
2672
3262
  # {
@@ -2698,8 +3288,14 @@ module Aws
2698
3288
  #
2699
3289
  # @!attribute [rw] prefix
2700
3290
  # Prefix identifying one or more objects to which the rule applies.
3291
+ # This is deprecated; use Filter instead.
2701
3292
  # @return [String]
2702
3293
  #
3294
+ # @!attribute [rw] filter
3295
+ # The Filter is used to identify objects that a Lifecycle Rule applies
3296
+ # to. A Filter must have exactly one of Prefix, Tag, or And specified.
3297
+ # @return [Types::LifecycleRuleFilter]
3298
+ #
2703
3299
  # @!attribute [rw] status
2704
3300
  # If 'Enabled', the rule is currently being applied. If
2705
3301
  # 'Disabled', the rule is not currently being applied.
@@ -2711,29 +3307,259 @@ module Aws
2711
3307
  # @!attribute [rw] noncurrent_version_transitions
2712
3308
  # @return [Array<Types::NoncurrentVersionTransition>]
2713
3309
  #
2714
- # @!attribute [rw] noncurrent_version_expiration
2715
- # Specifies when noncurrent object versions expire. Upon expiration,
2716
- # Amazon S3 permanently deletes the noncurrent object versions. You
2717
- # set this lifecycle configuration action on a bucket that has
2718
- # versioning enabled (or suspended) to request that Amazon S3 delete
2719
- # noncurrent object versions at a specific period in the object's
2720
- # lifetime.
2721
- # @return [Types::NoncurrentVersionExpiration]
3310
+ # @!attribute [rw] noncurrent_version_expiration
3311
+ # Specifies when noncurrent object versions expire. Upon expiration,
3312
+ # Amazon S3 permanently deletes the noncurrent object versions. You
3313
+ # set this lifecycle configuration action on a bucket that has
3314
+ # versioning enabled (or suspended) to request that Amazon S3 delete
3315
+ # noncurrent object versions at a specific period in the object's
3316
+ # lifetime.
3317
+ # @return [Types::NoncurrentVersionExpiration]
3318
+ #
3319
+ # @!attribute [rw] abort_incomplete_multipart_upload
3320
+ # Specifies the days since the initiation of an Incomplete Multipart
3321
+ # Upload that Lifecycle will wait before permanently removing all
3322
+ # parts of the upload.
3323
+ # @return [Types::AbortIncompleteMultipartUpload]
3324
+ class LifecycleRule < Struct.new(
3325
+ :expiration,
3326
+ :id,
3327
+ :prefix,
3328
+ :filter,
3329
+ :status,
3330
+ :transitions,
3331
+ :noncurrent_version_transitions,
3332
+ :noncurrent_version_expiration,
3333
+ :abort_incomplete_multipart_upload)
3334
+ include Aws::Structure
3335
+ end
3336
+
3337
+ # This is used in a Lifecycle Rule Filter to apply a logical AND to two
3338
+ # or more predicates. The Lifecycle Rule will apply to any object
3339
+ # matching all of the predicates configured inside the And operator.
3340
+ # @note When making an API call, pass LifecycleRuleAndOperator
3341
+ # data as a hash:
3342
+ #
3343
+ # {
3344
+ # prefix: "Prefix",
3345
+ # tags: [
3346
+ # {
3347
+ # key: "ObjectKey", # required
3348
+ # value: "Value", # required
3349
+ # },
3350
+ # ],
3351
+ # }
3352
+ # @!attribute [rw] prefix
3353
+ # @return [String]
3354
+ #
3355
+ # @!attribute [rw] tags
3356
+ # All of these tags must exist in the object's tag set in order for
3357
+ # the rule to apply.
3358
+ # @return [Array<Types::Tag>]
3359
+ class LifecycleRuleAndOperator < Struct.new(
3360
+ :prefix,
3361
+ :tags)
3362
+ include Aws::Structure
3363
+ end
3364
+
3365
+ # The Filter is used to identify objects that a Lifecycle Rule applies
3366
+ # to. A Filter must have exactly one of Prefix, Tag, or And specified.
3367
+ # @note When making an API call, pass LifecycleRuleFilter
3368
+ # data as a hash:
3369
+ #
3370
+ # {
3371
+ # prefix: "Prefix",
3372
+ # tag: {
3373
+ # key: "ObjectKey", # required
3374
+ # value: "Value", # required
3375
+ # },
3376
+ # and: {
3377
+ # prefix: "Prefix",
3378
+ # tags: [
3379
+ # {
3380
+ # key: "ObjectKey", # required
3381
+ # value: "Value", # required
3382
+ # },
3383
+ # ],
3384
+ # },
3385
+ # }
3386
+ # @!attribute [rw] prefix
3387
+ # Prefix identifying one or more objects to which the rule applies.
3388
+ # @return [String]
3389
+ #
3390
+ # @!attribute [rw] tag
3391
+ # This tag must exist in the object's tag set in order for the rule
3392
+ # to apply.
3393
+ # @return [Types::Tag]
3394
+ #
3395
+ # @!attribute [rw] and
3396
+ # This is used in a Lifecycle Rule Filter to apply a logical AND to
3397
+ # two or more predicates. The Lifecycle Rule will apply to any object
3398
+ # matching all of the predicates configured inside the And operator.
3399
+ # @return [Types::LifecycleRuleAndOperator]
3400
+ class LifecycleRuleFilter < Struct.new(
3401
+ :prefix,
3402
+ :tag,
3403
+ :and)
3404
+ include Aws::Structure
3405
+ end
3406
+
3407
+ # @!attribute [rw] is_truncated
3408
+ # Indicates whether the returned list of analytics configurations is
3409
+ # complete. A value of true indicates that the list is not complete
3410
+ # and the NextContinuationToken will be provided for a subsequent
3411
+ # request.
3412
+ # @return [Boolean]
3413
+ #
3414
+ # @!attribute [rw] continuation_token
3415
+ # The ContinuationToken that represents where this request began.
3416
+ # @return [String]
3417
+ #
3418
+ # @!attribute [rw] next_continuation_token
3419
+ # NextContinuationToken is sent when isTruncated is true, which
3420
+ # indicates that there are more analytics configurations to list. The
3421
+ # next request must include this NextContinuationToken. The token is
3422
+ # obfuscated and is not a usable value.
3423
+ # @return [String]
3424
+ #
3425
+ # @!attribute [rw] analytics_configuration_list
3426
+ # The list of analytics configurations for a bucket.
3427
+ # @return [Array<Types::AnalyticsConfiguration>]
3428
+ class ListBucketAnalyticsConfigurationsOutput < Struct.new(
3429
+ :is_truncated,
3430
+ :continuation_token,
3431
+ :next_continuation_token,
3432
+ :analytics_configuration_list)
3433
+ include Aws::Structure
3434
+ end
3435
+
3436
+ # @note When making an API call, pass ListBucketAnalyticsConfigurationsRequest
3437
+ # data as a hash:
3438
+ #
3439
+ # {
3440
+ # bucket: "BucketName", # required
3441
+ # continuation_token: "Token",
3442
+ # }
3443
+ # @!attribute [rw] bucket
3444
+ # The name of the bucket from which analytics configurations are
3445
+ # retrieved.
3446
+ # @return [String]
3447
+ #
3448
+ # @!attribute [rw] continuation_token
3449
+ # The ContinuationToken that represents a placeholder from where this
3450
+ # request should begin.
3451
+ # @return [String]
3452
+ class ListBucketAnalyticsConfigurationsRequest < Struct.new(
3453
+ :bucket,
3454
+ :continuation_token)
3455
+ include Aws::Structure
3456
+ end
3457
+
3458
+ # @!attribute [rw] continuation_token
3459
+ # If sent in the request, the marker that is used as a starting point
3460
+ # for this inventory configuration list response.
3461
+ # @return [String]
3462
+ #
3463
+ # @!attribute [rw] inventory_configuration_list
3464
+ # The list of inventory configurations for a bucket.
3465
+ # @return [Array<Types::InventoryConfiguration>]
3466
+ #
3467
+ # @!attribute [rw] is_truncated
3468
+ # Indicates whether the returned list of inventory configurations is
3469
+ # truncated in this response. A value of true indicates that the list
3470
+ # is truncated.
3471
+ # @return [Boolean]
3472
+ #
3473
+ # @!attribute [rw] next_continuation_token
3474
+ # The marker used to continue this inventory configuration listing.
3475
+ # Use the NextContinuationToken from this response to continue the
3476
+ # listing in a subsequent request. The continuation token is an opaque
3477
+ # value that Amazon S3 understands.
3478
+ # @return [String]
3479
+ class ListBucketInventoryConfigurationsOutput < Struct.new(
3480
+ :continuation_token,
3481
+ :inventory_configuration_list,
3482
+ :is_truncated,
3483
+ :next_continuation_token)
3484
+ include Aws::Structure
3485
+ end
3486
+
3487
+ # @note When making an API call, pass ListBucketInventoryConfigurationsRequest
3488
+ # data as a hash:
3489
+ #
3490
+ # {
3491
+ # bucket: "BucketName", # required
3492
+ # continuation_token: "Token",
3493
+ # }
3494
+ # @!attribute [rw] bucket
3495
+ # The name of the bucket containing the inventory configurations to
3496
+ # retrieve.
3497
+ # @return [String]
3498
+ #
3499
+ # @!attribute [rw] continuation_token
3500
+ # The marker used to continue an inventory configuration listing that
3501
+ # has been truncated. Use the NextContinuationToken from a previously
3502
+ # truncated list response to continue the listing. The continuation
3503
+ # token is an opaque value that Amazon S3 understands.
3504
+ # @return [String]
3505
+ class ListBucketInventoryConfigurationsRequest < Struct.new(
3506
+ :bucket,
3507
+ :continuation_token)
3508
+ include Aws::Structure
3509
+ end
3510
+
3511
+ # @!attribute [rw] is_truncated
3512
+ # Indicates whether the returned list of metrics configurations is
3513
+ # complete. A value of true indicates that the list is not complete
3514
+ # and the NextContinuationToken will be provided for a subsequent
3515
+ # request.
3516
+ # @return [Boolean]
3517
+ #
3518
+ # @!attribute [rw] continuation_token
3519
+ # The marker that is used as a starting point for this metrics
3520
+ # configuration list response. This value is present if it was sent in
3521
+ # the request.
3522
+ # @return [String]
3523
+ #
3524
+ # @!attribute [rw] next_continuation_token
3525
+ # The marker used to continue a metrics configuration listing that has
3526
+ # been truncated. Use the NextContinuationToken from a previously
3527
+ # truncated list response to continue the listing. The continuation
3528
+ # token is an opaque value that Amazon S3 understands.
3529
+ # @return [String]
3530
+ #
3531
+ # @!attribute [rw] metrics_configuration_list
3532
+ # The list of metrics configurations for a bucket.
3533
+ # @return [Array<Types::MetricsConfiguration>]
3534
+ class ListBucketMetricsConfigurationsOutput < Struct.new(
3535
+ :is_truncated,
3536
+ :continuation_token,
3537
+ :next_continuation_token,
3538
+ :metrics_configuration_list)
3539
+ include Aws::Structure
3540
+ end
3541
+
3542
+ # @note When making an API call, pass ListBucketMetricsConfigurationsRequest
3543
+ # data as a hash:
3544
+ #
3545
+ # {
3546
+ # bucket: "BucketName", # required
3547
+ # continuation_token: "Token",
3548
+ # }
3549
+ # @!attribute [rw] bucket
3550
+ # The name of the bucket containing the metrics configurations to
3551
+ # retrieve.
3552
+ # @return [String]
2722
3553
  #
2723
- # @!attribute [rw] abort_incomplete_multipart_upload
2724
- # Specifies the days since the initiation of an Incomplete Multipart
2725
- # Upload that Lifecycle will wait before permanently removing all
2726
- # parts of the upload.
2727
- # @return [Types::AbortIncompleteMultipartUpload]
2728
- class LifecycleRule < Struct.new(
2729
- :expiration,
2730
- :id,
2731
- :prefix,
2732
- :status,
2733
- :transitions,
2734
- :noncurrent_version_transitions,
2735
- :noncurrent_version_expiration,
2736
- :abort_incomplete_multipart_upload)
3554
+ # @!attribute [rw] continuation_token
3555
+ # The marker that is used to continue a metrics configuration listing
3556
+ # that has been truncated. Use the NextContinuationToken from a
3557
+ # previously truncated list response to continue the listing. The
3558
+ # continuation token is an opaque value that Amazon S3 understands.
3559
+ # @return [String]
3560
+ class ListBucketMetricsConfigurationsRequest < Struct.new(
3561
+ :bucket,
3562
+ :continuation_token)
2737
3563
  include Aws::Structure
2738
3564
  end
2739
3565
 
@@ -3430,6 +4256,108 @@ module Aws
3430
4256
  include Aws::Structure
3431
4257
  end
3432
4258
 
4259
+ # @note When making an API call, pass MetricsAndOperator
4260
+ # data as a hash:
4261
+ #
4262
+ # {
4263
+ # prefix: "Prefix",
4264
+ # tags: [
4265
+ # {
4266
+ # key: "ObjectKey", # required
4267
+ # value: "Value", # required
4268
+ # },
4269
+ # ],
4270
+ # }
4271
+ # @!attribute [rw] prefix
4272
+ # The prefix used when evaluating an AND predicate.
4273
+ # @return [String]
4274
+ #
4275
+ # @!attribute [rw] tags
4276
+ # The list of tags used when evaluating an AND predicate.
4277
+ # @return [Array<Types::Tag>]
4278
+ class MetricsAndOperator < Struct.new(
4279
+ :prefix,
4280
+ :tags)
4281
+ include Aws::Structure
4282
+ end
4283
+
4284
+ # @note When making an API call, pass MetricsConfiguration
4285
+ # data as a hash:
4286
+ #
4287
+ # {
4288
+ # id: "MetricsId", # required
4289
+ # filter: {
4290
+ # prefix: "Prefix",
4291
+ # tag: {
4292
+ # key: "ObjectKey", # required
4293
+ # value: "Value", # required
4294
+ # },
4295
+ # and: {
4296
+ # prefix: "Prefix",
4297
+ # tags: [
4298
+ # {
4299
+ # key: "ObjectKey", # required
4300
+ # value: "Value", # required
4301
+ # },
4302
+ # ],
4303
+ # },
4304
+ # },
4305
+ # }
4306
+ # @!attribute [rw] id
4307
+ # The ID used to identify the metrics configuration.
4308
+ # @return [String]
4309
+ #
4310
+ # @!attribute [rw] filter
4311
+ # Specifies a metrics configuration filter. The metrics configuration
4312
+ # will only include objects that meet the filter's criteria. A filter
4313
+ # must be a prefix, a tag, or a conjunction (MetricsAndOperator).
4314
+ # @return [Types::MetricsFilter]
4315
+ class MetricsConfiguration < Struct.new(
4316
+ :id,
4317
+ :filter)
4318
+ include Aws::Structure
4319
+ end
4320
+
4321
+ # @note When making an API call, pass MetricsFilter
4322
+ # data as a hash:
4323
+ #
4324
+ # {
4325
+ # prefix: "Prefix",
4326
+ # tag: {
4327
+ # key: "ObjectKey", # required
4328
+ # value: "Value", # required
4329
+ # },
4330
+ # and: {
4331
+ # prefix: "Prefix",
4332
+ # tags: [
4333
+ # {
4334
+ # key: "ObjectKey", # required
4335
+ # value: "Value", # required
4336
+ # },
4337
+ # ],
4338
+ # },
4339
+ # }
4340
+ # @!attribute [rw] prefix
4341
+ # The prefix used when evaluating a metrics filter.
4342
+ # @return [String]
4343
+ #
4344
+ # @!attribute [rw] tag
4345
+ # The tag used when evaluating a metrics filter.
4346
+ # @return [Types::Tag]
4347
+ #
4348
+ # @!attribute [rw] and
4349
+ # A conjunction (logical AND) of predicates, which is used in
4350
+ # evaluating a metrics filter. The operator must have at least two
4351
+ # predicates, and an object must match all of the predicates in order
4352
+ # for the filter to apply.
4353
+ # @return [Types::MetricsAndOperator]
4354
+ class MetricsFilter < Struct.new(
4355
+ :prefix,
4356
+ :tag,
4357
+ :and)
4358
+ include Aws::Structure
4359
+ end
4360
+
3433
4361
  # @!attribute [rw] upload_id
3434
4362
  # Upload ID that identifies the multipart upload.
3435
4363
  # @return [String]
@@ -3896,6 +4824,64 @@ module Aws
3896
4824
  include Aws::Structure
3897
4825
  end
3898
4826
 
4827
+ # @note When making an API call, pass PutBucketAnalyticsConfigurationRequest
4828
+ # data as a hash:
4829
+ #
4830
+ # {
4831
+ # bucket: "BucketName", # required
4832
+ # id: "AnalyticsId", # required
4833
+ # analytics_configuration: { # required
4834
+ # id: "AnalyticsId", # required
4835
+ # filter: {
4836
+ # prefix: "Prefix",
4837
+ # tag: {
4838
+ # key: "ObjectKey", # required
4839
+ # value: "Value", # required
4840
+ # },
4841
+ # and: {
4842
+ # prefix: "Prefix",
4843
+ # tags: [
4844
+ # {
4845
+ # key: "ObjectKey", # required
4846
+ # value: "Value", # required
4847
+ # },
4848
+ # ],
4849
+ # },
4850
+ # },
4851
+ # storage_class_analysis: { # required
4852
+ # data_export: {
4853
+ # output_schema_version: "V_1", # required, accepts V_1
4854
+ # destination: { # required
4855
+ # s3_bucket_destination: { # required
4856
+ # format: "CSV", # required, accepts CSV
4857
+ # bucket_account_id: "AccountId",
4858
+ # bucket: "BucketName", # required
4859
+ # prefix: "Prefix",
4860
+ # },
4861
+ # },
4862
+ # },
4863
+ # },
4864
+ # },
4865
+ # }
4866
+ # @!attribute [rw] bucket
4867
+ # The name of the bucket to which an analytics configuration is
4868
+ # stored.
4869
+ # @return [String]
4870
+ #
4871
+ # @!attribute [rw] id
4872
+ # The identifier used to represent an analytics configuration.
4873
+ # @return [String]
4874
+ #
4875
+ # @!attribute [rw] analytics_configuration
4876
+ # The configuration and any analyses for the analytics filter.
4877
+ # @return [Types::AnalyticsConfiguration]
4878
+ class PutBucketAnalyticsConfigurationRequest < Struct.new(
4879
+ :bucket,
4880
+ :id,
4881
+ :analytics_configuration)
4882
+ include Aws::Structure
4883
+ end
4884
+
3899
4885
  # @note When making an API call, pass PutBucketCorsRequest
3900
4886
  # data as a hash:
3901
4887
  #
@@ -3929,6 +4915,52 @@ module Aws
3929
4915
  include Aws::Structure
3930
4916
  end
3931
4917
 
4918
+ # @note When making an API call, pass PutBucketInventoryConfigurationRequest
4919
+ # data as a hash:
4920
+ #
4921
+ # {
4922
+ # bucket: "BucketName", # required
4923
+ # id: "InventoryId", # required
4924
+ # inventory_configuration: { # required
4925
+ # destination: { # required
4926
+ # s3_bucket_destination: { # required
4927
+ # account_id: "AccountId",
4928
+ # bucket: "BucketName", # required
4929
+ # format: "CSV", # required, accepts CSV
4930
+ # prefix: "Prefix",
4931
+ # },
4932
+ # },
4933
+ # is_enabled: false, # required
4934
+ # filter: {
4935
+ # prefix: "Prefix", # required
4936
+ # },
4937
+ # id: "InventoryId", # required
4938
+ # included_object_versions: "All", # required, accepts All, Current
4939
+ # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus
4940
+ # schedule: { # required
4941
+ # frequency: "Daily", # required, accepts Daily, Weekly
4942
+ # },
4943
+ # },
4944
+ # }
4945
+ # @!attribute [rw] bucket
4946
+ # The name of the bucket where the inventory configuration will be
4947
+ # stored.
4948
+ # @return [String]
4949
+ #
4950
+ # @!attribute [rw] id
4951
+ # The ID used to identify the inventory configuration.
4952
+ # @return [String]
4953
+ #
4954
+ # @!attribute [rw] inventory_configuration
4955
+ # Specifies the inventory configuration.
4956
+ # @return [Types::InventoryConfiguration]
4957
+ class PutBucketInventoryConfigurationRequest < Struct.new(
4958
+ :bucket,
4959
+ :id,
4960
+ :inventory_configuration)
4961
+ include Aws::Structure
4962
+ end
4963
+
3932
4964
  # @note When making an API call, pass PutBucketLifecycleConfigurationRequest
3933
4965
  # data as a hash:
3934
4966
  #
@@ -3943,7 +4975,23 @@ module Aws
3943
4975
  # expired_object_delete_marker: false,
3944
4976
  # },
3945
4977
  # id: "ID",
3946
- # prefix: "Prefix", # required
4978
+ # prefix: "Prefix",
4979
+ # filter: {
4980
+ # prefix: "Prefix",
4981
+ # tag: {
4982
+ # key: "ObjectKey", # required
4983
+ # value: "Value", # required
4984
+ # },
4985
+ # and: {
4986
+ # prefix: "Prefix",
4987
+ # tags: [
4988
+ # {
4989
+ # key: "ObjectKey", # required
4990
+ # value: "Value", # required
4991
+ # },
4992
+ # ],
4993
+ # },
4994
+ # },
3947
4995
  # status: "Enabled", # required, accepts Enabled, Disabled
3948
4996
  # transitions: [
3949
4997
  # {
@@ -4070,6 +5118,50 @@ module Aws
4070
5118
  include Aws::Structure
4071
5119
  end
4072
5120
 
5121
+ # @note When making an API call, pass PutBucketMetricsConfigurationRequest
5122
+ # data as a hash:
5123
+ #
5124
+ # {
5125
+ # bucket: "BucketName", # required
5126
+ # id: "MetricsId", # required
5127
+ # metrics_configuration: { # required
5128
+ # id: "MetricsId", # required
5129
+ # filter: {
5130
+ # prefix: "Prefix",
5131
+ # tag: {
5132
+ # key: "ObjectKey", # required
5133
+ # value: "Value", # required
5134
+ # },
5135
+ # and: {
5136
+ # prefix: "Prefix",
5137
+ # tags: [
5138
+ # {
5139
+ # key: "ObjectKey", # required
5140
+ # value: "Value", # required
5141
+ # },
5142
+ # ],
5143
+ # },
5144
+ # },
5145
+ # },
5146
+ # }
5147
+ # @!attribute [rw] bucket
5148
+ # The name of the bucket for which the metrics configuration is set.
5149
+ # @return [String]
5150
+ #
5151
+ # @!attribute [rw] id
5152
+ # The ID used to identify the metrics configuration.
5153
+ # @return [String]
5154
+ #
5155
+ # @!attribute [rw] metrics_configuration
5156
+ # Specifies the metrics configuration.
5157
+ # @return [Types::MetricsConfiguration]
5158
+ class PutBucketMetricsConfigurationRequest < Struct.new(
5159
+ :bucket,
5160
+ :id,
5161
+ :metrics_configuration)
5162
+ include Aws::Structure
5163
+ end
5164
+
4073
5165
  # @note When making an API call, pass PutBucketNotificationConfigurationRequest
4074
5166
  # data as a hash:
4075
5167
  #
@@ -4578,6 +5670,7 @@ module Aws
4578
5670
  # sse_customer_key_md5: "SSECustomerKeyMD5",
4579
5671
  # ssekms_key_id: "SSEKMSKeyId",
4580
5672
  # request_payer: "requester", # accepts requester
5673
+ # tagging: "TaggingHeader",
4581
5674
  # }
4582
5675
  # @!attribute [rw] acl
4583
5676
  # The canned ACL to apply to the object.
@@ -4701,6 +5794,11 @@ module Aws
4701
5794
  # buckets can be found at
4702
5795
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
4703
5796
  # @return [String]
5797
+ #
5798
+ # @!attribute [rw] tagging
5799
+ # The tag-set for the object. The tag-set must be encoded as URL Query
5800
+ # parameters
5801
+ # @return [String]
4704
5802
  class PutObjectRequest < Struct.new(
4705
5803
  :acl,
4706
5804
  :body,
@@ -4726,7 +5824,55 @@ module Aws
4726
5824
  :sse_customer_key,
4727
5825
  :sse_customer_key_md5,
4728
5826
  :ssekms_key_id,
4729
- :request_payer)
5827
+ :request_payer,
5828
+ :tagging)
5829
+ include Aws::Structure
5830
+ end
5831
+
5832
+ # @!attribute [rw] version_id
5833
+ # @return [String]
5834
+ class PutObjectTaggingOutput < Struct.new(
5835
+ :version_id)
5836
+ include Aws::Structure
5837
+ end
5838
+
5839
+ # @note When making an API call, pass PutObjectTaggingRequest
5840
+ # data as a hash:
5841
+ #
5842
+ # {
5843
+ # bucket: "BucketName", # required
5844
+ # key: "ObjectKey", # required
5845
+ # version_id: "ObjectVersionId",
5846
+ # content_md5: "ContentMD5",
5847
+ # tagging: { # required
5848
+ # tag_set: [ # required
5849
+ # {
5850
+ # key: "ObjectKey", # required
5851
+ # value: "Value", # required
5852
+ # },
5853
+ # ],
5854
+ # },
5855
+ # }
5856
+ # @!attribute [rw] bucket
5857
+ # @return [String]
5858
+ #
5859
+ # @!attribute [rw] key
5860
+ # @return [String]
5861
+ #
5862
+ # @!attribute [rw] version_id
5863
+ # @return [String]
5864
+ #
5865
+ # @!attribute [rw] content_md5
5866
+ # @return [String]
5867
+ #
5868
+ # @!attribute [rw] tagging
5869
+ # @return [Types::Tagging]
5870
+ class PutObjectTaggingRequest < Struct.new(
5871
+ :bucket,
5872
+ :key,
5873
+ :version_id,
5874
+ :content_md5,
5875
+ :tagging)
4730
5876
  include Aws::Structure
4731
5877
  end
4732
5878
 
@@ -5183,6 +6329,59 @@ module Aws
5183
6329
  include Aws::Structure
5184
6330
  end
5185
6331
 
6332
+ # @note When making an API call, pass StorageClassAnalysis
6333
+ # data as a hash:
6334
+ #
6335
+ # {
6336
+ # data_export: {
6337
+ # output_schema_version: "V_1", # required, accepts V_1
6338
+ # destination: { # required
6339
+ # s3_bucket_destination: { # required
6340
+ # format: "CSV", # required, accepts CSV
6341
+ # bucket_account_id: "AccountId",
6342
+ # bucket: "BucketName", # required
6343
+ # prefix: "Prefix",
6344
+ # },
6345
+ # },
6346
+ # },
6347
+ # }
6348
+ # @!attribute [rw] data_export
6349
+ # A container used to describe how data related to the storage class
6350
+ # analysis should be exported.
6351
+ # @return [Types::StorageClassAnalysisDataExport]
6352
+ class StorageClassAnalysis < Struct.new(
6353
+ :data_export)
6354
+ include Aws::Structure
6355
+ end
6356
+
6357
+ # @note When making an API call, pass StorageClassAnalysisDataExport
6358
+ # data as a hash:
6359
+ #
6360
+ # {
6361
+ # output_schema_version: "V_1", # required, accepts V_1
6362
+ # destination: { # required
6363
+ # s3_bucket_destination: { # required
6364
+ # format: "CSV", # required, accepts CSV
6365
+ # bucket_account_id: "AccountId",
6366
+ # bucket: "BucketName", # required
6367
+ # prefix: "Prefix",
6368
+ # },
6369
+ # },
6370
+ # }
6371
+ # @!attribute [rw] output_schema_version
6372
+ # The version of the output schema to use when exporting data. Must be
6373
+ # V\_1.
6374
+ # @return [String]
6375
+ #
6376
+ # @!attribute [rw] destination
6377
+ # The place to store the data for an analysis.
6378
+ # @return [Types::AnalyticsExportDestination]
6379
+ class StorageClassAnalysisDataExport < Struct.new(
6380
+ :output_schema_version,
6381
+ :destination)
6382
+ include Aws::Structure
6383
+ end
6384
+
5186
6385
  # @note When making an API call, pass Tag
5187
6386
  # data as a hash:
5188
6387
  #