aws-sdk-s3 1.24.1 → 1.36.1

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.
@@ -401,13 +401,13 @@ module Aws::S3
401
401
  # {
402
402
  # date: Time.now,
403
403
  # days: 1,
404
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
404
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
405
405
  # },
406
406
  # ],
407
407
  # noncurrent_version_transitions: [
408
408
  # {
409
409
  # noncurrent_days: 1,
410
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
410
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
411
411
  # },
412
412
  # ],
413
413
  # noncurrent_version_expiration: {
@@ -649,8 +649,8 @@ module Aws::S3
649
649
  #
650
650
  # {
651
651
  # id: "NotificationId",
652
- # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
653
- # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
652
+ # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
653
+ # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
654
654
  # cloud_function: "CloudFunction",
655
655
  # invocation_role: "CloudFunctionInvocationRole",
656
656
  # }
@@ -972,7 +972,7 @@ module Aws::S3
972
972
  # metadata_directive: "COPY", # accepts COPY, REPLACE
973
973
  # tagging_directive: "COPY", # accepts COPY, REPLACE
974
974
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
975
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
975
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
976
976
  # website_redirect_location: "WebsiteRedirectLocation",
977
977
  # sse_customer_algorithm: "SSECustomerAlgorithm",
978
978
  # sse_customer_key: "SSECustomerKey",
@@ -983,6 +983,9 @@ module Aws::S3
983
983
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
984
984
  # request_payer: "requester", # accepts requester
985
985
  # tagging: "TaggingHeader",
986
+ # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
987
+ # object_lock_retain_until_date: Time.now,
988
+ # object_lock_legal_hold_status: "ON", # accepts ON, OFF
986
989
  # }
987
990
  #
988
991
  # @!attribute [rw] acl
@@ -1150,6 +1153,20 @@ module Aws::S3
1150
1153
  # encoded as URL Query parameters
1151
1154
  # @return [String]
1152
1155
  #
1156
+ # @!attribute [rw] object_lock_mode
1157
+ # The Object Lock mode that you want to apply to the copied object.
1158
+ # @return [String]
1159
+ #
1160
+ # @!attribute [rw] object_lock_retain_until_date
1161
+ # The date and time when you want the copied object's Object Lock to
1162
+ # expire.
1163
+ # @return [Time]
1164
+ #
1165
+ # @!attribute [rw] object_lock_legal_hold_status
1166
+ # Specifies whether you want to apply a Legal Hold to the copied
1167
+ # object.
1168
+ # @return [String]
1169
+ #
1153
1170
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CopyObjectRequest AWS API Documentation
1154
1171
  #
1155
1172
  class CopyObjectRequest < Struct.new(
@@ -1185,7 +1202,10 @@ module Aws::S3
1185
1202
  :copy_source_sse_customer_key,
1186
1203
  :copy_source_sse_customer_key_md5,
1187
1204
  :request_payer,
1188
- :tagging)
1205
+ :tagging,
1206
+ :object_lock_mode,
1207
+ :object_lock_retain_until_date,
1208
+ :object_lock_legal_hold_status)
1189
1209
  include Aws::Structure
1190
1210
  end
1191
1211
 
@@ -1228,7 +1248,8 @@ module Aws::S3
1228
1248
  #
1229
1249
  # @!attribute [rw] location_constraint
1230
1250
  # Specifies the region where the bucket will be created. If you don't
1231
- # specify a region, the bucket will be created in US Standard.
1251
+ # specify a region, the bucket is created in US East (N. Virginia)
1252
+ # Region (us-east-1).
1232
1253
  # @return [String]
1233
1254
  #
1234
1255
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketConfiguration AWS API Documentation
@@ -1262,6 +1283,7 @@ module Aws::S3
1262
1283
  # grant_read_acp: "GrantReadACP",
1263
1284
  # grant_write: "GrantWrite",
1264
1285
  # grant_write_acp: "GrantWriteACP",
1286
+ # object_lock_enabled_for_bucket: false,
1265
1287
  # }
1266
1288
  #
1267
1289
  # @!attribute [rw] acl
@@ -1296,6 +1318,11 @@ module Aws::S3
1296
1318
  # Allows grantee to write the ACL for the applicable bucket.
1297
1319
  # @return [String]
1298
1320
  #
1321
+ # @!attribute [rw] object_lock_enabled_for_bucket
1322
+ # Specifies whether you want S3 Object Lock to be enabled for the new
1323
+ # bucket.
1324
+ # @return [Boolean]
1325
+ #
1299
1326
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateBucketRequest AWS API Documentation
1300
1327
  #
1301
1328
  class CreateBucketRequest < Struct.new(
@@ -1306,7 +1333,8 @@ module Aws::S3
1306
1333
  :grant_read,
1307
1334
  :grant_read_acp,
1308
1335
  :grant_write,
1309
- :grant_write_acp)
1336
+ :grant_write_acp,
1337
+ :object_lock_enabled_for_bucket)
1310
1338
  include Aws::Structure
1311
1339
  end
1312
1340
 
@@ -1397,7 +1425,7 @@ module Aws::S3
1397
1425
  # "MetadataKey" => "MetadataValue",
1398
1426
  # },
1399
1427
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
1400
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
1428
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
1401
1429
  # website_redirect_location: "WebsiteRedirectLocation",
1402
1430
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1403
1431
  # sse_customer_key: "SSECustomerKey",
@@ -1405,6 +1433,9 @@ module Aws::S3
1405
1433
  # ssekms_key_id: "SSEKMSKeyId",
1406
1434
  # request_payer: "requester", # accepts requester
1407
1435
  # tagging: "TaggingHeader",
1436
+ # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
1437
+ # object_lock_retain_until_date: Time.now,
1438
+ # object_lock_legal_hold_status: "ON", # accepts ON, OFF
1408
1439
  # }
1409
1440
  #
1410
1441
  # @!attribute [rw] acl
@@ -1520,6 +1551,20 @@ module Aws::S3
1520
1551
  # parameters
1521
1552
  # @return [String]
1522
1553
  #
1554
+ # @!attribute [rw] object_lock_mode
1555
+ # Specifies the Object Lock mode that you want to apply to the
1556
+ # uploaded object.
1557
+ # @return [String]
1558
+ #
1559
+ # @!attribute [rw] object_lock_retain_until_date
1560
+ # Specifies the date and time when you want the Object Lock to expire.
1561
+ # @return [Time]
1562
+ #
1563
+ # @!attribute [rw] object_lock_legal_hold_status
1564
+ # Specifies whether you want to apply a Legal Hold to the uploaded
1565
+ # object.
1566
+ # @return [String]
1567
+ #
1523
1568
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CreateMultipartUploadRequest AWS API Documentation
1524
1569
  #
1525
1570
  class CreateMultipartUploadRequest < Struct.new(
@@ -1545,7 +1590,46 @@ module Aws::S3
1545
1590
  :sse_customer_key_md5,
1546
1591
  :ssekms_key_id,
1547
1592
  :request_payer,
1548
- :tagging)
1593
+ :tagging,
1594
+ :object_lock_mode,
1595
+ :object_lock_retain_until_date,
1596
+ :object_lock_legal_hold_status)
1597
+ include Aws::Structure
1598
+ end
1599
+
1600
+ # The container element for specifying the default Object Lock retention
1601
+ # settings for new objects placed in the specified bucket.
1602
+ #
1603
+ # @note When making an API call, you may pass DefaultRetention
1604
+ # data as a hash:
1605
+ #
1606
+ # {
1607
+ # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
1608
+ # days: 1,
1609
+ # years: 1,
1610
+ # }
1611
+ #
1612
+ # @!attribute [rw] mode
1613
+ # The default Object Lock retention mode you want to apply to new
1614
+ # objects placed in the specified bucket.
1615
+ # @return [String]
1616
+ #
1617
+ # @!attribute [rw] days
1618
+ # The number of days that you want to specify for the default
1619
+ # retention period.
1620
+ # @return [Integer]
1621
+ #
1622
+ # @!attribute [rw] years
1623
+ # The number of years that you want to specify for the default
1624
+ # retention period.
1625
+ # @return [Integer]
1626
+ #
1627
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DefaultRetention AWS API Documentation
1628
+ #
1629
+ class DefaultRetention < Struct.new(
1630
+ :mode,
1631
+ :days,
1632
+ :years)
1549
1633
  include Aws::Structure
1550
1634
  end
1551
1635
 
@@ -1886,6 +1970,7 @@ module Aws::S3
1886
1970
  # mfa: "MFA",
1887
1971
  # version_id: "ObjectVersionId",
1888
1972
  # request_payer: "requester", # accepts requester
1973
+ # bypass_governance_retention: false,
1889
1974
  # }
1890
1975
  #
1891
1976
  # @!attribute [rw] bucket
@@ -1912,6 +1997,11 @@ module Aws::S3
1912
1997
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1913
1998
  # @return [String]
1914
1999
  #
2000
+ # @!attribute [rw] bypass_governance_retention
2001
+ # Indicates whether S3 Object Lock should bypass Governance-mode
2002
+ # restrictions to process this operation.
2003
+ # @return [Boolean]
2004
+ #
1915
2005
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectRequest AWS API Documentation
1916
2006
  #
1917
2007
  class DeleteObjectRequest < Struct.new(
@@ -1919,7 +2009,8 @@ module Aws::S3
1919
2009
  :key,
1920
2010
  :mfa,
1921
2011
  :version_id,
1922
- :request_payer)
2012
+ :request_payer,
2013
+ :bypass_governance_retention)
1923
2014
  include Aws::Structure
1924
2015
  end
1925
2016
 
@@ -1998,6 +2089,7 @@ module Aws::S3
1998
2089
  # },
1999
2090
  # mfa: "MFA",
2000
2091
  # request_payer: "requester", # accepts requester
2092
+ # bypass_governance_retention: false,
2001
2093
  # }
2002
2094
  #
2003
2095
  # @!attribute [rw] bucket
@@ -2020,13 +2112,20 @@ module Aws::S3
2020
2112
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
2021
2113
  # @return [String]
2022
2114
  #
2115
+ # @!attribute [rw] bypass_governance_retention
2116
+ # Specifies whether you want to delete this object even if it has a
2117
+ # Governance-type Object Lock in place. You must have sufficient
2118
+ # permissions to perform this operation.
2119
+ # @return [Boolean]
2120
+ #
2023
2121
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteObjectsRequest AWS API Documentation
2024
2122
  #
2025
2123
  class DeleteObjectsRequest < Struct.new(
2026
2124
  :bucket,
2027
2125
  :delete,
2028
2126
  :mfa,
2029
- :request_payer)
2127
+ :request_payer,
2128
+ :bypass_governance_retention)
2030
2129
  include Aws::Structure
2031
2130
  end
2032
2131
 
@@ -2038,7 +2137,7 @@ module Aws::S3
2038
2137
  # }
2039
2138
  #
2040
2139
  # @!attribute [rw] bucket
2041
- # The Amazon S3 bucket whose Public Access Block configuration you
2140
+ # The Amazon S3 bucket whose `PublicAccessBlock` configuration you
2042
2141
  # want to delete.
2043
2142
  # @return [String]
2044
2143
  #
@@ -2079,7 +2178,7 @@ module Aws::S3
2079
2178
  # {
2080
2179
  # bucket: "BucketName", # required
2081
2180
  # account: "AccountId",
2082
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
2181
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
2083
2182
  # access_control_translation: {
2084
2183
  # owner: "Destination", # required, accepts Destination
2085
2184
  # },
@@ -2266,7 +2365,7 @@ module Aws::S3
2266
2365
  #
2267
2366
  #
2268
2367
  #
2269
- # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
2368
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
2270
2369
  # @return [String]
2271
2370
  #
2272
2371
  # @!attribute [rw] value
@@ -2666,7 +2765,7 @@ module Aws::S3
2666
2765
  end
2667
2766
 
2668
2767
  # @!attribute [rw] policy_status
2669
- # The public-policy status for this bucket.
2768
+ # The policy status for the specified bucket.
2670
2769
  # @return [Types::PolicyStatus]
2671
2770
  #
2672
2771
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatusOutput AWS API Documentation
@@ -2684,8 +2783,8 @@ module Aws::S3
2684
2783
  # }
2685
2784
  #
2686
2785
  # @!attribute [rw] bucket
2687
- # The name of the Amazon S3 bucket whose public-policy status you want
2688
- # to retrieve.
2786
+ # The name of the Amazon S3 bucket whose policy status you want to
2787
+ # retrieve.
2689
2788
  # @return [String]
2690
2789
  #
2691
2790
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatusRequest AWS API Documentation
@@ -2913,6 +3012,89 @@ module Aws::S3
2913
3012
  include Aws::Structure
2914
3013
  end
2915
3014
 
3015
+ # @!attribute [rw] legal_hold
3016
+ # The current Legal Hold status for the specified object.
3017
+ # @return [Types::ObjectLockLegalHold]
3018
+ #
3019
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHoldOutput AWS API Documentation
3020
+ #
3021
+ class GetObjectLegalHoldOutput < Struct.new(
3022
+ :legal_hold)
3023
+ include Aws::Structure
3024
+ end
3025
+
3026
+ # @note When making an API call, you may pass GetObjectLegalHoldRequest
3027
+ # data as a hash:
3028
+ #
3029
+ # {
3030
+ # bucket: "BucketName", # required
3031
+ # key: "ObjectKey", # required
3032
+ # version_id: "ObjectVersionId",
3033
+ # request_payer: "requester", # accepts requester
3034
+ # }
3035
+ #
3036
+ # @!attribute [rw] bucket
3037
+ # The bucket containing the object whose Legal Hold status you want to
3038
+ # retrieve.
3039
+ # @return [String]
3040
+ #
3041
+ # @!attribute [rw] key
3042
+ # The key name for the object whose Legal Hold status you want to
3043
+ # retrieve.
3044
+ # @return [String]
3045
+ #
3046
+ # @!attribute [rw] version_id
3047
+ # The version ID of the object whose Legal Hold status you want to
3048
+ # retrieve.
3049
+ # @return [String]
3050
+ #
3051
+ # @!attribute [rw] request_payer
3052
+ # Confirms that the requester knows that she or he will be charged for
3053
+ # the request. Bucket owners need not specify this parameter in their
3054
+ # requests. Documentation on downloading objects from requester pays
3055
+ # buckets can be found at
3056
+ # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
3057
+ # @return [String]
3058
+ #
3059
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHoldRequest AWS API Documentation
3060
+ #
3061
+ class GetObjectLegalHoldRequest < Struct.new(
3062
+ :bucket,
3063
+ :key,
3064
+ :version_id,
3065
+ :request_payer)
3066
+ include Aws::Structure
3067
+ end
3068
+
3069
+ # @!attribute [rw] object_lock_configuration
3070
+ # The specified bucket's Object Lock configuration.
3071
+ # @return [Types::ObjectLockConfiguration]
3072
+ #
3073
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfigurationOutput AWS API Documentation
3074
+ #
3075
+ class GetObjectLockConfigurationOutput < Struct.new(
3076
+ :object_lock_configuration)
3077
+ include Aws::Structure
3078
+ end
3079
+
3080
+ # @note When making an API call, you may pass GetObjectLockConfigurationRequest
3081
+ # data as a hash:
3082
+ #
3083
+ # {
3084
+ # bucket: "BucketName", # required
3085
+ # }
3086
+ #
3087
+ # @!attribute [rw] bucket
3088
+ # The bucket whose Object Lock configuration you want to retrieve.
3089
+ # @return [String]
3090
+ #
3091
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfigurationRequest AWS API Documentation
3092
+ #
3093
+ class GetObjectLockConfigurationRequest < Struct.new(
3094
+ :bucket)
3095
+ include Aws::Structure
3096
+ end
3097
+
2916
3098
  # @!attribute [rw] body
2917
3099
  # Object data.
2918
3100
  # @return [IO]
@@ -3049,6 +3231,20 @@ module Aws::S3
3049
3231
  # The number of tags, if any, on the object.
3050
3232
  # @return [Integer]
3051
3233
  #
3234
+ # @!attribute [rw] object_lock_mode
3235
+ # The Object Lock mode currently in place for this object.
3236
+ # @return [String]
3237
+ #
3238
+ # @!attribute [rw] object_lock_retain_until_date
3239
+ # The date and time when this object's Object Lock will expire.
3240
+ # @return [Time]
3241
+ #
3242
+ # @!attribute [rw] object_lock_legal_hold_status
3243
+ # Indicates whether this object has an active legal hold. This field
3244
+ # is only returned if you have permission to view an object's legal
3245
+ # hold status.
3246
+ # @return [String]
3247
+ #
3052
3248
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectOutput AWS API Documentation
3053
3249
  #
3054
3250
  class GetObjectOutput < Struct.new(
@@ -3080,7 +3276,10 @@ module Aws::S3
3080
3276
  :request_charged,
3081
3277
  :replication_status,
3082
3278
  :parts_count,
3083
- :tag_count)
3279
+ :tag_count,
3280
+ :object_lock_mode,
3281
+ :object_lock_retain_until_date,
3282
+ :object_lock_legal_hold_status)
3084
3283
  include Aws::Structure
3085
3284
  end
3086
3285
 
@@ -3228,6 +3427,60 @@ module Aws::S3
3228
3427
  include Aws::Structure
3229
3428
  end
3230
3429
 
3430
+ # @!attribute [rw] retention
3431
+ # The container element for an object's retention settings.
3432
+ # @return [Types::ObjectLockRetention]
3433
+ #
3434
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetentionOutput AWS API Documentation
3435
+ #
3436
+ class GetObjectRetentionOutput < Struct.new(
3437
+ :retention)
3438
+ include Aws::Structure
3439
+ end
3440
+
3441
+ # @note When making an API call, you may pass GetObjectRetentionRequest
3442
+ # data as a hash:
3443
+ #
3444
+ # {
3445
+ # bucket: "BucketName", # required
3446
+ # key: "ObjectKey", # required
3447
+ # version_id: "ObjectVersionId",
3448
+ # request_payer: "requester", # accepts requester
3449
+ # }
3450
+ #
3451
+ # @!attribute [rw] bucket
3452
+ # The bucket containing the object whose retention settings you want
3453
+ # to retrieve.
3454
+ # @return [String]
3455
+ #
3456
+ # @!attribute [rw] key
3457
+ # The key name for the object whose retention settings you want to
3458
+ # retrieve.
3459
+ # @return [String]
3460
+ #
3461
+ # @!attribute [rw] version_id
3462
+ # The version ID for the object whose retention settings you want to
3463
+ # retrieve.
3464
+ # @return [String]
3465
+ #
3466
+ # @!attribute [rw] request_payer
3467
+ # Confirms that the requester knows that she or he will be charged for
3468
+ # the request. Bucket owners need not specify this parameter in their
3469
+ # requests. Documentation on downloading objects from requester pays
3470
+ # buckets can be found at
3471
+ # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
3472
+ # @return [String]
3473
+ #
3474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetentionRequest AWS API Documentation
3475
+ #
3476
+ class GetObjectRetentionRequest < Struct.new(
3477
+ :bucket,
3478
+ :key,
3479
+ :version_id,
3480
+ :request_payer)
3481
+ include Aws::Structure
3482
+ end
3483
+
3231
3484
  # @!attribute [rw] version_id
3232
3485
  # @return [String]
3233
3486
  #
@@ -3318,7 +3571,7 @@ module Aws::S3
3318
3571
  end
3319
3572
 
3320
3573
  # @!attribute [rw] public_access_block_configuration
3321
- # The Public Access Block configuration currently in effect for this
3574
+ # The `PublicAccessBlock` configuration currently in effect for this
3322
3575
  # Amazon S3 bucket.
3323
3576
  # @return [Types::PublicAccessBlockConfiguration]
3324
3577
  #
@@ -3337,7 +3590,7 @@ module Aws::S3
3337
3590
  # }
3338
3591
  #
3339
3592
  # @!attribute [rw] bucket
3340
- # The name of the Amazon S3 bucket whose Public Access Block
3593
+ # The name of the Amazon S3 bucket whose `PublicAccessBlock`
3341
3594
  # configuration you want to retrieve.
3342
3595
  # @return [String]
3343
3596
  #
@@ -3578,6 +3831,18 @@ module Aws::S3
3578
3831
  # The count of parts this object has.
3579
3832
  # @return [Integer]
3580
3833
  #
3834
+ # @!attribute [rw] object_lock_mode
3835
+ # The Object Lock mode currently in place for this object.
3836
+ # @return [String]
3837
+ #
3838
+ # @!attribute [rw] object_lock_retain_until_date
3839
+ # The date and time when this object's Object Lock will expire.
3840
+ # @return [Time]
3841
+ #
3842
+ # @!attribute [rw] object_lock_legal_hold_status
3843
+ # The Legal Hold status for the specified object.
3844
+ # @return [String]
3845
+ #
3581
3846
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObjectOutput AWS API Documentation
3582
3847
  #
3583
3848
  class HeadObjectOutput < Struct.new(
@@ -3606,7 +3871,10 @@ module Aws::S3
3606
3871
  :storage_class,
3607
3872
  :request_charged,
3608
3873
  :replication_status,
3609
- :parts_count)
3874
+ :parts_count,
3875
+ :object_lock_mode,
3876
+ :object_lock_retain_until_date,
3877
+ :object_lock_legal_hold_status)
3610
3878
  include Aws::Structure
3611
3879
  end
3612
3880
 
@@ -3815,7 +4083,7 @@ module Aws::S3
3815
4083
  # s3_bucket_destination: { # required
3816
4084
  # account_id: "AccountId",
3817
4085
  # bucket: "BucketName", # required
3818
- # format: "CSV", # required, accepts CSV, ORC
4086
+ # format: "CSV", # required, accepts CSV, ORC, Parquet
3819
4087
  # prefix: "Prefix",
3820
4088
  # encryption: {
3821
4089
  # sses3: {
@@ -3832,7 +4100,7 @@ module Aws::S3
3832
4100
  # },
3833
4101
  # id: "InventoryId", # required
3834
4102
  # included_object_versions: "All", # required, accepts All, Current
3835
- # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus
4103
+ # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus
3836
4104
  # schedule: { # required
3837
4105
  # frequency: "Daily", # required, accepts Daily, Weekly
3838
4106
  # },
@@ -3889,7 +4157,7 @@ module Aws::S3
3889
4157
  # s3_bucket_destination: { # required
3890
4158
  # account_id: "AccountId",
3891
4159
  # bucket: "BucketName", # required
3892
- # format: "CSV", # required, accepts CSV, ORC
4160
+ # format: "CSV", # required, accepts CSV, ORC, Parquet
3893
4161
  # prefix: "Prefix",
3894
4162
  # encryption: {
3895
4163
  # sses3: {
@@ -3968,7 +4236,7 @@ module Aws::S3
3968
4236
  # {
3969
4237
  # account_id: "AccountId",
3970
4238
  # bucket: "BucketName", # required
3971
- # format: "CSV", # required, accepts CSV, ORC
4239
+ # format: "CSV", # required, accepts CSV, ORC, Parquet
3972
4240
  # prefix: "Prefix",
3973
4241
  # encryption: {
3974
4242
  # sses3: {
@@ -4075,7 +4343,7 @@ module Aws::S3
4075
4343
  # {
4076
4344
  # id: "NotificationId",
4077
4345
  # lambda_function_arn: "LambdaFunctionArn", # required
4078
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
4346
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
4079
4347
  # filter: {
4080
4348
  # key: {
4081
4349
  # filter_rules: [
@@ -4109,7 +4377,7 @@ module Aws::S3
4109
4377
  #
4110
4378
  #
4111
4379
  #
4112
- # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
4380
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
4113
4381
  # @return [Types::NotificationConfigurationFilter]
4114
4382
  #
4115
4383
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/LambdaFunctionConfiguration AWS API Documentation
@@ -4139,11 +4407,11 @@ module Aws::S3
4139
4407
  # transition: {
4140
4408
  # date: Time.now,
4141
4409
  # days: 1,
4142
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
4410
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
4143
4411
  # },
4144
4412
  # noncurrent_version_transition: {
4145
4413
  # noncurrent_days: 1,
4146
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
4414
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
4147
4415
  # },
4148
4416
  # noncurrent_version_expiration: {
4149
4417
  # noncurrent_days: 1,
@@ -4232,13 +4500,13 @@ module Aws::S3
4232
4500
  # {
4233
4501
  # date: Time.now,
4234
4502
  # days: 1,
4235
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
4503
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
4236
4504
  # },
4237
4505
  # ],
4238
4506
  # noncurrent_version_transitions: [
4239
4507
  # {
4240
4508
  # noncurrent_days: 1,
4241
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
4509
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
4242
4510
  # },
4243
4511
  # ],
4244
4512
  # noncurrent_version_expiration: {
@@ -4259,7 +4527,7 @@ module Aws::S3
4259
4527
  #
4260
4528
  # @!attribute [rw] prefix
4261
4529
  # Prefix identifying one or more objects to which the rule applies.
4262
- # This is deprecated; use Filter instead.
4530
+ # This is No longer used; use Filter instead.
4263
4531
  # @return [String]
4264
4532
  #
4265
4533
  # @!attribute [rw] filter
@@ -5502,7 +5770,7 @@ module Aws::S3
5502
5770
  #
5503
5771
  #
5504
5772
  #
5505
- # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
5773
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
5506
5774
  # @return [Integer]
5507
5775
  #
5508
5776
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NoncurrentVersionExpiration AWS API Documentation
@@ -5513,11 +5781,12 @@ module Aws::S3
5513
5781
  end
5514
5782
 
5515
5783
  # Container for the transition rule that describes when noncurrent
5516
- # objects transition to the STANDARD\_IA, ONEZONE\_IA, or GLACIER
5517
- # storage class. If your bucket is versioning-enabled (or versioning is
5518
- # suspended), you can set this action to request that Amazon S3
5519
- # transition noncurrent object versions to the STANDARD\_IA,
5520
- # ONEZONE\_IA, or GLACIER storage class at a specific period in the
5784
+ # objects transition to the STANDARD\_IA, ONEZONE\_IA,
5785
+ # INTELLIGENT\_TIERING, GLACIER or DEEP\_ARCHIVE storage class. If your
5786
+ # bucket is versioning-enabled (or versioning is suspended), you can set
5787
+ # this action to request that Amazon S3 transition noncurrent object
5788
+ # versions to the STANDARD\_IA, ONEZONE\_IA, INTELLIGENT\_TIERING,
5789
+ # GLACIER or DEEP\_ARCHIVE storage class at a specific period in the
5521
5790
  # object's lifetime.
5522
5791
  #
5523
5792
  # @note When making an API call, you may pass NoncurrentVersionTransition
@@ -5525,7 +5794,7 @@ module Aws::S3
5525
5794
  #
5526
5795
  # {
5527
5796
  # noncurrent_days: 1,
5528
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
5797
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
5529
5798
  # }
5530
5799
  #
5531
5800
  # @!attribute [rw] noncurrent_days
@@ -5537,7 +5806,7 @@ module Aws::S3
5537
5806
  #
5538
5807
  #
5539
5808
  #
5540
- # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
5809
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html
5541
5810
  # @return [Integer]
5542
5811
  #
5543
5812
  # @!attribute [rw] storage_class
@@ -5564,7 +5833,7 @@ module Aws::S3
5564
5833
  # {
5565
5834
  # id: "NotificationId",
5566
5835
  # topic_arn: "TopicArn", # required
5567
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
5836
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
5568
5837
  # filter: {
5569
5838
  # key: {
5570
5839
  # filter_rules: [
@@ -5581,7 +5850,7 @@ module Aws::S3
5581
5850
  # {
5582
5851
  # id: "NotificationId",
5583
5852
  # queue_arn: "QueueArn", # required
5584
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
5853
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
5585
5854
  # filter: {
5586
5855
  # key: {
5587
5856
  # filter_rules: [
@@ -5598,7 +5867,7 @@ module Aws::S3
5598
5867
  # {
5599
5868
  # id: "NotificationId",
5600
5869
  # lambda_function_arn: "LambdaFunctionArn", # required
5601
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
5870
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
5602
5871
  # filter: {
5603
5872
  # key: {
5604
5873
  # filter_rules: [
@@ -5637,20 +5906,20 @@ module Aws::S3
5637
5906
  # {
5638
5907
  # topic_configuration: {
5639
5908
  # id: "NotificationId",
5640
- # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
5641
- # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
5909
+ # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
5910
+ # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
5642
5911
  # topic: "TopicArn",
5643
5912
  # },
5644
5913
  # queue_configuration: {
5645
5914
  # id: "NotificationId",
5646
- # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
5647
- # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
5915
+ # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
5916
+ # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
5648
5917
  # queue: "QueueArn",
5649
5918
  # },
5650
5919
  # cloud_function_configuration: {
5651
5920
  # id: "NotificationId",
5652
- # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
5653
- # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
5921
+ # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
5922
+ # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
5654
5923
  # cloud_function: "CloudFunction",
5655
5924
  # invocation_role: "CloudFunctionInvocationRole",
5656
5925
  # },
@@ -5680,7 +5949,7 @@ module Aws::S3
5680
5949
  #
5681
5950
  #
5682
5951
  #
5683
- # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
5952
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
5684
5953
  #
5685
5954
  # @note When making an API call, you may pass NotificationConfigurationFilter
5686
5955
  # data as a hash:
@@ -5762,6 +6031,110 @@ module Aws::S3
5762
6031
  include Aws::Structure
5763
6032
  end
5764
6033
 
6034
+ # The container element for Object Lock configuration parameters.
6035
+ #
6036
+ # @note When making an API call, you may pass ObjectLockConfiguration
6037
+ # data as a hash:
6038
+ #
6039
+ # {
6040
+ # object_lock_enabled: "Enabled", # accepts Enabled
6041
+ # rule: {
6042
+ # default_retention: {
6043
+ # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
6044
+ # days: 1,
6045
+ # years: 1,
6046
+ # },
6047
+ # },
6048
+ # }
6049
+ #
6050
+ # @!attribute [rw] object_lock_enabled
6051
+ # Indicates whether this bucket has an Object Lock configuration
6052
+ # enabled.
6053
+ # @return [String]
6054
+ #
6055
+ # @!attribute [rw] rule
6056
+ # The Object Lock rule in place for the specified object.
6057
+ # @return [Types::ObjectLockRule]
6058
+ #
6059
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockConfiguration AWS API Documentation
6060
+ #
6061
+ class ObjectLockConfiguration < Struct.new(
6062
+ :object_lock_enabled,
6063
+ :rule)
6064
+ include Aws::Structure
6065
+ end
6066
+
6067
+ # A Legal Hold configuration for an object.
6068
+ #
6069
+ # @note When making an API call, you may pass ObjectLockLegalHold
6070
+ # data as a hash:
6071
+ #
6072
+ # {
6073
+ # status: "ON", # accepts ON, OFF
6074
+ # }
6075
+ #
6076
+ # @!attribute [rw] status
6077
+ # Indicates whether the specified object has a Legal Hold in place.
6078
+ # @return [String]
6079
+ #
6080
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockLegalHold AWS API Documentation
6081
+ #
6082
+ class ObjectLockLegalHold < Struct.new(
6083
+ :status)
6084
+ include Aws::Structure
6085
+ end
6086
+
6087
+ # A Retention configuration for an object.
6088
+ #
6089
+ # @note When making an API call, you may pass ObjectLockRetention
6090
+ # data as a hash:
6091
+ #
6092
+ # {
6093
+ # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
6094
+ # retain_until_date: Time.now,
6095
+ # }
6096
+ #
6097
+ # @!attribute [rw] mode
6098
+ # Indicates the Retention mode for the specified object.
6099
+ # @return [String]
6100
+ #
6101
+ # @!attribute [rw] retain_until_date
6102
+ # The date on which this Object Lock Retention will expire.
6103
+ # @return [Time]
6104
+ #
6105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockRetention AWS API Documentation
6106
+ #
6107
+ class ObjectLockRetention < Struct.new(
6108
+ :mode,
6109
+ :retain_until_date)
6110
+ include Aws::Structure
6111
+ end
6112
+
6113
+ # The container element for an Object Lock rule.
6114
+ #
6115
+ # @note When making an API call, you may pass ObjectLockRule
6116
+ # data as a hash:
6117
+ #
6118
+ # {
6119
+ # default_retention: {
6120
+ # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
6121
+ # days: 1,
6122
+ # years: 1,
6123
+ # },
6124
+ # }
6125
+ #
6126
+ # @!attribute [rw] default_retention
6127
+ # The default retention period that you want to apply to new objects
6128
+ # placed in the specified bucket.
6129
+ # @return [Types::DefaultRetention]
6130
+ #
6131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectLockRule AWS API Documentation
6132
+ #
6133
+ class ObjectLockRule < Struct.new(
6134
+ :default_retention)
6135
+ include Aws::Structure
6136
+ end
6137
+
5765
6138
  # @!attribute [rw] etag
5766
6139
  # @return [String]
5767
6140
  #
@@ -5848,7 +6221,7 @@ module Aws::S3
5848
6221
  # value: "MetadataValue",
5849
6222
  # },
5850
6223
  # ],
5851
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
6224
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
5852
6225
  # },
5853
6226
  # }
5854
6227
  #
@@ -5953,11 +6326,11 @@ module Aws::S3
5953
6326
  include Aws::Structure
5954
6327
  end
5955
6328
 
5956
- # The container element for this bucket's public-policy status.
6329
+ # The container element for a bucket's policy status.
5957
6330
  #
5958
6331
  # @!attribute [rw] is_public
5959
- # The public-policy status for this bucket. `TRUE` indicates that this
5960
- # bucket is public. `FALSE` indicates that the bucket is not public.
6332
+ # The policy status for this bucket. `TRUE` indicates that this bucket
6333
+ # is public. `FALSE` indicates that the bucket is not public.
5961
6334
  # @return [Boolean]
5962
6335
  #
5963
6336
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PolicyStatus AWS API Documentation
@@ -6000,51 +6373,6 @@ module Aws::S3
6000
6373
  include Aws::Structure
6001
6374
  end
6002
6375
 
6003
- # The container element for all Public Access Block configuration
6004
- # options. You can enable the configuration options in any combination.
6005
- #
6006
- # Amazon S3 considers a bucket policy public unless at least one of the
6007
- # following conditions is true:
6008
- #
6009
- # 1. The policy limits access to a set of CIDRs using `aws:SourceIp`.
6010
- # For more information on CIDR, see
6011
- # [http://www.rfc-editor.org/rfc/rfc4632.txt][1]
6012
- #
6013
- # 2. The policy grants permissions, not including any "bad actions,"
6014
- # to one of the following:
6015
- #
6016
- # * A fixed AWS principal, user, role, or service principal
6017
- #
6018
- # * A fixed `aws:SourceArn`
6019
- #
6020
- # * A fixed `aws:SourceVpc`
6021
- #
6022
- # * A fixed `aws:SourceVpce`
6023
- #
6024
- # * A fixed `aws:SourceOwner`
6025
- #
6026
- # * A fixed `aws:SourceAccount`
6027
- #
6028
- # * A fixed value of
6029
- # `s3:x-amz-server-side-encryption-aws-kms-key-id`
6030
- #
6031
- # * A fixed value of `aws:userid` outside the pattern
6032
- # "`AROLEID:*`"
6033
- #
6034
- # "Bad actions" are those that could expose the data inside a bucket
6035
- # to reads or writes by the public. These actions are `s3:Get*`,
6036
- # `s3:List*`, `s3:AbortMultipartUpload`, `s3:Delete*`, `s3:Put*`, and
6037
- # `s3:RestoreObject`.
6038
- #
6039
- # The star notation for bad actions indicates that all matching
6040
- # operations are considered bad actions. For example, because `s3:Get*`
6041
- # is a bad action, `s3:GetObject`, `s3:GetObjectVersion`, and
6042
- # `s3:GetObjectAcl` are all bad actions.
6043
- #
6044
- #
6045
- #
6046
- # [1]: http://www.rfc-editor.org/rfc/rfc4632.txt
6047
- #
6048
6376
  # @note When making an API call, you may pass PublicAccessBlockConfiguration
6049
6377
  # data as a hash:
6050
6378
  #
@@ -6056,27 +6384,26 @@ module Aws::S3
6056
6384
  # }
6057
6385
  #
6058
6386
  # @!attribute [rw] block_public_acls
6059
- # Specifies whether Amazon S3 should block public ACLs for this
6060
- # bucket. Setting this element to `TRUE` causes the following
6061
- # behavior:
6387
+ # Specifies whether Amazon S3 should block public access control lists
6388
+ # (ACLs) for this bucket and objects in this bucket. Setting this
6389
+ # element to `TRUE` causes the following behavior:
6062
6390
  #
6063
- # * PUT Bucket acl and PUT Object acl calls will fail if the specified
6064
- # ACL allows public access.
6391
+ # * PUT Bucket acl and PUT Object acl calls fail if the specified ACL
6392
+ # is public.
6065
6393
  #
6066
- # * PUT Object calls will fail if the request includes an object ACL.
6394
+ # * PUT Object calls fail if the request includes a public ACL.
6067
6395
  #
6068
- # Note that enabling this setting doesn't affect existing policies or
6069
- # ACLs.
6396
+ # Enabling this setting doesn't affect existing policies or ACLs.
6070
6397
  # @return [Boolean]
6071
6398
  #
6072
6399
  # @!attribute [rw] ignore_public_acls
6073
6400
  # Specifies whether Amazon S3 should ignore public ACLs for this
6074
- # bucket. Setting this element to `TRUE` causes Amazon S3 to ignore
6075
- # all public ACLs on this bucket and any objects that it contains.
6401
+ # bucket and objects in this bucket. Setting this element to `TRUE`
6402
+ # causes Amazon S3 to ignore all public ACLs on this bucket and
6403
+ # objects in this bucket.
6076
6404
  #
6077
- # Note that enabling this setting doesn't affect the persistence of
6078
- # any existing ACLs and doesn't prevent new public ACLs from being
6079
- # set.
6405
+ # Enabling this setting doesn't affect the persistence of any
6406
+ # existing ACLs and doesn't prevent new public ACLs from being set.
6080
6407
  # @return [Boolean]
6081
6408
  #
6082
6409
  # @!attribute [rw] block_public_policy
@@ -6085,20 +6412,19 @@ module Aws::S3
6085
6412
  # reject calls to PUT Bucket policy if the specified bucket policy
6086
6413
  # allows public access.
6087
6414
  #
6088
- # Note that enabling this setting doesn't affect existing bucket
6089
- # policies.
6415
+ # Enabling this setting doesn't affect existing bucket policies.
6090
6416
  # @return [Boolean]
6091
6417
  #
6092
6418
  # @!attribute [rw] restrict_public_buckets
6093
6419
  # Specifies whether Amazon S3 should restrict public bucket policies
6094
- # for this bucket. If this element is set to `TRUE`, then only the
6095
- # bucket owner and AWS Services can access this bucket if it has a
6096
- # public policy.
6097
- #
6098
- # Note that enabling this setting doesn't affect previously stored
6099
- # bucket policies, except that public and cross-account access within
6100
- # any public bucket policy, including non-public delegation to
6101
- # specific accounts, is blocked.
6420
+ # for this bucket. Setting this element to `TRUE` restricts access to
6421
+ # this bucket to only AWS services and authorized users within this
6422
+ # account if the bucket has a public policy.
6423
+ #
6424
+ # Enabling this setting doesn't affect previously stored bucket
6425
+ # policies, except that public and cross-account access within any
6426
+ # public bucket policy, including non-public delegation to specific
6427
+ # accounts, is blocked.
6102
6428
  # @return [Boolean]
6103
6429
  #
6104
6430
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PublicAccessBlockConfiguration AWS API Documentation
@@ -6344,7 +6670,8 @@ module Aws::S3
6344
6670
  #
6345
6671
  # @!attribute [rw] content_md5
6346
6672
  # The base64-encoded 128-bit MD5 digest of the server-side encryption
6347
- # configuration.
6673
+ # configuration. This parameter is auto-populated when using the
6674
+ # command from the CLI
6348
6675
  # @return [String]
6349
6676
  #
6350
6677
  # @!attribute [rw] server_side_encryption_configuration
@@ -6372,7 +6699,7 @@ module Aws::S3
6372
6699
  # s3_bucket_destination: { # required
6373
6700
  # account_id: "AccountId",
6374
6701
  # bucket: "BucketName", # required
6375
- # format: "CSV", # required, accepts CSV, ORC
6702
+ # format: "CSV", # required, accepts CSV, ORC, Parquet
6376
6703
  # prefix: "Prefix",
6377
6704
  # encryption: {
6378
6705
  # sses3: {
@@ -6389,7 +6716,7 @@ module Aws::S3
6389
6716
  # },
6390
6717
  # id: "InventoryId", # required
6391
6718
  # included_object_versions: "All", # required, accepts All, Current
6392
- # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus
6719
+ # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus
6393
6720
  # schedule: { # required
6394
6721
  # frequency: "Daily", # required, accepts Daily, Weekly
6395
6722
  # },
@@ -6454,13 +6781,13 @@ module Aws::S3
6454
6781
  # {
6455
6782
  # date: Time.now,
6456
6783
  # days: 1,
6457
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
6784
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
6458
6785
  # },
6459
6786
  # ],
6460
6787
  # noncurrent_version_transitions: [
6461
6788
  # {
6462
6789
  # noncurrent_days: 1,
6463
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
6790
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
6464
6791
  # },
6465
6792
  # ],
6466
6793
  # noncurrent_version_expiration: {
@@ -6508,11 +6835,11 @@ module Aws::S3
6508
6835
  # transition: {
6509
6836
  # date: Time.now,
6510
6837
  # days: 1,
6511
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
6838
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
6512
6839
  # },
6513
6840
  # noncurrent_version_transition: {
6514
6841
  # noncurrent_days: 1,
6515
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
6842
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
6516
6843
  # },
6517
6844
  # noncurrent_version_expiration: {
6518
6845
  # noncurrent_days: 1,
@@ -6645,7 +6972,7 @@ module Aws::S3
6645
6972
  # {
6646
6973
  # id: "NotificationId",
6647
6974
  # topic_arn: "TopicArn", # required
6648
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
6975
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
6649
6976
  # filter: {
6650
6977
  # key: {
6651
6978
  # filter_rules: [
@@ -6662,7 +6989,7 @@ module Aws::S3
6662
6989
  # {
6663
6990
  # id: "NotificationId",
6664
6991
  # queue_arn: "QueueArn", # required
6665
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
6992
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
6666
6993
  # filter: {
6667
6994
  # key: {
6668
6995
  # filter_rules: [
@@ -6679,7 +7006,7 @@ module Aws::S3
6679
7006
  # {
6680
7007
  # id: "NotificationId",
6681
7008
  # lambda_function_arn: "LambdaFunctionArn", # required
6682
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
7009
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
6683
7010
  # filter: {
6684
7011
  # key: {
6685
7012
  # filter_rules: [
@@ -6721,20 +7048,20 @@ module Aws::S3
6721
7048
  # notification_configuration: { # required
6722
7049
  # topic_configuration: {
6723
7050
  # id: "NotificationId",
6724
- # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
6725
- # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
7051
+ # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
7052
+ # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
6726
7053
  # topic: "TopicArn",
6727
7054
  # },
6728
7055
  # queue_configuration: {
6729
7056
  # id: "NotificationId",
6730
- # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
6731
- # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
7057
+ # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
7058
+ # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
6732
7059
  # queue: "QueueArn",
6733
7060
  # },
6734
7061
  # cloud_function_configuration: {
6735
7062
  # id: "NotificationId",
6736
- # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
6737
- # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
7063
+ # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
7064
+ # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
6738
7065
  # cloud_function: "CloudFunction",
6739
7066
  # invocation_role: "CloudFunctionInvocationRole",
6740
7067
  # },
@@ -6832,7 +7159,7 @@ module Aws::S3
6832
7159
  # destination: { # required
6833
7160
  # bucket: "BucketName", # required
6834
7161
  # account: "AccountId",
6835
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
7162
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
6836
7163
  # access_control_translation: {
6837
7164
  # owner: "Destination", # required, accepts Destination
6838
7165
  # },
@@ -7137,6 +7464,143 @@ module Aws::S3
7137
7464
  include Aws::Structure
7138
7465
  end
7139
7466
 
7467
+ # @!attribute [rw] request_charged
7468
+ # If present, indicates that the requester was successfully charged
7469
+ # for the request.
7470
+ # @return [String]
7471
+ #
7472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHoldOutput AWS API Documentation
7473
+ #
7474
+ class PutObjectLegalHoldOutput < Struct.new(
7475
+ :request_charged)
7476
+ include Aws::Structure
7477
+ end
7478
+
7479
+ # @note When making an API call, you may pass PutObjectLegalHoldRequest
7480
+ # data as a hash:
7481
+ #
7482
+ # {
7483
+ # bucket: "BucketName", # required
7484
+ # key: "ObjectKey", # required
7485
+ # legal_hold: {
7486
+ # status: "ON", # accepts ON, OFF
7487
+ # },
7488
+ # request_payer: "requester", # accepts requester
7489
+ # version_id: "ObjectVersionId",
7490
+ # content_md5: "ContentMD5",
7491
+ # }
7492
+ #
7493
+ # @!attribute [rw] bucket
7494
+ # The bucket containing the object that you want to place a Legal Hold
7495
+ # on.
7496
+ # @return [String]
7497
+ #
7498
+ # @!attribute [rw] key
7499
+ # The key name for the object that you want to place a Legal Hold on.
7500
+ # @return [String]
7501
+ #
7502
+ # @!attribute [rw] legal_hold
7503
+ # Container element for the Legal Hold configuration you want to apply
7504
+ # to the specified object.
7505
+ # @return [Types::ObjectLockLegalHold]
7506
+ #
7507
+ # @!attribute [rw] request_payer
7508
+ # Confirms that the requester knows that she or he will be charged for
7509
+ # the request. Bucket owners need not specify this parameter in their
7510
+ # requests. Documentation on downloading objects from requester pays
7511
+ # buckets can be found at
7512
+ # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
7513
+ # @return [String]
7514
+ #
7515
+ # @!attribute [rw] version_id
7516
+ # The version ID of the object that you want to place a Legal Hold on.
7517
+ # @return [String]
7518
+ #
7519
+ # @!attribute [rw] content_md5
7520
+ # The MD5 hash for the request body.
7521
+ # @return [String]
7522
+ #
7523
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHoldRequest AWS API Documentation
7524
+ #
7525
+ class PutObjectLegalHoldRequest < Struct.new(
7526
+ :bucket,
7527
+ :key,
7528
+ :legal_hold,
7529
+ :request_payer,
7530
+ :version_id,
7531
+ :content_md5)
7532
+ include Aws::Structure
7533
+ end
7534
+
7535
+ # @!attribute [rw] request_charged
7536
+ # If present, indicates that the requester was successfully charged
7537
+ # for the request.
7538
+ # @return [String]
7539
+ #
7540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfigurationOutput AWS API Documentation
7541
+ #
7542
+ class PutObjectLockConfigurationOutput < Struct.new(
7543
+ :request_charged)
7544
+ include Aws::Structure
7545
+ end
7546
+
7547
+ # @note When making an API call, you may pass PutObjectLockConfigurationRequest
7548
+ # data as a hash:
7549
+ #
7550
+ # {
7551
+ # bucket: "BucketName", # required
7552
+ # object_lock_configuration: {
7553
+ # object_lock_enabled: "Enabled", # accepts Enabled
7554
+ # rule: {
7555
+ # default_retention: {
7556
+ # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
7557
+ # days: 1,
7558
+ # years: 1,
7559
+ # },
7560
+ # },
7561
+ # },
7562
+ # request_payer: "requester", # accepts requester
7563
+ # token: "ObjectLockToken",
7564
+ # content_md5: "ContentMD5",
7565
+ # }
7566
+ #
7567
+ # @!attribute [rw] bucket
7568
+ # The bucket whose Object Lock configuration you want to create or
7569
+ # replace.
7570
+ # @return [String]
7571
+ #
7572
+ # @!attribute [rw] object_lock_configuration
7573
+ # The Object Lock configuration that you want to apply to the
7574
+ # specified bucket.
7575
+ # @return [Types::ObjectLockConfiguration]
7576
+ #
7577
+ # @!attribute [rw] request_payer
7578
+ # Confirms that the requester knows that she or he will be charged for
7579
+ # the request. Bucket owners need not specify this parameter in their
7580
+ # requests. Documentation on downloading objects from requester pays
7581
+ # buckets can be found at
7582
+ # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
7583
+ # @return [String]
7584
+ #
7585
+ # @!attribute [rw] token
7586
+ # A token to allow Object Lock to be enabled for an existing bucket.
7587
+ # @return [String]
7588
+ #
7589
+ # @!attribute [rw] content_md5
7590
+ # The MD5 hash for the request body.
7591
+ # @return [String]
7592
+ #
7593
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfigurationRequest AWS API Documentation
7594
+ #
7595
+ class PutObjectLockConfigurationRequest < Struct.new(
7596
+ :bucket,
7597
+ :object_lock_configuration,
7598
+ :request_payer,
7599
+ :token,
7600
+ :content_md5)
7601
+ include Aws::Structure
7602
+ end
7603
+
7140
7604
  # @!attribute [rw] expiration
7141
7605
  # If the object expiration is configured, this will contain the
7142
7606
  # expiration date (expiry-date) and rule ID (rule-id). The value of
@@ -7217,7 +7681,7 @@ module Aws::S3
7217
7681
  # "MetadataKey" => "MetadataValue",
7218
7682
  # },
7219
7683
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
7220
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
7684
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
7221
7685
  # website_redirect_location: "WebsiteRedirectLocation",
7222
7686
  # sse_customer_algorithm: "SSECustomerAlgorithm",
7223
7687
  # sse_customer_key: "SSECustomerKey",
@@ -7225,6 +7689,9 @@ module Aws::S3
7225
7689
  # ssekms_key_id: "SSEKMSKeyId",
7226
7690
  # request_payer: "requester", # accepts requester
7227
7691
  # tagging: "TaggingHeader",
7692
+ # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
7693
+ # object_lock_retain_until_date: Time.now,
7694
+ # object_lock_legal_hold_status: "ON", # accepts ON, OFF
7228
7695
  # }
7229
7696
  #
7230
7697
  # @!attribute [rw] acl
@@ -7263,7 +7730,8 @@ module Aws::S3
7263
7730
  # @return [Integer]
7264
7731
  #
7265
7732
  # @!attribute [rw] content_md5
7266
- # The base64-encoded 128-bit MD5 digest of the part data.
7733
+ # The base64-encoded 128-bit MD5 digest of the part data. This
7734
+ # parameter is auto-populated when using the command from the CLI
7267
7735
  # @return [String]
7268
7736
  #
7269
7737
  # @!attribute [rw] content_type
@@ -7355,6 +7823,20 @@ module Aws::S3
7355
7823
  # parameters. (For example, "Key1=Value1")
7356
7824
  # @return [String]
7357
7825
  #
7826
+ # @!attribute [rw] object_lock_mode
7827
+ # The Object Lock mode that you want to apply to this object.
7828
+ # @return [String]
7829
+ #
7830
+ # @!attribute [rw] object_lock_retain_until_date
7831
+ # The date and time when you want this object's Object Lock to
7832
+ # expire.
7833
+ # @return [Time]
7834
+ #
7835
+ # @!attribute [rw] object_lock_legal_hold_status
7836
+ # The Legal Hold status that you want to apply to the specified
7837
+ # object.
7838
+ # @return [String]
7839
+ #
7358
7840
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRequest AWS API Documentation
7359
7841
  #
7360
7842
  class PutObjectRequest < Struct.new(
@@ -7383,7 +7865,87 @@ module Aws::S3
7383
7865
  :sse_customer_key_md5,
7384
7866
  :ssekms_key_id,
7385
7867
  :request_payer,
7386
- :tagging)
7868
+ :tagging,
7869
+ :object_lock_mode,
7870
+ :object_lock_retain_until_date,
7871
+ :object_lock_legal_hold_status)
7872
+ include Aws::Structure
7873
+ end
7874
+
7875
+ # @!attribute [rw] request_charged
7876
+ # If present, indicates that the requester was successfully charged
7877
+ # for the request.
7878
+ # @return [String]
7879
+ #
7880
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetentionOutput AWS API Documentation
7881
+ #
7882
+ class PutObjectRetentionOutput < Struct.new(
7883
+ :request_charged)
7884
+ include Aws::Structure
7885
+ end
7886
+
7887
+ # @note When making an API call, you may pass PutObjectRetentionRequest
7888
+ # data as a hash:
7889
+ #
7890
+ # {
7891
+ # bucket: "BucketName", # required
7892
+ # key: "ObjectKey", # required
7893
+ # retention: {
7894
+ # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
7895
+ # retain_until_date: Time.now,
7896
+ # },
7897
+ # request_payer: "requester", # accepts requester
7898
+ # version_id: "ObjectVersionId",
7899
+ # bypass_governance_retention: false,
7900
+ # content_md5: "ContentMD5",
7901
+ # }
7902
+ #
7903
+ # @!attribute [rw] bucket
7904
+ # The bucket that contains the object you want to apply this Object
7905
+ # Retention configuration to.
7906
+ # @return [String]
7907
+ #
7908
+ # @!attribute [rw] key
7909
+ # The key name for the object that you want to apply this Object
7910
+ # Retention configuration to.
7911
+ # @return [String]
7912
+ #
7913
+ # @!attribute [rw] retention
7914
+ # The container element for the Object Retention configuration.
7915
+ # @return [Types::ObjectLockRetention]
7916
+ #
7917
+ # @!attribute [rw] request_payer
7918
+ # Confirms that the requester knows that she or he will be charged for
7919
+ # the request. Bucket owners need not specify this parameter in their
7920
+ # requests. Documentation on downloading objects from requester pays
7921
+ # buckets can be found at
7922
+ # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
7923
+ # @return [String]
7924
+ #
7925
+ # @!attribute [rw] version_id
7926
+ # The version ID for the object that you want to apply this Object
7927
+ # Retention configuration to.
7928
+ # @return [String]
7929
+ #
7930
+ # @!attribute [rw] bypass_governance_retention
7931
+ # Indicates whether this operation should bypass Governance-mode
7932
+ # restrictions.j
7933
+ # @return [Boolean]
7934
+ #
7935
+ # @!attribute [rw] content_md5
7936
+ # The MD5 hash for the request body.
7937
+ # @return [String]
7938
+ #
7939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetentionRequest AWS API Documentation
7940
+ #
7941
+ class PutObjectRetentionRequest < Struct.new(
7942
+ :bucket,
7943
+ :key,
7944
+ :retention,
7945
+ :request_payer,
7946
+ :version_id,
7947
+ :bypass_governance_retention,
7948
+ :content_md5)
7387
7949
  include Aws::Structure
7388
7950
  end
7389
7951
 
@@ -7456,17 +8018,24 @@ module Aws::S3
7456
8018
  # }
7457
8019
  #
7458
8020
  # @!attribute [rw] bucket
7459
- # The name of the Amazon S3 bucket whose Public Access Block
8021
+ # The name of the Amazon S3 bucket whose `PublicAccessBlock`
7460
8022
  # configuration you want to set.
7461
8023
  # @return [String]
7462
8024
  #
7463
8025
  # @!attribute [rw] content_md5
7464
- # The MD5 hash of the `PutPublicBlock` request body.
8026
+ # The MD5 hash of the `PutPublicAccessBlock` request body.
7465
8027
  # @return [String]
7466
8028
  #
7467
8029
  # @!attribute [rw] public_access_block_configuration
7468
- # The Public Access Block configuration that you want to apply to this
7469
- # Amazon S3 bucket.
8030
+ # The `PublicAccessBlock` configuration that you want to apply to this
8031
+ # Amazon S3 bucket. You can enable the configuration options in any
8032
+ # combination. For more information about when Amazon S3 considers a
8033
+ # bucket or object public, see [The Meaning of "Public"][1] in the
8034
+ # *Amazon Simple Storage Service Developer Guide*.
8035
+ #
8036
+ #
8037
+ #
8038
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
7470
8039
  # @return [Types::PublicAccessBlockConfiguration]
7471
8040
  #
7472
8041
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlockRequest AWS API Documentation
@@ -7488,7 +8057,7 @@ module Aws::S3
7488
8057
  # {
7489
8058
  # id: "NotificationId",
7490
8059
  # queue_arn: "QueueArn", # required
7491
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
8060
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
7492
8061
  # filter: {
7493
8062
  # key: {
7494
8063
  # filter_rules: [
@@ -7523,7 +8092,7 @@ module Aws::S3
7523
8092
  #
7524
8093
  #
7525
8094
  #
7526
- # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
8095
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
7527
8096
  # @return [Types::NotificationConfigurationFilter]
7528
8097
  #
7529
8098
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/QueueConfiguration AWS API Documentation
@@ -7541,8 +8110,8 @@ module Aws::S3
7541
8110
  #
7542
8111
  # {
7543
8112
  # id: "NotificationId",
7544
- # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
7545
- # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
8113
+ # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
8114
+ # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
7546
8115
  # queue: "QueueArn",
7547
8116
  # }
7548
8117
  #
@@ -7700,7 +8269,7 @@ module Aws::S3
7700
8269
  # destination: { # required
7701
8270
  # bucket: "BucketName", # required
7702
8271
  # account: "AccountId",
7703
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
8272
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
7704
8273
  # access_control_translation: {
7705
8274
  # owner: "Destination", # required, accepts Destination
7706
8275
  # },
@@ -7769,7 +8338,7 @@ module Aws::S3
7769
8338
  # destination: { # required
7770
8339
  # bucket: "BucketName", # required
7771
8340
  # account: "AccountId",
7772
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
8341
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
7773
8342
  # access_control_translation: {
7774
8343
  # owner: "Destination", # required, accepts Destination
7775
8344
  # },
@@ -8076,7 +8645,7 @@ module Aws::S3
8076
8645
  # value: "MetadataValue",
8077
8646
  # },
8078
8647
  # ],
8079
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
8648
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
8080
8649
  # },
8081
8650
  # },
8082
8651
  # },
@@ -8197,7 +8766,7 @@ module Aws::S3
8197
8766
  # value: "MetadataValue",
8198
8767
  # },
8199
8768
  # ],
8200
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
8769
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
8201
8770
  # },
8202
8771
  # },
8203
8772
  # }
@@ -8299,11 +8868,11 @@ module Aws::S3
8299
8868
  # transition: {
8300
8869
  # date: Time.now,
8301
8870
  # days: 1,
8302
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
8871
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
8303
8872
  # },
8304
8873
  # noncurrent_version_transition: {
8305
8874
  # noncurrent_days: 1,
8306
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
8875
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
8307
8876
  # },
8308
8877
  # noncurrent_version_expiration: {
8309
8878
  # noncurrent_days: 1,
@@ -8335,12 +8904,13 @@ module Aws::S3
8335
8904
  #
8336
8905
  # @!attribute [rw] noncurrent_version_transition
8337
8906
  # Container for the transition rule that describes when noncurrent
8338
- # objects transition to the STANDARD\_IA, ONEZONE\_IA, or GLACIER
8339
- # storage class. If your bucket is versioning-enabled (or versioning
8340
- # is suspended), you can set this action to request that Amazon S3
8341
- # transition noncurrent object versions to the STANDARD\_IA,
8342
- # ONEZONE\_IA, or GLACIER storage class at a specific period in the
8343
- # object's lifetime.
8907
+ # objects transition to the STANDARD\_IA, ONEZONE\_IA,
8908
+ # INTELLIGENT\_TIERING, GLACIER or DEEP\_ARCHIVE storage class. If
8909
+ # your bucket is versioning-enabled (or versioning is suspended), you
8910
+ # can set this action to request that Amazon S3 transition noncurrent
8911
+ # object versions to the STANDARD\_IA, ONEZONE\_IA,
8912
+ # INTELLIGENT\_TIERING, GLACIER or DEEP\_ARCHIVE storage class at a
8913
+ # specific period in the object's lifetime.
8344
8914
  # @return [Types::NoncurrentVersionTransition]
8345
8915
  #
8346
8916
  # @!attribute [rw] noncurrent_version_expiration
@@ -8439,7 +9009,7 @@ module Aws::S3
8439
9009
  # value: "MetadataValue",
8440
9010
  # },
8441
9011
  # ],
8442
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
9012
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
8443
9013
  # }
8444
9014
  #
8445
9015
  # @!attribute [rw] bucket_name
@@ -8540,7 +9110,7 @@ module Aws::S3
8540
9110
  #
8541
9111
  #
8542
9112
  #
8543
- # [1]: http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html
9113
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html
8544
9114
  #
8545
9115
  # @note When making an API call, you may pass SelectObjectContentRequest
8546
9116
  # data as a hash:
@@ -8602,7 +9172,7 @@ module Aws::S3
8602
9172
  #
8603
9173
  #
8604
9174
  #
8605
- # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
9175
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
8606
9176
  # @return [String]
8607
9177
  #
8608
9178
  # @!attribute [rw] sse_customer_key
@@ -8611,7 +9181,7 @@ module Aws::S3
8611
9181
  #
8612
9182
  #
8613
9183
  #
8614
- # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
9184
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
8615
9185
  # @return [String]
8616
9186
  #
8617
9187
  # @!attribute [rw] sse_customer_key_md5
@@ -8620,7 +9190,7 @@ module Aws::S3
8620
9190
  #
8621
9191
  #
8622
9192
  #
8623
- # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
9193
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
8624
9194
  # @return [String]
8625
9195
  #
8626
9196
  # @!attribute [rw] expression
@@ -9037,7 +9607,7 @@ module Aws::S3
9037
9607
  # {
9038
9608
  # id: "NotificationId",
9039
9609
  # topic_arn: "TopicArn", # required
9040
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
9610
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
9041
9611
  # filter: {
9042
9612
  # key: {
9043
9613
  # filter_rules: [
@@ -9072,7 +9642,7 @@ module Aws::S3
9072
9642
  #
9073
9643
  #
9074
9644
  #
9075
- # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
9645
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
9076
9646
  # @return [Types::NotificationConfigurationFilter]
9077
9647
  #
9078
9648
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TopicConfiguration AWS API Documentation
@@ -9090,8 +9660,8 @@ module Aws::S3
9090
9660
  #
9091
9661
  # {
9092
9662
  # id: "NotificationId",
9093
- # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
9094
- # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
9663
+ # events: ["s3:ReducedRedundancyLostObject"], # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
9664
+ # event: "s3:ReducedRedundancyLostObject", # accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
9095
9665
  # topic: "TopicArn",
9096
9666
  # }
9097
9667
  #
@@ -9129,7 +9699,7 @@ module Aws::S3
9129
9699
  # {
9130
9700
  # date: Time.now,
9131
9701
  # days: 1,
9132
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
9702
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
9133
9703
  # }
9134
9704
  #
9135
9705
  # @!attribute [rw] date
@@ -9259,7 +9829,7 @@ module Aws::S3
9259
9829
  # must use the form bytes=first-last, where the first and last are the
9260
9830
  # zero-based byte offsets to copy. For example, bytes=0-9 indicates
9261
9831
  # that you want to copy the first ten bytes of the source. You can
9262
- # copy a range only if the source object is greater than 5 GB.
9832
+ # copy a range only if the source object is greater than 5 MB.
9263
9833
  # @return [String]
9264
9834
  #
9265
9835
  # @!attribute [rw] key