aws-sdk-s3control 1.29.0 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -50,6 +50,11 @@ module Aws::S3Control
50
50
  # @!attribute [rw] vpc_configuration
51
51
  # The virtual private cloud (VPC) configuration for this access point,
52
52
  # if one exists.
53
+ #
54
+ # <note markdown="1"> This element is empty if this access point is an Amazon S3 on
55
+ # Outposts access point that is used by other AWS services.
56
+ #
57
+ # </note>
53
58
  # @return [Types::VpcConfiguration]
54
59
  #
55
60
  # @!attribute [rw] bucket
@@ -137,6 +142,35 @@ module Aws::S3Control
137
142
  include Aws::Structure
138
143
  end
139
144
 
145
+ # AWS Lambda function used to transform objects through an Object Lambda
146
+ # Access Point.
147
+ #
148
+ # @note When making an API call, you may pass AwsLambdaTransformation
149
+ # data as a hash:
150
+ #
151
+ # {
152
+ # function_arn: "FunctionArnString", # required
153
+ # function_payload: "AwsLambdaTransformationPayload",
154
+ # }
155
+ #
156
+ # @!attribute [rw] function_arn
157
+ # The Amazon Resource Name (ARN) of the AWS Lambda function.
158
+ # @return [String]
159
+ #
160
+ # @!attribute [rw] function_payload
161
+ # Additional JSON that provides supplemental data to the Lambda
162
+ # function used to transform objects.
163
+ # @return [String]
164
+ #
165
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/AwsLambdaTransformation AWS API Documentation
166
+ #
167
+ class AwsLambdaTransformation < Struct.new(
168
+ :function_arn,
169
+ :function_payload)
170
+ SENSITIVE = []
171
+ include Aws::Structure
172
+ end
173
+
140
174
  # @!attribute [rw] message
141
175
  # @return [String]
142
176
  #
@@ -203,6 +237,65 @@ module Aws::S3Control
203
237
  include Aws::Structure
204
238
  end
205
239
 
240
+ # @note When making an API call, you may pass CreateAccessPointForObjectLambdaRequest
241
+ # data as a hash:
242
+ #
243
+ # {
244
+ # account_id: "AccountId", # required
245
+ # name: "ObjectLambdaAccessPointName", # required
246
+ # configuration: { # required
247
+ # supporting_access_point: "ObjectLambdaSupportingAccessPointArn", # required
248
+ # cloud_watch_metrics_enabled: false,
249
+ # allowed_features: ["GetObject-Range"], # accepts GetObject-Range, GetObject-PartNumber
250
+ # transformation_configurations: [ # required
251
+ # {
252
+ # actions: ["GetObject"], # required, accepts GetObject
253
+ # content_transformation: { # required
254
+ # aws_lambda: {
255
+ # function_arn: "FunctionArnString", # required
256
+ # function_payload: "AwsLambdaTransformationPayload",
257
+ # },
258
+ # },
259
+ # },
260
+ # ],
261
+ # },
262
+ # }
263
+ #
264
+ # @!attribute [rw] account_id
265
+ # The AWS account ID for owner of the specified Object Lambda Access
266
+ # Point.
267
+ # @return [String]
268
+ #
269
+ # @!attribute [rw] name
270
+ # The name you want to assign to this Object Lambda Access Point.
271
+ # @return [String]
272
+ #
273
+ # @!attribute [rw] configuration
274
+ # Object Lambda Access Point configuration as a JSON document.
275
+ # @return [Types::ObjectLambdaConfiguration]
276
+ #
277
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPointForObjectLambdaRequest AWS API Documentation
278
+ #
279
+ class CreateAccessPointForObjectLambdaRequest < Struct.new(
280
+ :account_id,
281
+ :name,
282
+ :configuration)
283
+ SENSITIVE = []
284
+ include Aws::Structure
285
+ end
286
+
287
+ # @!attribute [rw] object_lambda_access_point_arn
288
+ # Specifies the ARN for the Object Lambda Access Point.
289
+ # @return [String]
290
+ #
291
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPointForObjectLambdaResult AWS API Documentation
292
+ #
293
+ class CreateAccessPointForObjectLambdaResult < Struct.new(
294
+ :object_lambda_access_point_arn)
295
+ SENSITIVE = []
296
+ include Aws::Structure
297
+ end
298
+
206
299
  # @note When making an API call, you may pass CreateAccessPointRequest
207
300
  # data as a hash:
208
301
  #
@@ -258,17 +351,8 @@ module Aws::S3Control
258
351
  # @return [Types::VpcConfiguration]
259
352
  #
260
353
  # @!attribute [rw] public_access_block_configuration
261
- # The `PublicAccessBlock` configuration that you want to apply to this
262
- # Amazon S3 account. You can enable the configuration options in any
263
- # combination. For more information about when Amazon S3 considers a
264
- # bucket or object public, see [The Meaning of "Public"][1] in the
265
- # *Amazon Simple Storage Service Developer Guide*.
266
- #
267
- # This is not supported for Amazon S3 on Outposts.
268
- #
269
- #
270
- #
271
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
354
+ # The `PublicAccessBlock` configuration that you want to apply to the
355
+ # access point.
272
356
  # @return [Types::PublicAccessBlockConfiguration]
273
357
  #
274
358
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/CreateAccessPointRequest AWS API Documentation
@@ -528,6 +612,7 @@ module Aws::S3Control
528
612
  # object_lock_legal_hold_status: "OFF", # accepts OFF, ON
529
613
  # object_lock_mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
530
614
  # object_lock_retain_until_date: Time.now,
615
+ # bucket_key_enabled: false,
531
616
  # },
532
617
  # s3_put_object_acl: {
533
618
  # access_control_policy: {
@@ -620,8 +705,7 @@ module Aws::S3Control
620
705
  # @!attribute [rw] operation
621
706
  # The action that you want this job to perform on every object listed
622
707
  # in the manifest. For more information about the available actions,
623
- # see [Operations][1] in the *Amazon Simple Storage Service User
624
- # Guide*.
708
+ # see [Operations][1] in the *Amazon S3 User Guide*.
625
709
  #
626
710
  #
627
711
  #
@@ -697,6 +781,59 @@ module Aws::S3Control
697
781
  include Aws::Structure
698
782
  end
699
783
 
784
+ # @note When making an API call, you may pass DeleteAccessPointForObjectLambdaRequest
785
+ # data as a hash:
786
+ #
787
+ # {
788
+ # account_id: "AccountId", # required
789
+ # name: "ObjectLambdaAccessPointName", # required
790
+ # }
791
+ #
792
+ # @!attribute [rw] account_id
793
+ # The account ID for the account that owns the specified Object Lambda
794
+ # Access Point.
795
+ # @return [String]
796
+ #
797
+ # @!attribute [rw] name
798
+ # The name of the access point you want to delete.
799
+ # @return [String]
800
+ #
801
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointForObjectLambdaRequest AWS API Documentation
802
+ #
803
+ class DeleteAccessPointForObjectLambdaRequest < Struct.new(
804
+ :account_id,
805
+ :name)
806
+ SENSITIVE = []
807
+ include Aws::Structure
808
+ end
809
+
810
+ # @note When making an API call, you may pass DeleteAccessPointPolicyForObjectLambdaRequest
811
+ # data as a hash:
812
+ #
813
+ # {
814
+ # account_id: "AccountId", # required
815
+ # name: "ObjectLambdaAccessPointName", # required
816
+ # }
817
+ #
818
+ # @!attribute [rw] account_id
819
+ # The account ID for the account that owns the specified Object Lambda
820
+ # Access Point.
821
+ # @return [String]
822
+ #
823
+ # @!attribute [rw] name
824
+ # The name of the Object Lambda Access Point you want to delete the
825
+ # policy for.
826
+ # @return [String]
827
+ #
828
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/DeleteAccessPointPolicyForObjectLambdaRequest AWS API Documentation
829
+ #
830
+ class DeleteAccessPointPolicyForObjectLambdaRequest < Struct.new(
831
+ :account_id,
832
+ :name)
833
+ SENSITIVE = []
834
+ include Aws::Structure
835
+ end
836
+
700
837
  # @note When making an API call, you may pass DeleteAccessPointPolicyRequest
701
838
  # data as a hash:
702
839
  #
@@ -1090,6 +1227,133 @@ module Aws::S3Control
1090
1227
  include Aws::Structure
1091
1228
  end
1092
1229
 
1230
+ # @note When making an API call, you may pass GetAccessPointConfigurationForObjectLambdaRequest
1231
+ # data as a hash:
1232
+ #
1233
+ # {
1234
+ # account_id: "AccountId", # required
1235
+ # name: "ObjectLambdaAccessPointName", # required
1236
+ # }
1237
+ #
1238
+ # @!attribute [rw] account_id
1239
+ # The account ID for the account that owns the specified Object Lambda
1240
+ # Access Point.
1241
+ # @return [String]
1242
+ #
1243
+ # @!attribute [rw] name
1244
+ # The name of the Object Lambda Access Point you want to return the
1245
+ # configuration for.
1246
+ # @return [String]
1247
+ #
1248
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointConfigurationForObjectLambdaRequest AWS API Documentation
1249
+ #
1250
+ class GetAccessPointConfigurationForObjectLambdaRequest < Struct.new(
1251
+ :account_id,
1252
+ :name)
1253
+ SENSITIVE = []
1254
+ include Aws::Structure
1255
+ end
1256
+
1257
+ # @!attribute [rw] configuration
1258
+ # Object Lambda Access Point configuration document.
1259
+ # @return [Types::ObjectLambdaConfiguration]
1260
+ #
1261
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointConfigurationForObjectLambdaResult AWS API Documentation
1262
+ #
1263
+ class GetAccessPointConfigurationForObjectLambdaResult < Struct.new(
1264
+ :configuration)
1265
+ SENSITIVE = []
1266
+ include Aws::Structure
1267
+ end
1268
+
1269
+ # @note When making an API call, you may pass GetAccessPointForObjectLambdaRequest
1270
+ # data as a hash:
1271
+ #
1272
+ # {
1273
+ # account_id: "AccountId", # required
1274
+ # name: "ObjectLambdaAccessPointName", # required
1275
+ # }
1276
+ #
1277
+ # @!attribute [rw] account_id
1278
+ # The account ID for the account that owns the specified Object Lambda
1279
+ # Access Point.
1280
+ # @return [String]
1281
+ #
1282
+ # @!attribute [rw] name
1283
+ # The name of the Object Lambda Access Point.
1284
+ # @return [String]
1285
+ #
1286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointForObjectLambdaRequest AWS API Documentation
1287
+ #
1288
+ class GetAccessPointForObjectLambdaRequest < Struct.new(
1289
+ :account_id,
1290
+ :name)
1291
+ SENSITIVE = []
1292
+ include Aws::Structure
1293
+ end
1294
+
1295
+ # @!attribute [rw] name
1296
+ # The name of the Object Lambda Access Point.
1297
+ # @return [String]
1298
+ #
1299
+ # @!attribute [rw] public_access_block_configuration
1300
+ # Configuration to block all public access. This setting is turned on
1301
+ # and can not be edited.
1302
+ # @return [Types::PublicAccessBlockConfiguration]
1303
+ #
1304
+ # @!attribute [rw] creation_date
1305
+ # The date and time when the specified Object Lambda Access Point was
1306
+ # created.
1307
+ # @return [Time]
1308
+ #
1309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointForObjectLambdaResult AWS API Documentation
1310
+ #
1311
+ class GetAccessPointForObjectLambdaResult < Struct.new(
1312
+ :name,
1313
+ :public_access_block_configuration,
1314
+ :creation_date)
1315
+ SENSITIVE = []
1316
+ include Aws::Structure
1317
+ end
1318
+
1319
+ # @note When making an API call, you may pass GetAccessPointPolicyForObjectLambdaRequest
1320
+ # data as a hash:
1321
+ #
1322
+ # {
1323
+ # account_id: "AccountId", # required
1324
+ # name: "ObjectLambdaAccessPointName", # required
1325
+ # }
1326
+ #
1327
+ # @!attribute [rw] account_id
1328
+ # The account ID for the account that owns the specified Object Lambda
1329
+ # Access Point.
1330
+ # @return [String]
1331
+ #
1332
+ # @!attribute [rw] name
1333
+ # The name of the Object Lambda Access Point.
1334
+ # @return [String]
1335
+ #
1336
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyForObjectLambdaRequest AWS API Documentation
1337
+ #
1338
+ class GetAccessPointPolicyForObjectLambdaRequest < Struct.new(
1339
+ :account_id,
1340
+ :name)
1341
+ SENSITIVE = []
1342
+ include Aws::Structure
1343
+ end
1344
+
1345
+ # @!attribute [rw] policy
1346
+ # Object Lambda Access Point resource policy document.
1347
+ # @return [String]
1348
+ #
1349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyForObjectLambdaResult AWS API Documentation
1350
+ #
1351
+ class GetAccessPointPolicyForObjectLambdaResult < Struct.new(
1352
+ :policy)
1353
+ SENSITIVE = []
1354
+ include Aws::Structure
1355
+ end
1356
+
1093
1357
  # @note When making an API call, you may pass GetAccessPointPolicyRequest
1094
1358
  # data as a hash:
1095
1359
  #
@@ -1140,6 +1404,51 @@ module Aws::S3Control
1140
1404
  include Aws::Structure
1141
1405
  end
1142
1406
 
1407
+ # @note When making an API call, you may pass GetAccessPointPolicyStatusForObjectLambdaRequest
1408
+ # data as a hash:
1409
+ #
1410
+ # {
1411
+ # account_id: "AccountId", # required
1412
+ # name: "ObjectLambdaAccessPointName", # required
1413
+ # }
1414
+ #
1415
+ # @!attribute [rw] account_id
1416
+ # The account ID for the account that owns the specified Object Lambda
1417
+ # Access Point.
1418
+ # @return [String]
1419
+ #
1420
+ # @!attribute [rw] name
1421
+ # The name of the Object Lambda Access Point.
1422
+ # @return [String]
1423
+ #
1424
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusForObjectLambdaRequest AWS API Documentation
1425
+ #
1426
+ class GetAccessPointPolicyStatusForObjectLambdaRequest < Struct.new(
1427
+ :account_id,
1428
+ :name)
1429
+ SENSITIVE = []
1430
+ include Aws::Structure
1431
+ end
1432
+
1433
+ # @!attribute [rw] policy_status
1434
+ # Indicates whether this access point policy is public. For more
1435
+ # information about how Amazon S3 evaluates policies to determine
1436
+ # whether they are public, see [The Meaning of "Public"][1] in the
1437
+ # *Amazon S3 User Guide*.
1438
+ #
1439
+ #
1440
+ #
1441
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
1442
+ # @return [Types::PolicyStatus]
1443
+ #
1444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/GetAccessPointPolicyStatusForObjectLambdaResult AWS API Documentation
1445
+ #
1446
+ class GetAccessPointPolicyStatusForObjectLambdaResult < Struct.new(
1447
+ :policy_status)
1448
+ SENSITIVE = []
1449
+ include Aws::Structure
1450
+ end
1451
+
1143
1452
  # @note When making an API call, you may pass GetAccessPointPolicyStatusRequest
1144
1453
  # data as a hash:
1145
1454
  #
@@ -1239,6 +1548,11 @@ module Aws::S3Control
1239
1548
  # @!attribute [rw] vpc_configuration
1240
1549
  # Contains the virtual private cloud (VPC) configuration for the
1241
1550
  # specified access point.
1551
+ #
1552
+ # <note markdown="1"> This element is empty if this access point is an Amazon S3 on
1553
+ # Outposts access point that is used by other AWS services.
1554
+ #
1555
+ # </note>
1242
1556
  # @return [Types::VpcConfiguration]
1243
1557
  #
1244
1558
  # @!attribute [rw] public_access_block_configuration
@@ -1246,7 +1560,7 @@ module Aws::S3Control
1246
1560
  # Amazon S3 account. You can enable the configuration options in any
1247
1561
  # combination. For more information about when Amazon S3 considers a
1248
1562
  # bucket or object public, see [The Meaning of "Public"][1] in the
1249
- # *Amazon Simple Storage Service Developer Guide*.
1563
+ # *Amazon S3 User Guide*.
1250
1564
  #
1251
1565
  # This is not supported for Amazon S3 on Outposts.
1252
1566
  #
@@ -1991,7 +2305,7 @@ module Aws::S3Control
1991
2305
 
1992
2306
  # The operation that you want this job to perform on every object listed
1993
2307
  # in the manifest. For more information about the available operations,
1994
- # see [Operations][1] in the *Amazon Simple Storage Service User Guide*.
2308
+ # see [Operations][1] in the *Amazon S3 User Guide*.
1995
2309
  #
1996
2310
  #
1997
2311
  #
@@ -2049,6 +2363,7 @@ module Aws::S3Control
2049
2363
  # object_lock_legal_hold_status: "OFF", # accepts OFF, ON
2050
2364
  # object_lock_mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
2051
2365
  # object_lock_retain_until_date: Time.now,
2366
+ # bucket_key_enabled: false,
2052
2367
  # },
2053
2368
  # s3_put_object_acl: {
2054
2369
  # access_control_policy: {
@@ -2134,7 +2449,7 @@ module Aws::S3Control
2134
2449
  # operation that an S3 Batch Operations job passes every object to the
2135
2450
  # underlying `PutObjectLegalHold` API. For more information, see
2136
2451
  # [Using S3 Object Lock legal hold with S3 Batch Operations][1] in the
2137
- # *Amazon Simple Storage Service User Guide*.
2452
+ # *Amazon S3 User Guide*.
2138
2453
  #
2139
2454
  #
2140
2455
  #
@@ -2146,7 +2461,7 @@ module Aws::S3Control
2146
2461
  # action for an S3 Batch Operations job. Batch Operations passes every
2147
2462
  # object to the underlying `PutObjectRetention` API. For more
2148
2463
  # information, see [Using S3 Object Lock retention with S3 Batch
2149
- # Operations][1] in the *Amazon Simple Storage Service User Guide*.
2464
+ # Operations][1] in the *Amazon S3 User Guide*.
2150
2465
  #
2151
2466
  #
2152
2467
  #
@@ -2482,7 +2797,7 @@ module Aws::S3Control
2482
2797
  # upload that Amazon S3 waits before permanently removing all parts of
2483
2798
  # the upload. For more information, see [ Aborting Incomplete
2484
2799
  # Multipart Uploads Using a Bucket Lifecycle Policy][1] in the *Amazon
2485
- # Simple Storage Service Developer Guide*.
2800
+ # S3 User Guide*.
2486
2801
  #
2487
2802
  #
2488
2803
  #
@@ -2588,6 +2903,64 @@ module Aws::S3Control
2588
2903
  include Aws::Structure
2589
2904
  end
2590
2905
 
2906
+ # @note When making an API call, you may pass ListAccessPointsForObjectLambdaRequest
2907
+ # data as a hash:
2908
+ #
2909
+ # {
2910
+ # account_id: "AccountId", # required
2911
+ # next_token: "NonEmptyMaxLength1024String",
2912
+ # max_results: 1,
2913
+ # }
2914
+ #
2915
+ # @!attribute [rw] account_id
2916
+ # The account ID for the account that owns the specified Object Lambda
2917
+ # Access Point.
2918
+ # @return [String]
2919
+ #
2920
+ # @!attribute [rw] next_token
2921
+ # If the list has more access points than can be returned in one call
2922
+ # to this API, this field contains a continuation token that you can
2923
+ # provide in subsequent calls to this API to retrieve additional
2924
+ # access points.
2925
+ # @return [String]
2926
+ #
2927
+ # @!attribute [rw] max_results
2928
+ # The maximum number of access points that you want to include in the
2929
+ # list. If there are more than this number of access points, then the
2930
+ # response will include a continuation token in the `NextToken` field
2931
+ # that you can use to retrieve the next page of access points.
2932
+ # @return [Integer]
2933
+ #
2934
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsForObjectLambdaRequest AWS API Documentation
2935
+ #
2936
+ class ListAccessPointsForObjectLambdaRequest < Struct.new(
2937
+ :account_id,
2938
+ :next_token,
2939
+ :max_results)
2940
+ SENSITIVE = []
2941
+ include Aws::Structure
2942
+ end
2943
+
2944
+ # @!attribute [rw] object_lambda_access_point_list
2945
+ # Returns list of Object Lambda Access Points.
2946
+ # @return [Array<Types::ObjectLambdaAccessPoint>]
2947
+ #
2948
+ # @!attribute [rw] next_token
2949
+ # If the list has more access points than can be returned in one call
2950
+ # to this API, this field contains a continuation token that you can
2951
+ # provide in subsequent calls to this API to retrieve additional
2952
+ # access points.
2953
+ # @return [String]
2954
+ #
2955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ListAccessPointsForObjectLambdaResult AWS API Documentation
2956
+ #
2957
+ class ListAccessPointsForObjectLambdaResult < Struct.new(
2958
+ :object_lambda_access_point_list,
2959
+ :next_token)
2960
+ SENSITIVE = []
2961
+ include Aws::Structure
2962
+ end
2963
+
2591
2964
  # @note When making an API call, you may pass ListAccessPointsRequest
2592
2965
  # data as a hash:
2593
2966
  #
@@ -2895,8 +3268,7 @@ module Aws::S3Control
2895
3268
  # Specifies the number of days an object is noncurrent before Amazon
2896
3269
  # S3 can perform the associated action. For information about the
2897
3270
  # noncurrent days calculations, see [How Amazon S3 Calculates When an
2898
- # Object Became Noncurrent][1] in the *Amazon Simple Storage Service
2899
- # Developer Guide*.
3271
+ # Object Became Noncurrent][1] in the *Amazon S3 User Guide*.
2900
3272
  #
2901
3273
  #
2902
3274
  #
@@ -2925,8 +3297,8 @@ module Aws::S3Control
2925
3297
  # Specifies the number of days an object is noncurrent before Amazon
2926
3298
  # S3 can perform the associated action. For information about the
2927
3299
  # noncurrent days calculations, see [ How Amazon S3 Calculates How
2928
- # Long an Object Has Been Noncurrent][1] in the *Amazon Simple Storage
2929
- # Service Developer Guide*.
3300
+ # Long an Object Has Been Noncurrent][1] in the *Amazon S3 User
3301
+ # Guide*.
2930
3302
  #
2931
3303
  #
2932
3304
  #
@@ -2957,10 +3329,142 @@ module Aws::S3Control
2957
3329
  include Aws::Structure
2958
3330
  end
2959
3331
 
3332
+ # An access point with an attached AWS Lambda function used to access
3333
+ # transformed data from an Amazon S3 bucket.
3334
+ #
3335
+ # @!attribute [rw] name
3336
+ # The name of the Object Lambda Access Point.
3337
+ # @return [String]
3338
+ #
3339
+ # @!attribute [rw] object_lambda_access_point_arn
3340
+ # Specifies the ARN for the Object Lambda Access Point.
3341
+ # @return [String]
3342
+ #
3343
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ObjectLambdaAccessPoint AWS API Documentation
3344
+ #
3345
+ class ObjectLambdaAccessPoint < Struct.new(
3346
+ :name,
3347
+ :object_lambda_access_point_arn)
3348
+ SENSITIVE = []
3349
+ include Aws::Structure
3350
+ end
3351
+
3352
+ # A configuration used when creating an Object Lambda Access Point.
3353
+ #
3354
+ # @note When making an API call, you may pass ObjectLambdaConfiguration
3355
+ # data as a hash:
3356
+ #
3357
+ # {
3358
+ # supporting_access_point: "ObjectLambdaSupportingAccessPointArn", # required
3359
+ # cloud_watch_metrics_enabled: false,
3360
+ # allowed_features: ["GetObject-Range"], # accepts GetObject-Range, GetObject-PartNumber
3361
+ # transformation_configurations: [ # required
3362
+ # {
3363
+ # actions: ["GetObject"], # required, accepts GetObject
3364
+ # content_transformation: { # required
3365
+ # aws_lambda: {
3366
+ # function_arn: "FunctionArnString", # required
3367
+ # function_payload: "AwsLambdaTransformationPayload",
3368
+ # },
3369
+ # },
3370
+ # },
3371
+ # ],
3372
+ # }
3373
+ #
3374
+ # @!attribute [rw] supporting_access_point
3375
+ # Standard access point associated with the Object Lambda Access
3376
+ # Point.
3377
+ # @return [String]
3378
+ #
3379
+ # @!attribute [rw] cloud_watch_metrics_enabled
3380
+ # A container for whether the CloudWatch metrics configuration is
3381
+ # enabled.
3382
+ # @return [Boolean]
3383
+ #
3384
+ # @!attribute [rw] allowed_features
3385
+ # A container for allowed features. Valid inputs are `GetObject-Range`
3386
+ # and `GetObject-PartNumber`.
3387
+ # @return [Array<String>]
3388
+ #
3389
+ # @!attribute [rw] transformation_configurations
3390
+ # A container for transformation configurations for an Object Lambda
3391
+ # Access Point.
3392
+ # @return [Array<Types::ObjectLambdaTransformationConfiguration>]
3393
+ #
3394
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ObjectLambdaConfiguration AWS API Documentation
3395
+ #
3396
+ class ObjectLambdaConfiguration < Struct.new(
3397
+ :supporting_access_point,
3398
+ :cloud_watch_metrics_enabled,
3399
+ :allowed_features,
3400
+ :transformation_configurations)
3401
+ SENSITIVE = []
3402
+ include Aws::Structure
3403
+ end
3404
+
3405
+ # A container for AwsLambdaTransformation.
3406
+ #
3407
+ # @note When making an API call, you may pass ObjectLambdaContentTransformation
3408
+ # data as a hash:
3409
+ #
3410
+ # {
3411
+ # aws_lambda: {
3412
+ # function_arn: "FunctionArnString", # required
3413
+ # function_payload: "AwsLambdaTransformationPayload",
3414
+ # },
3415
+ # }
3416
+ #
3417
+ # @!attribute [rw] aws_lambda
3418
+ # A container for an AWS Lambda function.
3419
+ # @return [Types::AwsLambdaTransformation]
3420
+ #
3421
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ObjectLambdaContentTransformation AWS API Documentation
3422
+ #
3423
+ class ObjectLambdaContentTransformation < Struct.new(
3424
+ :aws_lambda)
3425
+ SENSITIVE = []
3426
+ include Aws::Structure
3427
+ end
3428
+
3429
+ # A configuration used when creating an Object Lambda Access Point
3430
+ # transformation.
3431
+ #
3432
+ # @note When making an API call, you may pass ObjectLambdaTransformationConfiguration
3433
+ # data as a hash:
3434
+ #
3435
+ # {
3436
+ # actions: ["GetObject"], # required, accepts GetObject
3437
+ # content_transformation: { # required
3438
+ # aws_lambda: {
3439
+ # function_arn: "FunctionArnString", # required
3440
+ # function_payload: "AwsLambdaTransformationPayload",
3441
+ # },
3442
+ # },
3443
+ # }
3444
+ #
3445
+ # @!attribute [rw] actions
3446
+ # A container for the action of an Object Lambda Access Point
3447
+ # configuration. Valid input is `GetObject`.
3448
+ # @return [Array<String>]
3449
+ #
3450
+ # @!attribute [rw] content_transformation
3451
+ # A container for the content transformation of an Object Lambda
3452
+ # Access Point configuration.
3453
+ # @return [Types::ObjectLambdaContentTransformation]
3454
+ #
3455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/ObjectLambdaTransformationConfiguration AWS API Documentation
3456
+ #
3457
+ class ObjectLambdaTransformationConfiguration < Struct.new(
3458
+ :actions,
3459
+ :content_transformation)
3460
+ SENSITIVE = []
3461
+ include Aws::Structure
3462
+ end
3463
+
2960
3464
  # Indicates whether this access point policy is public. For more
2961
3465
  # information about how Amazon S3 evaluates policies to determine
2962
3466
  # whether they are public, see [The Meaning of "Public"][1] in the
2963
- # *Amazon Simple Storage Service User Guide*.
3467
+ # *Amazon S3 User Guide*.
2964
3468
  #
2965
3469
  #
2966
3470
  #
@@ -3040,7 +3544,7 @@ module Aws::S3Control
3040
3544
  # Amazon S3 account. You can enable the configuration options in any
3041
3545
  # combination. For more information about when Amazon S3 considers a
3042
3546
  # bucket or object public, see [The Meaning of "Public"][1] in the
3043
- # *Amazon Simple Storage Service Developer Guide*.
3547
+ # *Amazon S3 User Guide*.
3044
3548
  #
3045
3549
  # This is not supported for Amazon S3 on Outposts.
3046
3550
  #
@@ -3123,6 +3627,85 @@ module Aws::S3Control
3123
3627
  include Aws::Structure
3124
3628
  end
3125
3629
 
3630
+ # @note When making an API call, you may pass PutAccessPointConfigurationForObjectLambdaRequest
3631
+ # data as a hash:
3632
+ #
3633
+ # {
3634
+ # account_id: "AccountId", # required
3635
+ # name: "ObjectLambdaAccessPointName", # required
3636
+ # configuration: { # required
3637
+ # supporting_access_point: "ObjectLambdaSupportingAccessPointArn", # required
3638
+ # cloud_watch_metrics_enabled: false,
3639
+ # allowed_features: ["GetObject-Range"], # accepts GetObject-Range, GetObject-PartNumber
3640
+ # transformation_configurations: [ # required
3641
+ # {
3642
+ # actions: ["GetObject"], # required, accepts GetObject
3643
+ # content_transformation: { # required
3644
+ # aws_lambda: {
3645
+ # function_arn: "FunctionArnString", # required
3646
+ # function_payload: "AwsLambdaTransformationPayload",
3647
+ # },
3648
+ # },
3649
+ # },
3650
+ # ],
3651
+ # },
3652
+ # }
3653
+ #
3654
+ # @!attribute [rw] account_id
3655
+ # The account ID for the account that owns the specified Object Lambda
3656
+ # Access Point.
3657
+ # @return [String]
3658
+ #
3659
+ # @!attribute [rw] name
3660
+ # The name of the Object Lambda Access Point.
3661
+ # @return [String]
3662
+ #
3663
+ # @!attribute [rw] configuration
3664
+ # Object Lambda Access Point configuration document.
3665
+ # @return [Types::ObjectLambdaConfiguration]
3666
+ #
3667
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointConfigurationForObjectLambdaRequest AWS API Documentation
3668
+ #
3669
+ class PutAccessPointConfigurationForObjectLambdaRequest < Struct.new(
3670
+ :account_id,
3671
+ :name,
3672
+ :configuration)
3673
+ SENSITIVE = []
3674
+ include Aws::Structure
3675
+ end
3676
+
3677
+ # @note When making an API call, you may pass PutAccessPointPolicyForObjectLambdaRequest
3678
+ # data as a hash:
3679
+ #
3680
+ # {
3681
+ # account_id: "AccountId", # required
3682
+ # name: "ObjectLambdaAccessPointName", # required
3683
+ # policy: "ObjectLambdaPolicy", # required
3684
+ # }
3685
+ #
3686
+ # @!attribute [rw] account_id
3687
+ # The account ID for the account that owns the specified Object Lambda
3688
+ # Access Point.
3689
+ # @return [String]
3690
+ #
3691
+ # @!attribute [rw] name
3692
+ # The name of the Object Lambda Access Point.
3693
+ # @return [String]
3694
+ #
3695
+ # @!attribute [rw] policy
3696
+ # Object Lambda Access Point resource policy document.
3697
+ # @return [String]
3698
+ #
3699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicyForObjectLambdaRequest AWS API Documentation
3700
+ #
3701
+ class PutAccessPointPolicyForObjectLambdaRequest < Struct.new(
3702
+ :account_id,
3703
+ :name,
3704
+ :policy)
3705
+ SENSITIVE = []
3706
+ include Aws::Structure
3707
+ end
3708
+
3126
3709
  # @note When making an API call, you may pass PutAccessPointPolicyRequest
3127
3710
  # data as a hash:
3128
3711
  #
@@ -3158,12 +3741,12 @@ module Aws::S3Control
3158
3741
  # @!attribute [rw] policy
3159
3742
  # The policy that you want to apply to the specified access point. For
3160
3743
  # more information about access point policies, see [Managing data
3161
- # access with Amazon S3 Access Points][1] in the *Amazon Simple
3162
- # Storage Service User Guide*.
3744
+ # access with Amazon S3 access points][1] in the *Amazon S3 User
3745
+ # Guide*.
3163
3746
  #
3164
3747
  #
3165
3748
  #
3166
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-points.html
3749
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
3167
3750
  # @return [String]
3168
3751
  #
3169
3752
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/PutAccessPointPolicyRequest AWS API Documentation
@@ -3796,6 +4379,7 @@ module Aws::S3Control
3796
4379
  # object_lock_legal_hold_status: "OFF", # accepts OFF, ON
3797
4380
  # object_lock_mode: "COMPLIANCE", # accepts COMPLIANCE, GOVERNANCE
3798
4381
  # object_lock_retain_until_date: Time.now,
4382
+ # bucket_key_enabled: false,
3799
4383
  # }
3800
4384
  #
3801
4385
  # @!attribute [rw] target_resource
@@ -3863,6 +4447,16 @@ module Aws::S3Control
3863
4447
  # all objects in the Batch Operations job.
3864
4448
  # @return [Time]
3865
4449
  #
4450
+ # @!attribute [rw] bucket_key_enabled
4451
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
4452
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
4453
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket
4454
+ # Key for object encryption with SSE-KMS.
4455
+ #
4456
+ # Specifying this header with an *object* action doesn’t affect
4457
+ # *bucket-level* settings for S3 Bucket Key.
4458
+ # @return [Boolean]
4459
+ #
3866
4460
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3control-2018-08-20/S3CopyObjectOperation AWS API Documentation
3867
4461
  #
3868
4462
  class S3CopyObjectOperation < Struct.new(
@@ -3881,7 +4475,8 @@ module Aws::S3Control
3881
4475
  :target_key_prefix,
3882
4476
  :object_lock_legal_hold_status,
3883
4477
  :object_lock_mode,
3884
- :object_lock_retain_until_date)
4478
+ :object_lock_retain_until_date,
4479
+ :bucket_key_enabled)
3885
4480
  SENSITIVE = []
3886
4481
  include Aws::Structure
3887
4482
  end
@@ -4123,8 +4718,8 @@ module Aws::S3Control
4123
4718
  # objects in the S3 Batch Operations job. If you don't provide `Mode`
4124
4719
  # and `RetainUntilDate` data types in your operation, you will remove
4125
4720
  # the retention from your objects. For more information, see [Using S3
4126
- # Object Lock retention with S3 Batch Operations][1] in the *Amazon
4127
- # Simple Storage Service User Guide*.
4721
+ # Object Lock retention with S3 Batch Operations][1] in the *Amazon S3
4722
+ # User Guide*.
4128
4723
  #
4129
4724
  #
4130
4725
  #
@@ -4205,8 +4800,8 @@ module Aws::S3Control
4205
4800
  # Contains the configuration for an S3 Object Lock legal hold operation
4206
4801
  # that an S3 Batch Operations job passes every object to the underlying
4207
4802
  # `PutObjectLegalHold` API. For more information, see [Using S3 Object
4208
- # Lock legal hold with S3 Batch Operations][1] in the *Amazon Simple
4209
- # Storage Service User Guide*.
4803
+ # Lock legal hold with S3 Batch Operations][1] in the *Amazon S3 User
4804
+ # Guide*.
4210
4805
  #
4211
4806
  #
4212
4807
  #
@@ -4238,7 +4833,7 @@ module Aws::S3Control
4238
4833
  # action for an S3 Batch Operations job. Batch Operations passes every
4239
4834
  # object to the underlying `PutObjectRetention` API. For more
4240
4835
  # information, see [Using S3 Object Lock retention with S3 Batch
4241
- # Operations][1] in the *Amazon Simple Storage Service User Guide*.
4836
+ # Operations][1] in the *Amazon S3 User Guide*.
4242
4837
  #
4243
4838
  #
4244
4839
  #
@@ -4264,8 +4859,8 @@ module Aws::S3Control
4264
4859
  # @!attribute [rw] retention
4265
4860
  # Contains the Object Lock retention mode to be applied to all objects
4266
4861
  # in the Batch Operations job. For more information, see [Using S3
4267
- # Object Lock retention with S3 Batch Operations][1] in the *Amazon
4268
- # Simple Storage Service User Guide*.
4862
+ # Object Lock retention with S3 Batch Operations][1] in the *Amazon S3
4863
+ # User Guide*.
4269
4864
  #
4270
4865
  #
4271
4866
  #
@@ -4684,8 +5279,8 @@ module Aws::S3Control
4684
5279
 
4685
5280
  # Specifies when an object transitions to a specified storage class. For
4686
5281
  # more information about Amazon S3 Lifecycle configuration rules, see [
4687
- # Transitioning objects using Amazon S3 Lifecycle][1] in the *Amazon
4688
- # Simple Storage Service User Guide*.
5282
+ # Transitioning objects using Amazon S3 Lifecycle][1] in the *Amazon S3
5283
+ # User Guide*.
4689
5284
  #
4690
5285
  #
4691
5286
  #