aws-sdk-s3control 1.29.0 → 1.34.0

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